diff options
Diffstat (limited to 'editor')
462 files changed, 8484 insertions, 56233 deletions
diff --git a/editor/action_map_editor.cpp b/editor/action_map_editor.cpp index dc0c62fbc9..eabe0a95e2 100644 --- a/editor/action_map_editor.cpp +++ b/editor/action_map_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -612,7 +612,7 @@ InputEventConfigurationDialog::InputEventConfigurationDialog() { add_child(main_vbox); tab_container = memnew(TabContainer); - tab_container->set_tab_align(TabContainer::TabAlign::ALIGN_LEFT); + tab_container->set_tab_alignment(TabContainer::ALIGNMENT_LEFT); tab_container->set_use_hidden_tabs_for_min_size(true); tab_container->set_v_size_flags(Control::SIZE_EXPAND_FILL); tab_container->connect("tab_selected", callable_mp(this, &InputEventConfigurationDialog::_tab_selected)); @@ -622,7 +622,7 @@ InputEventConfigurationDialog::InputEventConfigurationDialog() { VBoxContainer *vb = memnew(VBoxContainer); vb->set_name(TTR("Listen for Input")); event_as_text = memnew(Label); - event_as_text->set_align(Label::ALIGN_CENTER); + event_as_text->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); vb->add_child(event_as_text); // Mouse button detection rect (Mouse button event outside this ColorRect will be ignored) mouse_detection_rect = memnew(ColorRect); @@ -761,7 +761,7 @@ void ActionMapEditor::_add_action_pressed() { } void ActionMapEditor::_add_action(const String &p_name) { - if (p_name == "" || !_is_action_name_valid(p_name)) { + if (p_name.is_empty() || !_is_action_name_valid(p_name)) { show_message(TTR("Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or '\"'")); return; } @@ -785,7 +785,7 @@ void ActionMapEditor::_action_edited() { return; } - if (new_name == "" || !_is_action_name_valid(new_name)) { + if (new_name.is_empty() || !_is_action_name_valid(new_name)) { ti->set_text(0, old_name); show_message(TTR("Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or '\"'")); return; diff --git a/editor/action_map_editor.h b/editor/action_map_editor.h index e55cab3510..cf2d871469 100644 --- a/editor/action_map_editor.h +++ b/editor/action_map_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/animation_bezier_editor.cpp b/editor/animation_bezier_editor.cpp index f7f88ad0d5..1085d34c4e 100644 --- a/editor/animation_bezier_editor.cpp +++ b/editor/animation_bezier_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -381,7 +381,7 @@ void AnimationBezierTrackEdit::_notification(int p_what) { draw_line(Point2(limit, i), Point2(right_limit, i), lc, Math::round(EDSCALE)); Color c = color; c.a *= 0.5; - draw_string(font, Point2(limit + 8, i - 2), TS->format_number(rtos(Math::snapped((iv + 1) * scale, step))), HALIGN_LEFT, -1, font_size, c); + draw_string(font, Point2(limit + 8, i - 2), TS->format_number(rtos(Math::snapped((iv + 1) * scale, step))), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, c); } first = false; @@ -452,8 +452,8 @@ void AnimationBezierTrackEdit::_notification(int p_what) { ep.point_rect.size = bezier_icon->get_size(); if (selection.has(i)) { draw_texture(selected_icon, ep.point_rect.position); - draw_string(font, ep.point_rect.position + Vector2(8, -font->get_height(font_size) - 8), TTR("Time:") + " " + TS->format_number(rtos(Math::snapped(offset, 0.001))), HALIGN_LEFT, -1, font_size, accent); - draw_string(font, ep.point_rect.position + Vector2(8, -8), TTR("Value:") + " " + TS->format_number(rtos(Math::snapped(value, 0.001))), HALIGN_LEFT, -1, font_size, accent); + draw_string(font, ep.point_rect.position + Vector2(8, -font->get_height(font_size) - 8), TTR("Time:") + " " + TS->format_number(rtos(Math::snapped(offset, 0.001))), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, accent); + draw_string(font, ep.point_rect.position + Vector2(8, -8), TTR("Value:") + " " + TS->format_number(rtos(Math::snapped(value, 0.001))), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, accent); } else { draw_texture(bezier_icon, ep.point_rect.position); } @@ -663,7 +663,7 @@ void AnimationBezierTrackEdit::gui_input(const Ref<InputEvent> &p_event) { if (mb.is_valid() && mb->get_button_index() == MouseButton::RIGHT && mb->is_pressed()) { menu_insert_key = mb->get_position(); if (menu_insert_key.x >= timeline->get_name_limit() && menu_insert_key.x <= get_size().width - timeline->get_buttons_width()) { - Vector2 popup_pos = get_global_transform().xform(mb->get_position()); + Vector2 popup_pos = get_screen_position() + mb->get_position(); menu->clear(); menu->add_icon_item(bezier_icon, TTR("Insert Key Here"), MENU_KEY_INSERT); diff --git a/editor/animation_bezier_editor.h b/editor/animation_bezier_editor.h index 4b46777cfe..d9bc85a258 100644 --- a/editor/animation_bezier_editor.h +++ b/editor/animation_bezier_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/animation_track_editor.cpp b/editor/animation_track_editor.cpp index 6fce55f8e3..f4e719f552 100644 --- a/editor/animation_track_editor.cpp +++ b/editor/animation_track_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -39,6 +39,7 @@ #include "editor_scale.h" #include "scene/animation/animation_player.h" #include "scene/main/window.h" +#include "scene/scene_string_names.h" #include "servers/audio/audio_stream.h" class AnimationTrackKeyEdit : public Object { @@ -649,7 +650,7 @@ public: List<StringName> anims; ap->get_animation_list(&anims); for (const StringName &E : anims) { - if (animations != String()) { + if (!animations.is_empty()) { animations += ","; } @@ -658,7 +659,7 @@ public: } } - if (animations != String()) { + if (!animations.is_empty()) { animations += ","; } animations += "[stop]"; @@ -1331,7 +1332,7 @@ public: List<StringName> anims; ap->get_animation_list(&anims); for (List<StringName>::Element *G = anims.front(); G; G = G->next()) { - if (animations != String()) { + if (!animations.is_empty()) { animations += ","; } @@ -1340,7 +1341,7 @@ public: } } - if (animations != String()) { + if (!animations.is_empty()) { animations += ","; } animations += "[stop]"; @@ -1621,7 +1622,7 @@ void AnimationTimelineEdit::_notification(int p_what) { if (frame != prev_frame && i >= prev_frame_ofs) { draw_line(Point2(get_name_limit() + i, 0), Point2(get_name_limit() + i, h), linecolor, Math::round(EDSCALE)); - draw_string(font, Point2(get_name_limit() + i + 3 * EDSCALE, (h - font->get_height(font_size)) / 2 + font->get_ascent(font_size)).floor(), itos(frame), HALIGN_LEFT, zoomw - i, font_size, sub ? color_time_dec : color_time_sec); + draw_string(font, Point2(get_name_limit() + i + 3 * EDSCALE, (h - font->get_height(font_size)) / 2 + font->get_ascent(font_size)).floor(), itos(frame), HORIZONTAL_ALIGNMENT_LEFT, zoomw - i, font_size, sub ? color_time_dec : color_time_sec); prev_frame_ofs = i + font->get_string_size(itos(frame), font_size).x + 5 * EDSCALE; } } @@ -1639,7 +1640,7 @@ void AnimationTimelineEdit::_notification(int p_what) { if ((sc / step) != (prev_sc / step) || (prev_sc < 0 && sc >= 0)) { int scd = sc < 0 ? prev_sc : sc; draw_line(Point2(get_name_limit() + i, 0), Point2(get_name_limit() + i, h), linecolor, Math::round(EDSCALE)); - draw_string(font, Point2(get_name_limit() + i + 3, (h - font->get_height(font_size)) / 2 + font->get_ascent(font_size)).floor(), String::num((scd - (scd % step)) / double(SC_ADJ), decimals), HALIGN_LEFT, zoomw - i, font_size, sub ? color_time_dec : color_time_sec); + draw_string(font, Point2(get_name_limit() + i + 3, (h - font->get_height(font_size)) / 2 + font->get_ascent(font_size)).floor(), String::num((scd - (scd % step)) / double(SC_ADJ), decimals), HORIZONTAL_ALIGNMENT_LEFT, zoomw - i, font_size, sub ? color_time_dec : color_time_sec); } } } @@ -2028,7 +2029,7 @@ void AnimationTrackEdit::_notification(int p_what) { Vector2 string_pos = Point2(ofs, (get_size().height - font->get_height(font_size)) / 2 + font->get_ascent(font_size)); string_pos = string_pos.floor(); - draw_string(font, string_pos, text, HALIGN_LEFT, limit - ofs - hsep, font_size, text_color); + draw_string(font, string_pos, text, HORIZONTAL_ALIGNMENT_LEFT, limit - ofs - hsep, font_size, text_color); draw_line(Point2(limit, 0), Point2(limit, get_size().height), linecolor, Math::round(EDSCALE)); } @@ -2339,7 +2340,7 @@ void AnimationTrackEdit::draw_key(int p_index, float p_pixels_sec, int p_x, bool int limit = MAX(0, p_clip_right - p_x - icon_to_draw->get_width()); if (limit > 0) { - draw_string(font, Vector2(p_x + icon_to_draw->get_width(), int(get_size().height - font->get_height(font_size)) / 2 + font->get_ascent(font_size)), text, HALIGN_LEFT, limit, font_size, color); + draw_string(font, Vector2(p_x + icon_to_draw->get_width(), int(get_size().height - font->get_height(font_size)) / 2 + font->get_ascent(font_size)), text, HORIZONTAL_ALIGNMENT_LEFT, limit, font_size, color); } } @@ -2664,7 +2665,7 @@ String AnimationTrackEdit::get_tooltip(const Point2 &p_pos) const { if (stream.is_valid()) { if (stream->get_path().is_resource_file()) { stream_name = stream->get_path().get_file(); - } else if (stream->get_name() != "") { + } else if (!stream->get_name().is_empty()) { stream_name = stream->get_name(); } else { stream_name = stream->get_class(); @@ -2872,13 +2873,18 @@ void AnimationTrackEdit::gui_input(const Ref<InputEvent> &p_event) { if (editor->is_selection_active()) { menu->add_separator(); menu->add_icon_item(get_theme_icon(SNAME("Duplicate"), SNAME("EditorIcons")), TTR("Duplicate Key(s)"), MENU_KEY_DUPLICATE); + + AnimationPlayer *player = AnimationPlayerEditor::get_singleton()->get_player(); + if (!player->has_animation(SceneStringNames::get_singleton()->RESET) || animation != player->get_animation(SceneStringNames::get_singleton()->RESET)) { + menu->add_icon_item(get_theme_icon(SNAME("Reload"), SNAME("EditorIcons")), TTR("Add RESET Value(s)"), MENU_KEY_ADD_RESET); + } + menu->add_separator(); menu->add_icon_item(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), TTR("Delete Key(s)"), MENU_KEY_DELETE); } menu->set_as_minsize(); - Vector2 popup_pos = get_screen_transform().xform(get_local_mouse_position()); - menu->set_position(popup_pos); + menu->set_position(get_screen_position() + get_local_mouse_position()); menu->popup(); insert_at_pos = offset + timeline->get_value(); @@ -3061,6 +3067,9 @@ void AnimationTrackEdit::_menu_selected(int p_index) { } break; case MENU_KEY_DUPLICATE: { emit_signal(SNAME("duplicate_request")); + } break; + case MENU_KEY_ADD_RESET: { + emit_signal(SNAME("create_reset_request")); } break; case MENU_KEY_DELETE: { @@ -3123,6 +3132,7 @@ void AnimationTrackEdit::_bind_methods() { ADD_SIGNAL(MethodInfo("move_selection_cancel")); ADD_SIGNAL(MethodInfo("duplicate_request")); + ADD_SIGNAL(MethodInfo("create_reset_request")); ADD_SIGNAL(MethodInfo("duplicate_transpose_request")); ADD_SIGNAL(MethodInfo("delete_request")); } @@ -3224,7 +3234,7 @@ void AnimationTrackEditGroup::_notification(int p_what) { int ofs = 0; draw_texture(icon, Point2(ofs, int(get_size().height - icon->get_height()) / 2)); ofs += separation + icon->get_width(); - draw_string(font, Point2(ofs, int(get_size().height - font->get_height(font_size)) / 2 + font->get_ascent(font_size)), node_name, HALIGN_LEFT, timeline->get_name_limit() - ofs, font_size, color); + draw_string(font, Point2(ofs, int(get_size().height - font->get_height(font_size)) / 2 + font->get_ascent(font_size)), node_name, HORIZONTAL_ALIGNMENT_LEFT, timeline->get_name_limit() - ofs, font_size, color); int px = (-timeline->get_value() + timeline->get_play_position()) * timeline->get_zoom_scale() + timeline->get_name_limit(); @@ -3240,7 +3250,7 @@ void AnimationTrackEditGroup::set_type_and_name(const Ref<Texture2D> &p_type, co node_name = p_name; node = p_node; update(); - minimum_size_changed(); + update_minimum_size(); } Size2 AnimationTrackEditGroup::get_minimum_size() const { @@ -3380,7 +3390,7 @@ Dictionary AnimationTrackEditor::get_state() const { state["fps_mode"] = timeline->is_using_fps(); state["zoom"] = zoom->get_value(); state["offset"] = timeline->get_value(); - state["v_scroll"] = scroll->get_v_scrollbar()->get_value(); + state["v_scroll"] = scroll->get_v_scroll_bar()->get_value(); return state; } @@ -3408,9 +3418,9 @@ void AnimationTrackEditor::set_state(const Dictionary &p_state) { timeline->set_value(0); } if (p_state.has("v_scroll")) { - scroll->get_v_scrollbar()->set_value(p_state["v_scroll"]); + scroll->get_v_scroll_bar()->set_value(p_state["v_scroll"]); } else { - scroll->get_v_scrollbar()->set_value(0); + scroll->get_v_scroll_bar()->set_value(0); } } @@ -3505,7 +3515,7 @@ void AnimationTrackEditor::make_insert_queue() { void AnimationTrackEditor::commit_insert_queue() { bool reset_allowed = true; AnimationPlayer *player = AnimationPlayerEditor::get_singleton()->get_player(); - if (player->has_animation("RESET") && player->get_animation("RESET") == animation) { + if (player->has_animation(SceneStringNames::get_singleton()->RESET) && player->get_animation(SceneStringNames::get_singleton()->RESET) == animation) { // Avoid messing with the reset animation itself. reset_allowed = false; } else { @@ -3647,7 +3657,7 @@ void AnimationTrackEditor::insert_transform_key(Node3D *p_node, const String &p_ // Let's build a node path. String path = root->get_path_to(p_node); - if (p_sub != "") { + if (!p_sub.is_empty()) { path += ":" + p_sub; } @@ -3687,7 +3697,7 @@ bool AnimationTrackEditor::has_track(Node3D *p_node, const String &p_sub, const // Let's build a node path. String path = root->get_path_to(p_node); - if (p_sub != "") { + if (!p_sub.is_empty()) { path += ":" + p_sub; } @@ -3752,7 +3762,7 @@ void AnimationTrackEditor::insert_node_value_key(Node *p_node, const String &p_p EditorHistory *history = EditorNode::get_singleton()->get_editor_history(); for (int i = 1; i < history->get_path_size(); i++) { String prop = history->get_path_property(i); - ERR_FAIL_COND(prop == ""); + ERR_FAIL_COND(prop.is_empty()); path += ":" + prop; } @@ -3852,7 +3862,7 @@ void AnimationTrackEditor::insert_value_key(const String &p_property, const Vari for (int i = 1; i < history->get_path_size(); i++) { String prop = history->get_path_property(i); - ERR_FAIL_COND(prop == ""); + ERR_FAIL_COND(prop.is_empty()); path += ":" + prop; } @@ -3925,15 +3935,15 @@ void AnimationTrackEditor::insert_value_key(const String &p_property, const Vari Ref<Animation> AnimationTrackEditor::_create_and_get_reset_animation() { AnimationPlayer *player = AnimationPlayerEditor::get_singleton()->get_player(); - if (player->has_animation("RESET")) { - return player->get_animation("RESET"); + if (player->has_animation(SceneStringNames::get_singleton()->RESET)) { + return player->get_animation(SceneStringNames::get_singleton()->RESET); } else { Ref<Animation> reset_anim; reset_anim.instantiate(); reset_anim->set_length(ANIM_MIN_LENGTH); - undo_redo->add_do_method(player, "add_animation", "RESET", reset_anim); + undo_redo->add_do_method(player, "add_animation", SceneStringNames::get_singleton()->RESET, reset_anim); undo_redo->add_do_method(AnimationPlayerEditor::get_singleton(), "_animation_player_changed", player); - undo_redo->add_undo_method(player, "remove_animation", "RESET"); + undo_redo->add_undo_method(player, "remove_animation", SceneStringNames::get_singleton()->RESET); undo_redo->add_undo_method(AnimationPlayerEditor::get_singleton(), "_animation_player_changed", player); return reset_anim; } @@ -4388,6 +4398,7 @@ void AnimationTrackEditor::_update_tracks() { track_edit->connect("duplicate_request", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed), varray(EDIT_DUPLICATE_SELECTION), CONNECT_DEFERRED); track_edit->connect("duplicate_transpose_request", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed), varray(EDIT_DUPLICATE_TRANSPOSED), CONNECT_DEFERRED); + track_edit->connect("create_reset_request", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed), varray(EDIT_ADD_RESET_KEY), CONNECT_DEFERRED); track_edit->connect("delete_request", callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed), varray(EDIT_DELETE_SELECTION), CONNECT_DEFERRED); } } @@ -5720,6 +5731,55 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) { } _anim_duplicate_keys(true); } break; + case EDIT_ADD_RESET_KEY: { + undo_redo->create_action(TTR("Anim Add RESET Keys")); + Ref<Animation> reset = _create_and_get_reset_animation(); + int reset_tracks = reset->get_track_count(); + Set<int> tracks_added; + + for (const KeyValue<SelectedKey, KeyInfo> &E : selection) { + const SelectedKey &sk = E.key; + + // Only add one key per track. + if (tracks_added.has(sk.track)) { + continue; + } + tracks_added.insert(sk.track); + + int dst_track = -1; + + const NodePath &path = animation->track_get_path(sk.track); + for (int i = 0; i < reset->get_track_count(); i++) { + if (reset->track_get_path(i) == path) { + dst_track = i; + break; + } + } + + int existing_idx = -1; + if (dst_track == -1) { + // If adding multiple tracks, make sure that correct track is referenced. + dst_track = reset_tracks; + reset_tracks++; + + undo_redo->add_do_method(reset.ptr(), "add_track", animation->track_get_type(sk.track)); + undo_redo->add_do_method(reset.ptr(), "track_set_path", dst_track, path); + undo_redo->add_undo_method(reset.ptr(), "remove_track", dst_track); + } else { + existing_idx = reset->track_find_key(dst_track, 0, true); + } + + undo_redo->add_do_method(reset.ptr(), "track_insert_key", dst_track, 0, animation->track_get_key_value(sk.track, sk.key), animation->track_get_key_transition(sk.track, sk.key)); + undo_redo->add_undo_method(reset.ptr(), "track_remove_key_at_time", dst_track, 0); + + if (existing_idx != -1) { + undo_redo->add_undo_method(reset.ptr(), "track_insert_key", dst_track, 0, reset->track_get_key_value(dst_track, existing_idx), reset->track_get_key_transition(dst_track, existing_idx)); + } + } + + undo_redo->commit_action(); + + } break; case EDIT_DELETE_SELECTION: { if (bezier_edit->is_visible()) { bezier_edit->delete_selection(); @@ -5961,7 +6021,7 @@ void AnimationTrackEditor::_pick_track_select_recursive(TreeItem *p_item, const NodePath np = p_item->get_metadata(0); Node *node = get_node(np); - if (p_filter != String() && ((String)node->get_name()).findn(p_filter) != -1) { + if (!p_filter.is_empty() && ((String)node->get_name()).findn(p_filter) != -1) { p_select_candidates.push_back(node); } @@ -6012,8 +6072,8 @@ AnimationTrackEditor::AnimationTrackEditor() { info_message = memnew(Label); info_message->set_text(TTR("Select an AnimationPlayer node to create and edit animations.")); - info_message->set_valign(Label::VALIGN_CENTER); - info_message->set_align(Label::ALIGN_CENTER); + info_message->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER); + info_message->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); info_message->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART); info_message->set_custom_minimum_size(Size2(100 * EDSCALE, 0)); info_message->set_anchors_and_offsets_preset(PRESET_WIDE, PRESET_MODE_KEEP_SIZE, 8 * EDSCALE); @@ -6031,7 +6091,7 @@ AnimationTrackEditor::AnimationTrackEditor() { scroll = memnew(ScrollContainer); timeline_vbox->add_child(scroll); scroll->set_v_size_flags(SIZE_EXPAND_FILL); - VScrollBar *sb = scroll->get_v_scrollbar(); + VScrollBar *sb = scroll->get_v_scroll_bar(); scroll->remove_child(sb); timeline_scroll->add_child(sb); // Move here so timeline and tracks are always aligned. scroll->connect("gui_input", callable_mp(this, &AnimationTrackEditor::_scroll_input)); @@ -6057,8 +6117,7 @@ AnimationTrackEditor::AnimationTrackEditor() { track_vbox = memnew(VBoxContainer); scroll->add_child(track_vbox); track_vbox->set_h_size_flags(SIZE_EXPAND_FILL); - scroll->set_enable_h_scroll(false); - scroll->set_enable_v_scroll(true); + scroll->set_horizontal_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED); track_vbox->add_theme_constant_override("separation", 0); HBoxContainer *bottom_hb = memnew(HBoxContainer); @@ -6144,6 +6203,7 @@ AnimationTrackEditor::AnimationTrackEditor() { edit->get_popup()->add_separator(); edit->get_popup()->add_shortcut(ED_SHORTCUT("animation_editor/duplicate_selection", TTR("Duplicate Selection"), KeyModifierMask::CMD | Key::D), EDIT_DUPLICATE_SELECTION); edit->get_popup()->add_shortcut(ED_SHORTCUT("animation_editor/duplicate_selection_transposed", TTR("Duplicate Transposed"), KeyModifierMask::SHIFT | KeyModifierMask::CMD | Key::D), EDIT_DUPLICATE_TRANSPOSED); + edit->get_popup()->add_shortcut(ED_SHORTCUT("animation_editor/add_reset_value", TTR("Add RESET Value(s)"))); edit->get_popup()->add_separator(); edit->get_popup()->add_shortcut(ED_SHORTCUT("animation_editor/delete_selection", TTR("Delete Selection"), Key::KEY_DELETE), EDIT_DELETE_SELECTION); diff --git a/editor/animation_track_editor.h b/editor/animation_track_editor.h index 2bdc1d4107..b5d44bc0d3 100644 --- a/editor/animation_track_editor.h +++ b/editor/animation_track_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -140,6 +140,7 @@ class AnimationTrackEdit : public Control { MENU_LOOP_CLAMP, MENU_KEY_INSERT, MENU_KEY_DUPLICATE, + MENU_KEY_ADD_RESET, MENU_KEY_DELETE }; AnimationTimelineEdit *timeline; @@ -500,6 +501,7 @@ public: EDIT_SCALE_CONFIRM, EDIT_DUPLICATE_SELECTION, EDIT_DUPLICATE_TRANSPOSED, + EDIT_ADD_RESET_KEY, EDIT_DELETE_SELECTION, EDIT_GOTO_NEXT_STEP, EDIT_GOTO_PREV_STEP, diff --git a/editor/animation_track_editor_plugins.cpp b/editor/animation_track_editor_plugins.cpp index dd3e08b299..a6d2225bdc 100644 --- a/editor/animation_track_editor_plugins.cpp +++ b/editor/animation_track_editor_plugins.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -699,7 +699,7 @@ void AnimationTrackEditSubAnim::draw_key(int p_index, float p_pixels_sec, int p_ int limit = to_x - from_x - 4; if (limit > 0) { - draw_string(font, Point2(from_x + 2, int(get_size().height - font->get_height(font_size)) / 2 + font->get_ascent(font_size)), anim, HALIGN_LEFT, -1, font_size, color); + draw_string(font, Point2(from_x + 2, int(get_size().height - font->get_height(font_size)) / 2 + font->get_ascent(font_size)), anim, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, color); } if (p_selected) { @@ -1272,7 +1272,7 @@ void AnimationTrackEditTypeAnimation::draw_key(int p_index, float p_pixels_sec, int limit = to_x - from_x - 4; if (limit > 0) { - draw_string(font, Point2(from_x + 2, int(get_size().height - font->get_height(font_size)) / 2 + font->get_ascent(font_size)), anim, HALIGN_LEFT, -1, font_size, color); + draw_string(font, Point2(from_x + 2, int(get_size().height - font->get_height(font_size)) / 2 + font->get_ascent(font_size)), anim, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, color); } if (p_selected) { diff --git a/editor/animation_track_editor_plugins.h b/editor/animation_track_editor_plugins.h index a362422c2b..271c1a000b 100644 --- a/editor/animation_track_editor_plugins.h +++ b/editor/animation_track_editor_plugins.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/array_property_edit.cpp b/editor/array_property_edit.cpp index 09defac354..d9c6b72241 100644 --- a/editor/array_property_edit.cpp +++ b/editor/array_property_edit.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/array_property_edit.h b/editor/array_property_edit.h index d7e11936a3..a620b230cd 100644 --- a/editor/array_property_edit.h +++ b/editor/array_property_edit.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/audio_stream_preview.cpp b/editor/audio_stream_preview.cpp index 2efcdcda31..81a6f78415 100644 --- a/editor/audio_stream_preview.cpp +++ b/editor/audio_stream_preview.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/audio_stream_preview.h b/editor/audio_stream_preview.h index 9cf47fd51a..bcd80a7c03 100644 --- a/editor/audio_stream_preview.h +++ b/editor/audio_stream_preview.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -66,14 +66,13 @@ class AudioStreamPreviewGenerator : public Node { Thread *thread = nullptr; // Needed for the bookkeeping of the Map - Preview &operator=(const Preview &p_rhs) { + void operator=(const Preview &p_rhs) { preview = p_rhs.preview; base_stream = p_rhs.base_stream; playback = p_rhs.playback; generating.set_to(generating.is_set()); id = p_rhs.id; thread = p_rhs.thread; - return *this; } Preview(const Preview &p_rhs) { preview = p_rhs.preview; diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp index bfcd2dd4ca..a1704e37a7 100644 --- a/editor/code_editor.cpp +++ b/editor/code_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -624,7 +624,7 @@ FindReplaceBar::FindReplaceBar() { vbc_lineedit = memnew(VBoxContainer); add_child(vbc_lineedit); - vbc_lineedit->set_alignment(ALIGN_CENTER); + vbc_lineedit->set_alignment(BoxContainer::ALIGNMENT_CENTER); vbc_lineedit->set_h_size_flags(SIZE_EXPAND_FILL); VBoxContainer *vbc_button = memnew(VBoxContainer); add_child(vbc_button); @@ -633,10 +633,10 @@ FindReplaceBar::FindReplaceBar() { HBoxContainer *hbc_button_search = memnew(HBoxContainer); vbc_button->add_child(hbc_button_search); - hbc_button_search->set_alignment(ALIGN_END); + hbc_button_search->set_alignment(BoxContainer::ALIGNMENT_END); hbc_button_replace = memnew(HBoxContainer); vbc_button->add_child(hbc_button_replace); - hbc_button_replace->set_alignment(ALIGN_END); + hbc_button_replace->set_alignment(BoxContainer::ALIGNMENT_END); HBoxContainer *hbc_option_search = memnew(HBoxContainer); vbc_option->add_child(hbc_option_search); @@ -1314,10 +1314,10 @@ void CodeTextEditor::delete_lines() { int count = Math::abs(to_line - from_line) + 1; text_editor->set_caret_line(from_line, false); + text_editor->deselect(); for (int i = 0; i < count; i++) { _delete_line(from_line); } - text_editor->deselect(); } else { _delete_line(text_editor->get_caret_line()); } @@ -1534,7 +1534,7 @@ void CodeTextEditor::set_edit_state(const Variant &p_state) { void CodeTextEditor::set_error(const String &p_error) { error->set_text(p_error); - if (p_error != "") { + if (!p_error.is_empty()) { error->set_default_cursor_shape(CURSOR_POINTING_HAND); } else { error->set_default_cursor_shape(CURSOR_ARROW); @@ -1547,7 +1547,7 @@ void CodeTextEditor::set_error_pos(int p_line, int p_column) { } void CodeTextEditor::goto_error() { - if (error->get_text() != "") { + if (!error->get_text().is_empty()) { text_editor->unfold_line(error_line); text_editor->set_caret_line(error_line); text_editor->set_caret_column(error_column); @@ -1854,7 +1854,7 @@ CodeTextEditor::CodeTextEditor() { ScrollContainer *scroll = memnew(ScrollContainer); scroll->set_h_size_flags(SIZE_EXPAND_FILL); scroll->set_v_size_flags(SIZE_EXPAND_FILL); - scroll->set_enable_v_scroll(false); + scroll->set_vertical_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED); status_bar->add_child(scroll); error = memnew(Label); diff --git a/editor/code_editor.h b/editor/code_editor.h index 6e3bd88112..a385ae2287 100644 --- a/editor/code_editor.h +++ b/editor/code_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/connections_dialog.cpp b/editor/connections_dialog.cpp index d00fdd0ce7..8f4b677929 100644 --- a/editor/connections_dialog.cpp +++ b/editor/connections_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -38,6 +38,7 @@ #include "plugins/script_editor_plugin.h" #include "scene/gui/label.h" #include "scene/gui/popup_menu.h" +#include "scene/gui/spin_box.h" static Node *_find_first_script(Node *p_root, Node *p_node) { if (p_node != p_root && p_node->get_owner() != p_root) { @@ -111,7 +112,7 @@ public: void ConnectDialog::ok_pressed() { String method_name = dst_method->get_text(); - if (method_name == "") { + if (method_name.is_empty()) { error->set_text(TTR("Method in target node must be specified.")); error->popup_centered(); return; @@ -164,6 +165,20 @@ void ConnectDialog::_tree_node_selected() { _update_ok_enabled(); } +void ConnectDialog::_unbind_count_changed(double p_count) { + for (Control *control : bind_controls) { + BaseButton *b = Object::cast_to<BaseButton>(control); + if (b) { + b->set_disabled(p_count > 0); + } + + EditorInspector *e = Object::cast_to<EditorInspector>(control); + if (e) { + e->set_read_only(p_count > 0); + } + } +} + /* * Adds a new parameter bind to connection. */ @@ -234,7 +249,7 @@ void ConnectDialog::_add_bind() { */ void ConnectDialog::_remove_bind() { String st = bind_editor->get_selected_path(); - if (st == "") { + if (st.is_empty()) { return; } int idx = st.get_slice("/", 1).to_int() - 1; @@ -305,6 +320,10 @@ void ConnectDialog::set_dst_method(const StringName &p_method) { dst_method->set_text(p_method); } +int ConnectDialog::get_unbinds() const { + return int(unbind_count->get_value()); +} + Vector<Variant> ConnectDialog::get_binds() const { return cdbinds->params; } @@ -350,6 +369,8 @@ void ConnectDialog::init(ConnectionData c, bool bEdit) { deferred->set_pressed(bDeferred); oneshot->set_pressed(bOneshot); + unbind_count->set_value(c.unbinds); + _unbind_count_changed(c.unbinds); cdbinds->params.clear(); cdbinds->params = c.binds; @@ -449,23 +470,33 @@ ConnectDialog::ConnectDialog() { type_list->add_item("Transform3D", Variant::TRANSFORM3D); type_list->add_item("Color", Variant::COLOR); type_list->select(0); + bind_controls.push_back(type_list); Button *add_bind = memnew(Button); add_bind->set_text(TTR("Add")); add_bind_hb->add_child(add_bind); add_bind->connect("pressed", callable_mp(this, &ConnectDialog::_add_bind)); + bind_controls.push_back(add_bind); Button *del_bind = memnew(Button); del_bind->set_text(TTR("Remove")); add_bind_hb->add_child(del_bind); del_bind->connect("pressed", callable_mp(this, &ConnectDialog::_remove_bind)); + bind_controls.push_back(del_bind); vbc_right->add_margin_child(TTR("Add Extra Call Argument:"), add_bind_hb); bind_editor = memnew(EditorInspector); + bind_controls.push_back(bind_editor); vbc_right->add_margin_child(TTR("Extra Call Arguments:"), bind_editor, true); + unbind_count = memnew(SpinBox); + unbind_count->set_tooltip(TTR("Allows to drop arguments sent by signal emitter.")); + unbind_count->connect("value_changed", callable_mp(this, &ConnectDialog::_unbind_count_changed)); + + vbc_right->add_margin_child(TTR("Unbind Signal Arguments:"), unbind_count); + HBoxContainer *dstm_hb = memnew(HBoxContainer); vbc_left->add_margin_child(TTR("Receiver Method:"), dstm_hb); @@ -541,26 +572,29 @@ void ConnectionsDock::_make_or_edit_connection() { Node *target = selectedNode->get_node(dst_path); ERR_FAIL_COND(!target); - ConnectDialog::ConnectionData cToMake; - cToMake.source = connect_dialog->get_source(); - cToMake.target = target; - cToMake.signal = connect_dialog->get_signal_name(); - cToMake.method = connect_dialog->get_dst_method_name(); - cToMake.binds = connect_dialog->get_binds(); + ConnectDialog::ConnectionData connection; + connection.source = connect_dialog->get_source(); + connection.target = target; + connection.signal = connect_dialog->get_signal_name(); + connection.method = connect_dialog->get_dst_method_name(); + connection.unbinds = connect_dialog->get_unbinds(); + if (connection.unbinds == 0) { + connection.binds = connect_dialog->get_binds(); + } bool defer = connect_dialog->get_deferred(); bool oshot = connect_dialog->get_oneshot(); - cToMake.flags = CONNECT_PERSIST | (defer ? CONNECT_DEFERRED : 0) | (oshot ? CONNECT_ONESHOT : 0); + connection.flags = CONNECT_PERSIST | (defer ? CONNECT_DEFERRED : 0) | (oshot ? CONNECT_ONESHOT : 0); // Conditions to add function: must have a script and must not have the method already // (in the class, the script itself, or inherited). bool add_script_function = false; Ref<Script> script = target->get_script(); - if (!target->get_script().is_null() && !ClassDB::has_method(target->get_class(), cToMake.method)) { + if (!target->get_script().is_null() && !ClassDB::has_method(target->get_class(), connection.method)) { // There is a chance that the method is inherited from another script. bool found_inherited_function = false; Ref<Script> inherited_script = script->get_base_script(); while (!inherited_script.is_null()) { - int line = inherited_script->get_language()->find_function(cToMake.method, inherited_script->get_source_code()); + int line = inherited_script->get_language()->find_function(connection.method, inherited_script->get_source_code()); if (line != -1) { found_inherited_function = true; break; @@ -575,23 +609,23 @@ void ConnectionsDock::_make_or_edit_connection() { if (add_script_function) { // Pick up args here before "it" is deleted by update_tree. script_function_args = it->get_metadata(0).operator Dictionary()["args"]; - for (int i = 0; i < cToMake.binds.size(); i++) { - script_function_args.push_back("extra_arg_" + itos(i) + ":" + Variant::get_type_name(cToMake.binds[i].get_type())); + for (int i = 0; i < connection.binds.size(); i++) { + script_function_args.push_back("extra_arg_" + itos(i) + ":" + Variant::get_type_name(connection.binds[i].get_type())); } } if (connect_dialog->is_editing()) { _disconnect(*it); - _connect(cToMake); + _connect(connection); } else { - _connect(cToMake); + _connect(connection); } // IMPORTANT NOTE: _disconnect and _connect cause an update_tree, which will delete the object "it" is pointing to. it = nullptr; if (add_script_function) { - editor->emit_signal(SNAME("script_add_function_request"), target, cToMake.method, script_function_args); + editor->emit_signal(SNAME("script_add_function_request"), target, connection.method, script_function_args); hide(); } @@ -601,20 +635,18 @@ void ConnectionsDock::_make_or_edit_connection() { /* * Creates single connection w/ undo-redo functionality. */ -void ConnectionsDock::_connect(ConnectDialog::ConnectionData cToMake) { - Node *source = static_cast<Node *>(cToMake.source); - Node *target = static_cast<Node *>(cToMake.target); +void ConnectionsDock::_connect(ConnectDialog::ConnectionData p_connection) { + Node *source = Object::cast_to<Node>(p_connection.source); + Node *target = Object::cast_to<Node>(p_connection.target); if (!source || !target) { return; } - undo_redo->create_action(vformat(TTR("Connect '%s' to '%s'"), String(cToMake.signal), String(cToMake.method))); - - Callable c(target, cToMake.method); - - undo_redo->add_do_method(source, "connect", cToMake.signal, c, cToMake.binds, cToMake.flags); - undo_redo->add_undo_method(source, "disconnect", cToMake.signal, c); + Callable callable = p_connection.get_callable(); + undo_redo->create_action(vformat(TTR("Connect '%s' to '%s'"), String(p_connection.signal), String(p_connection.method))); + undo_redo->add_do_method(source, "connect", p_connection.signal, callable, varray(), p_connection.flags); + undo_redo->add_undo_method(source, "disconnect", p_connection.signal, callable); undo_redo->add_do_method(this, "update_tree"); undo_redo->add_undo_method(this, "update_tree"); undo_redo->add_do_method(EditorNode::get_singleton()->get_scene_tree_dock()->get_tree_editor(), "update_tree"); //to force redraw of scene tree @@ -634,8 +666,9 @@ void ConnectionsDock::_disconnect(TreeItem &item) { undo_redo->create_action(vformat(TTR("Disconnect '%s' from '%s'"), c.signal, c.method)); - undo_redo->add_do_method(selectedNode, "disconnect", c.signal, Callable(c.target, c.method)); - undo_redo->add_undo_method(selectedNode, "connect", c.signal, Callable(c.target, c.method), c.binds, c.flags); + Callable callable = c.get_callable(); + undo_redo->add_do_method(selectedNode, "disconnect", c.signal, callable); + undo_redo->add_undo_method(selectedNode, "connect", c.signal, callable, c.binds, c.flags); undo_redo->add_do_method(this, "update_tree"); undo_redo->add_undo_method(this, "update_tree"); undo_redo->add_do_method(EditorNode::get_singleton()->get_scene_tree_dock()->get_tree_editor(), "update_tree"); // To force redraw of scene tree. @@ -662,8 +695,8 @@ void ConnectionsDock::_disconnect_all() { while (child) { Connection cd = child->get_metadata(0); ConnectDialog::ConnectionData c = cd; - undo_redo->add_do_method(selectedNode, "disconnect", c.signal, Callable(c.target, c.method)); - undo_redo->add_undo_method(selectedNode, "connect", c.signal, Callable(c.target, c.method), c.binds, c.flags); + undo_redo->add_do_method(selectedNode, "disconnect", c.signal, c.get_callable()); + undo_redo->add_undo_method(selectedNode, "connect", c.signal, c.get_callable(), c.binds, c.flags); child = child->get_next(); } @@ -752,8 +785,8 @@ void ConnectionsDock::_open_connection_dialog(TreeItem &item) { * Open connection dialog with Connection data to EDIT an existing connection. */ void ConnectionsDock::_open_connection_dialog(ConnectDialog::ConnectionData cToEdit) { - Node *src = static_cast<Node *>(cToEdit.source); - Node *dst = static_cast<Node *>(cToEdit.target); + Node *src = Object::cast_to<Node>(cToEdit.source); + Node *dst = Object::cast_to<Node>(cToEdit.target); if (src && dst) { const String &signalname = cToEdit.signal; @@ -838,13 +871,15 @@ void ConnectionsDock::_rmb_pressed(Vector2 position) { return; } - Vector2 global_position = tree->get_global_position() + position; + Vector2 screen_position = tree->get_screen_position() + position; if (_is_item_signal(*item)) { - signal_menu->set_position(global_position); + signal_menu->set_position(screen_position); + signal_menu->reset_size(); signal_menu->popup(); } else { - slot_menu->set_position(global_position); + slot_menu->set_position(screen_position); + slot_menu->reset_size(); slot_menu->popup(); } } @@ -967,7 +1002,7 @@ void ConnectionsDock::update_tree() { } else if (pi.type != Variant::NIL) { tname = Variant::get_type_name(pi.type); } - signaldesc += (pi.name == "" ? String("arg " + itos(i)) : pi.name) + ": " + tname; + signaldesc += (pi.name.is_empty() ? String("arg " + itos(i)) : pi.name) + ": " + tname; argnames.push_back(pi.name + ":" + tname); } } @@ -999,7 +1034,7 @@ void ConnectionsDock::update_tree() { if (!found) { DocTools *dd = EditorHelp::get_doc_data(); Map<String, DocData::ClassDoc>::Element *F = dd->class_list.find(base); - while (F && descr == String()) { + while (F && descr.is_empty()) { for (int i = 0; i < F->get().signals.size(); i++) { if (F->get().signals[i].name == signal_name.operator String()) { descr = DTR(F->get().signals[i].description); @@ -1042,7 +1077,9 @@ void ConnectionsDock::update_tree() { if (c.flags & CONNECT_ONESHOT) { path += " (oneshot)"; } - if (c.binds.size()) { + if (c.unbinds > 0) { + path += " unbinds(" + itos(c.unbinds) + ")"; + } else if (!c.binds.is_empty()) { path += " binds("; for (int i = 0; i < c.binds.size(); i++) { if (i > 0) { @@ -1055,8 +1092,7 @@ void ConnectionsDock::update_tree() { TreeItem *connection_item = tree->create_item(signal_item); connection_item->set_text(0, path); - Connection cd = c; - connection_item->set_metadata(0, cd); + connection_item->set_metadata(0, cn); connection_item->set_icon(0, get_theme_icon(SNAME("Slot"), SNAME("EditorIcons"))); } } diff --git a/editor/connections_dialog.h b/editor/connections_dialog.h index b9911c1cc5..46f92cec2b 100644 --- a/editor/connections_dialog.h +++ b/editor/connections_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -48,6 +48,7 @@ class PopupMenu; class ConnectDialogBinds; +class SpinBox; class ConnectDialog : public ConfirmationDialog { GDCLASS(ConnectDialog, ConfirmationDialog); @@ -59,25 +60,45 @@ public: StringName signal; StringName method; uint32_t flags = 0; + int unbinds = 0; Vector<Variant> binds; - ConnectionData() { - } + ConnectionData() {} + ConnectionData(const Connection &p_connection) { source = Object::cast_to<Node>(p_connection.signal.get_object()); signal = p_connection.signal.get_name(); target = Object::cast_to<Node>(p_connection.callable.get_object()); - method = p_connection.callable.get_method(); flags = p_connection.flags; - binds = p_connection.binds; + + Callable base_callable; + if (p_connection.callable.is_custom()) { + CallableCustomBind *ccb = dynamic_cast<CallableCustomBind *>(p_connection.callable.get_custom()); + if (ccb) { + binds = ccb->get_binds(); + base_callable = ccb->get_callable(); + } + + CallableCustomUnbind *ccu = dynamic_cast<CallableCustomUnbind *>(p_connection.callable.get_custom()); + if (ccu) { + unbinds = ccu->get_unbinds(); + base_callable = ccu->get_callable(); + } + } else { + base_callable = p_connection.callable; + } + method = base_callable.get_method(); } - operator Connection() { - Connection c; - c.signal = ::Signal(source, signal); - c.callable = Callable(target, method); - c.flags = flags; - c.binds = binds; - return c; + + Callable get_callable() { + if (unbinds > 0) { + return Callable(target, method).unbind(unbinds); + } else if (!binds.is_empty()) { + const Variant *args = binds.ptr(); + return Callable(target, method).bind(&args, binds.size()); + } else { + return Callable(target, method); + } } }; @@ -94,11 +115,13 @@ private: SceneTreeEditor *tree; AcceptDialog *error; + SpinBox *unbind_count; EditorInspector *bind_editor; OptionButton *type_list; CheckBox *deferred; CheckBox *oneshot; CheckButton *advanced; + Vector<Control *> bind_controls; Label *error_label; @@ -107,6 +130,7 @@ private: void _item_activated(); void _text_submitted(const String &_text); void _tree_node_selected(); + void _unbind_count_changed(double p_count); void _add_bind(); void _remove_bind(); void _advanced_pressed(); @@ -123,6 +147,7 @@ public: void set_dst_node(Node *p_node); StringName get_dst_method_name() const; void set_dst_method(const StringName &p_method); + int get_unbinds() const; Vector<Variant> get_binds() const; bool get_deferred() const; @@ -176,7 +201,7 @@ class ConnectionsDock : public VBoxContainer { void _filter_changed(const String &p_text); void _make_or_edit_connection(); - void _connect(ConnectDialog::ConnectionData cToMake); + void _connect(ConnectDialog::ConnectionData p_connection); void _disconnect(TreeItem &item); void _disconnect_all(); diff --git a/editor/create_dialog.cpp b/editor/create_dialog.cpp index dec4f50f03..608eab9a9f 100644 --- a/editor/create_dialog.cpp +++ b/editor/create_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -173,7 +173,7 @@ void CreateDialog::_update_search() { _configure_search_option_item(root, base_type, ClassDB::class_exists(base_type)); const String search_text = search_box->get_text(); - bool empty_search = search_text == ""; + bool empty_search = search_text.is_empty(); // Filter all candidate results. Vector<String> candidates; @@ -244,7 +244,7 @@ void CreateDialog::_configure_search_option_item(TreeItem *r_item, const String r_item->set_icon(0, EditorNode::get_singleton()->get_class_icon(p_type, icon_fallback)); } - if (search_box->get_text() != "") { + if (!search_box->get_text().is_empty()) { r_item->set_collapsed(false); } else { // Don't collapse the root node or an abstract node on the first tree level. @@ -322,7 +322,7 @@ void CreateDialog::_cleanup() { void CreateDialog::_confirmed() { String selected_item = get_selected_type(); - if (selected_item == String()) { + if (selected_item.is_empty()) { return; } @@ -339,8 +339,10 @@ void CreateDialog::_confirmed() { memdelete(f); } - emit_signal(SNAME("create")); + // To prevent, emitting an error from the transient window (shader dialog for example) hide this dialog before emitting the "create" signal. hide(); + + emit_signal(SNAME("create")); _cleanup(); } @@ -640,7 +642,7 @@ void CreateDialog::_load_favorites_and_history() { while (!f->eof_reached()) { String l = f->get_line().strip_edges(); - if (l != String()) { + if (!l.is_empty()) { favorite_list.push_back(l); } } diff --git a/editor/create_dialog.h b/editor/create_dialog.h index b08cb72f14..c36730c4f0 100644 --- a/editor/create_dialog.h +++ b/editor/create_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/debug_adapter/debug_adapter_parser.cpp b/editor/debugger/debug_adapter/debug_adapter_parser.cpp index 485d58f4a3..ff4051fc67 100644 --- a/editor/debugger/debug_adapter/debug_adapter_parser.cpp +++ b/editor/debugger/debug_adapter/debug_adapter_parser.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -109,7 +109,7 @@ Dictionary DebugAdapterParser::prepare_error_response(const Dictionary &p_params case DAP::ErrorType::UNKNOWN: default: error = "unknown"; - error_desc = "An unknown error has ocurred when processing the request."; + error_desc = "An unknown error has occurred when processing the request."; break; } @@ -412,7 +412,7 @@ Dictionary DebugAdapterParser::req_scopes(const Dictionary &p_params) const { } Dictionary DebugAdapterParser::req_variables(const Dictionary &p_params) const { - // If _remaining_vars > 0, the debugee is still sending a stack dump to the editor. + // If _remaining_vars > 0, the debuggee is still sending a stack dump to the editor. if (DebugAdapterProtocol::get_singleton()->_remaining_vars > 0) { return Dictionary(); } diff --git a/editor/debugger/debug_adapter/debug_adapter_parser.h b/editor/debugger/debug_adapter/debug_adapter_parser.h index 4c93464e39..f458151e17 100644 --- a/editor/debugger/debug_adapter/debug_adapter_parser.h +++ b/editor/debugger/debug_adapter/debug_adapter_parser.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/debug_adapter/debug_adapter_protocol.cpp b/editor/debugger/debug_adapter/debug_adapter_protocol.cpp index 2e0e6cb7c8..babe8af8bc 100644 --- a/editor/debugger/debug_adapter/debug_adapter_protocol.cpp +++ b/editor/debugger/debug_adapter/debug_adapter_protocol.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -192,10 +192,12 @@ int DebugAdapterProtocol::parse_variant(const Variant &p_var) { case Variant::VECTOR2I: { int id = variable_id++; Vector2 vec = p_var; + const String type_scalar = Variant::get_type_name(p_var.get_type() == Variant::VECTOR2 ? Variant::FLOAT : Variant::INT); DAP::Variable x, y; x.name = "x"; y.name = "y"; - x.type = y.type = Variant::get_type_name(p_var.get_type() == Variant::VECTOR2 ? Variant::FLOAT : Variant::INT); + x.type = type_scalar; + y.type = type_scalar; x.value = rtos(vec.x); y.value = rtos(vec.y); @@ -209,12 +211,16 @@ int DebugAdapterProtocol::parse_variant(const Variant &p_var) { case Variant::RECT2I: { int id = variable_id++; Rect2 rect = p_var; + const String type_scalar = Variant::get_type_name(p_var.get_type() == Variant::RECT2 ? Variant::FLOAT : Variant::INT); DAP::Variable x, y, w, h; x.name = "x"; y.name = "y"; w.name = "w"; h.name = "h"; - x.type = y.type = w.type = h.type = Variant::get_type_name(p_var.get_type() == Variant::RECT2 ? Variant::FLOAT : Variant::INT); + x.type = type_scalar; + y.type = type_scalar; + w.type = type_scalar; + h.type = type_scalar; x.value = rtos(rect.position.x); y.value = rtos(rect.position.y); w.value = rtos(rect.size.x); @@ -232,11 +238,14 @@ int DebugAdapterProtocol::parse_variant(const Variant &p_var) { case Variant::VECTOR3I: { int id = variable_id++; Vector3 vec = p_var; + const String type_scalar = Variant::get_type_name(p_var.get_type() == Variant::VECTOR3 ? Variant::FLOAT : Variant::INT); DAP::Variable x, y, z; x.name = "x"; y.name = "y"; z.name = "z"; - x.type = y.type = z.type = Variant::get_type_name(p_var.get_type() == Variant::VECTOR3 ? Variant::FLOAT : Variant::INT); + x.type = type_scalar; + y.type = type_scalar; + z.type = type_scalar; x.value = rtos(vec.x); y.value = rtos(vec.y); z.value = rtos(vec.z); @@ -251,11 +260,14 @@ int DebugAdapterProtocol::parse_variant(const Variant &p_var) { case Variant::TRANSFORM2D: { int id = variable_id++; Transform2D transform = p_var; + const String type_vec2 = Variant::get_type_name(Variant::VECTOR2); DAP::Variable x, y, origin; x.name = "x"; y.name = "y"; origin.name = "origin"; - x.type = y.type = origin.type = Variant::get_type_name(Variant::VECTOR2); + x.type = type_vec2; + y.type = type_vec2; + origin.type = type_vec2; x.value = transform.elements[0]; y.value = transform.elements[1]; origin.value = transform.elements[2]; @@ -291,12 +303,16 @@ int DebugAdapterProtocol::parse_variant(const Variant &p_var) { case Variant::QUATERNION: { int id = variable_id++; Quaternion quat = p_var; + const String type_float = Variant::get_type_name(Variant::FLOAT); DAP::Variable x, y, z, w; x.name = "x"; y.name = "y"; z.name = "z"; w.name = "w"; - x.type = y.type = z.type = w.type = Variant::get_type_name(Variant::FLOAT); + x.type = type_float; + y.type = type_float; + z.type = type_float; + w.type = type_float; x.value = rtos(quat.x); y.value = rtos(quat.y); z.value = rtos(quat.z); @@ -313,10 +329,12 @@ int DebugAdapterProtocol::parse_variant(const Variant &p_var) { case Variant::AABB: { int id = variable_id++; AABB aabb = p_var; + const String type_vec3 = Variant::get_type_name(Variant::VECTOR3); DAP::Variable position, size; position.name = "position"; size.name = "size"; - position.type = size.type = Variant::get_type_name(Variant::VECTOR3); + position.type = type_vec3; + size.type = type_vec3; position.value = aabb.position; size.value = aabb.size; position.variablesReference = parse_variant(aabb.position); @@ -331,11 +349,14 @@ int DebugAdapterProtocol::parse_variant(const Variant &p_var) { case Variant::BASIS: { int id = variable_id++; Basis basis = p_var; + const String type_vec2 = Variant::get_type_name(Variant::VECTOR2); DAP::Variable x, y, z; x.name = "x"; y.name = "y"; z.name = "z"; - x.type = y.type = z.type = Variant::get_type_name(Variant::VECTOR2); + x.type = type_vec2; + y.type = type_vec2; + z.type = type_vec2; x.value = basis.elements[0]; y.value = basis.elements[1]; z.value = basis.elements[2]; @@ -372,12 +393,16 @@ int DebugAdapterProtocol::parse_variant(const Variant &p_var) { case Variant::COLOR: { int id = variable_id++; Color color = p_var; + const String type_float = Variant::get_type_name(Variant::FLOAT); DAP::Variable r, g, b, a; r.name = "r"; g.name = "g"; b.name = "b"; a.name = "a"; - r.type = g.type = b.type = a.type = Variant::get_type_name(Variant::FLOAT); + r.type = type_float; + g.type = type_float; + b.type = type_float; + a.type = type_float; r.value = rtos(color.r); g.value = rtos(color.g); b.value = rtos(color.b); diff --git a/editor/debugger/debug_adapter/debug_adapter_protocol.h b/editor/debugger/debug_adapter/debug_adapter_protocol.h index d4291992bf..b54a5f1f3f 100644 --- a/editor/debugger/debug_adapter/debug_adapter_protocol.h +++ b/editor/debugger/debug_adapter/debug_adapter_protocol.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/debug_adapter/debug_adapter_server.cpp b/editor/debugger/debug_adapter/debug_adapter_server.cpp index 4775e2c8b0..ffbbf66015 100644 --- a/editor/debugger/debug_adapter/debug_adapter_server.cpp +++ b/editor/debugger/debug_adapter/debug_adapter_server.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/debug_adapter/debug_adapter_server.h b/editor/debugger/debug_adapter/debug_adapter_server.h index c449403cc2..a2b01f92c6 100644 --- a/editor/debugger/debug_adapter/debug_adapter_server.h +++ b/editor/debugger/debug_adapter/debug_adapter_server.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/debug_adapter/debug_adapter_types.h b/editor/debugger/debug_adapter/debug_adapter_types.h index 5156c91d14..77b70909b3 100644 --- a/editor/debugger/debug_adapter/debug_adapter_types.h +++ b/editor/debugger/debug_adapter/debug_adapter_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/editor_debugger_inspector.cpp b/editor/debugger/editor_debugger_inspector.cpp index e53f66e72e..addb168e5f 100644 --- a/editor/debugger/editor_debugger_inspector.cpp +++ b/editor/debugger/editor_debugger_inspector.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -55,9 +55,14 @@ bool EditorDebuggerRemoteObject::_get(const StringName &p_name, Variant &r_ret) } void EditorDebuggerRemoteObject::_get_property_list(List<PropertyInfo> *p_list) const { - p_list->clear(); //sorry, no want category - for (const PropertyInfo &E : prop_list) { - p_list->push_back(E); + p_list->clear(); // Sorry, no want category. + for (const PropertyInfo &prop : prop_list) { + if (prop.name == "script") { + // Skip the script property, it's always added by the non-virtual method. + continue; + } + + p_list->push_back(prop); } } diff --git a/editor/debugger/editor_debugger_inspector.h b/editor/debugger/editor_debugger_inspector.h index 6648c99c03..5cdc4417d0 100644 --- a/editor/debugger/editor_debugger_inspector.h +++ b/editor/debugger/editor_debugger_inspector.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/editor_debugger_node.cpp b/editor/debugger/editor_debugger_node.cpp index 391839d639..5bc2be60a7 100644 --- a/editor/debugger/editor_debugger_node.cpp +++ b/editor/debugger/editor_debugger_node.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -59,7 +59,7 @@ EditorDebuggerNode::EditorDebuggerNode() { add_theme_constant_override("margin_right", -EditorNode::get_singleton()->get_gui_base()->get_theme_stylebox(SNAME("BottomPanelDebuggerOverride"), SNAME("EditorStyles"))->get_margin(SIDE_RIGHT)); tabs = memnew(TabContainer); - tabs->set_tab_align(TabContainer::ALIGN_LEFT); + tabs->set_tab_alignment(TabContainer::ALIGNMENT_LEFT); tabs->set_tabs_visible(false); tabs->connect("tab_changed", callable_mp(this, &EditorDebuggerNode::_debugger_changed)); add_child(tabs); @@ -183,6 +183,11 @@ ScriptEditorDebugger *EditorDebuggerNode::get_default_debugger() const { return Object::cast_to<ScriptEditorDebugger>(tabs->get_tab_control(0)); } +String EditorDebuggerNode::get_server_uri() const { + ERR_FAIL_COND_V(server.is_null(), ""); + return server->get_uri(); +} + Error EditorDebuggerNode::start(const String &p_uri) { stop(); ERR_FAIL_COND_V(p_uri.find("://") < 0, ERR_INVALID_PARAMETER); diff --git a/editor/debugger/editor_debugger_node.h b/editor/debugger/editor_debugger_node.h index 4d9e846834..6fcdbf5f73 100644 --- a/editor/debugger/editor_debugger_node.h +++ b/editor/debugger/editor_debugger_node.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -188,8 +188,9 @@ public: void set_camera_override(CameraOverride p_override); CameraOverride get_camera_override(); - Error start(const String &p_uri = "tcp://"); + String get_server_uri() const; + Error start(const String &p_uri = "tcp://"); void stop(); void add_debugger_plugin(const Ref<Script> &p_script); diff --git a/editor/debugger/editor_debugger_server.cpp b/editor/debugger/editor_debugger_server.cpp index 8c3833af50..bce131a5fe 100644 --- a/editor/debugger/editor_debugger_server.cpp +++ b/editor/debugger/editor_debugger_server.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -41,15 +41,18 @@ class EditorDebuggerServerTCP : public EditorDebuggerServer { private: Ref<TCPServer> server; + String endpoint; public: static EditorDebuggerServer *create(const String &p_protocol); - virtual void poll() {} - virtual Error start(const String &p_uri); - virtual void stop(); - virtual bool is_active() const; - virtual bool is_connection_available() const; - virtual Ref<RemoteDebuggerPeer> take_connection(); + + virtual void poll() override {} + virtual String get_uri() const override; + virtual Error start(const String &p_uri) override; + virtual void stop() override; + virtual bool is_active() const override; + virtual bool is_connection_available() const override; + virtual Ref<RemoteDebuggerPeer> take_connection() override; EditorDebuggerServerTCP(); }; @@ -63,21 +66,42 @@ EditorDebuggerServerTCP::EditorDebuggerServerTCP() { server.instantiate(); } +String EditorDebuggerServerTCP::get_uri() const { + return endpoint; +} + Error EditorDebuggerServerTCP::start(const String &p_uri) { - int bind_port = (int)EditorSettings::get_singleton()->get("network/debug/remote_port"); + // Default host and port String bind_host = (String)EditorSettings::get_singleton()->get("network/debug/remote_host"); + int bind_port = (int)EditorSettings::get_singleton()->get("network/debug/remote_port"); + + // Optionally override if (!p_uri.is_empty() && p_uri != "tcp://") { String scheme, path; Error err = p_uri.parse_url(scheme, bind_host, bind_port, path); ERR_FAIL_COND_V(err != OK, ERR_INVALID_PARAMETER); ERR_FAIL_COND_V(!bind_host.is_valid_ip_address() && bind_host != "*", ERR_INVALID_PARAMETER); } - const Error err = server->listen(bind_port, bind_host); - if (err != OK) { - EditorNode::get_log()->add_message(String("Error listening on port ") + itos(bind_port), EditorLog::MSG_TYPE_ERROR); - return err; + + // Try listening on ports + const int max_attempts = 5; + for (int attempt = 1;; ++attempt) { + const Error err = server->listen(bind_port, bind_host); + if (err == OK) { + break; + } + if (attempt >= max_attempts) { + EditorNode::get_log()->add_message(vformat("Cannot listen on port %d, remote debugging unavailable.", bind_port), EditorLog::MSG_TYPE_ERROR); + return err; + } + int last_port = bind_port++; + EditorNode::get_log()->add_message(vformat("Cannot listen on port %d, trying %d instead.", last_port, bind_port), EditorLog::MSG_TYPE_WARNING); } - return err; + + // Endpoint that the client should connect to + endpoint = vformat("tcp://%s:%d", bind_host, bind_port); + + return OK; } void EditorDebuggerServerTCP::stop() { diff --git a/editor/debugger/editor_debugger_server.h b/editor/debugger/editor_debugger_server.h index 844d1a9e5a..bda4a1ce7d 100644 --- a/editor/debugger/editor_debugger_server.h +++ b/editor/debugger/editor_debugger_server.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -47,8 +47,10 @@ public: static void register_protocol_handler(const String &p_protocol, CreateServerFunc p_func); static EditorDebuggerServer *create(const String &p_protocol); + + virtual String get_uri() const = 0; virtual void poll() = 0; - virtual Error start(const String &p_uri = "") = 0; + virtual Error start(const String &p_uri) = 0; virtual void stop() = 0; virtual bool is_active() const = 0; virtual bool is_connection_available() const = 0; diff --git a/editor/debugger/editor_debugger_tree.cpp b/editor/debugger/editor_debugger_tree.cpp index 1feab98948..70d64615ae 100644 --- a/editor/debugger/editor_debugger_tree.cpp +++ b/editor/debugger/editor_debugger_tree.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -107,7 +107,7 @@ void EditorDebuggerTree::_scene_tree_rmb_selected(const Vector2 &p_position) { item_menu->clear(); item_menu->add_icon_item(get_theme_icon(SNAME("CreateNewSceneFrom"), SNAME("EditorIcons")), TTR("Save Branch as Scene"), ITEM_MENU_SAVE_REMOTE_NODE); item_menu->add_icon_item(get_theme_icon(SNAME("CopyNodePath"), SNAME("EditorIcons")), TTR("Copy Node Path"), ITEM_MENU_COPY_NODE_PATH); - item_menu->set_position(get_screen_transform().xform(get_local_mouse_position())); + item_menu->set_position(get_screen_position() + get_local_mouse_position()); item_menu->popup(); } diff --git a/editor/debugger/editor_debugger_tree.h b/editor/debugger/editor_debugger_tree.h index 13193344f1..58af52b01f 100644 --- a/editor/debugger/editor_debugger_tree.h +++ b/editor/debugger/editor_debugger_tree.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/editor_network_profiler.cpp b/editor/debugger/editor_network_profiler.cpp index d4385630be..698e950f57 100644 --- a/editor/debugger/editor_network_profiler.cpp +++ b/editor/debugger/editor_network_profiler.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -60,7 +60,7 @@ void EditorNetworkProfiler::_update_frame() { TreeItem *node = counters_display->create_item(root); for (int j = 0; j < counters_display->get_columns(); ++j) { - node->set_text_align(j, j > 0 ? TreeItem::ALIGN_RIGHT : TreeItem::ALIGN_LEFT); + node->set_text_alignment(j, j > 0 ? HORIZONTAL_ALIGNMENT_RIGHT : HORIZONTAL_ALIGNMENT_LEFT); } node->set_text(0, E.value.node_path); @@ -149,7 +149,7 @@ EditorNetworkProfiler::EditorNetworkProfiler() { incoming_bandwidth_text = memnew(LineEdit); incoming_bandwidth_text->set_editable(false); incoming_bandwidth_text->set_custom_minimum_size(Size2(120, 0) * EDSCALE); - incoming_bandwidth_text->set_align(LineEdit::Align::ALIGN_RIGHT); + incoming_bandwidth_text->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_RIGHT); hb->add_child(incoming_bandwidth_text); Control *down_up_spacer = memnew(Control); @@ -163,7 +163,7 @@ EditorNetworkProfiler::EditorNetworkProfiler() { outgoing_bandwidth_text = memnew(LineEdit); outgoing_bandwidth_text->set_editable(false); outgoing_bandwidth_text->set_custom_minimum_size(Size2(120, 0) * EDSCALE); - outgoing_bandwidth_text->set_align(LineEdit::Align::ALIGN_RIGHT); + outgoing_bandwidth_text->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_RIGHT); hb->add_child(outgoing_bandwidth_text); // Set initial texts in the incoming/outgoing bandwidth labels diff --git a/editor/debugger/editor_network_profiler.h b/editor/debugger/editor_network_profiler.h index 8c1da1cb2d..320dd2a826 100644 --- a/editor/debugger/editor_network_profiler.h +++ b/editor/debugger/editor_network_profiler.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/editor_performance_profiler.cpp b/editor/debugger/editor_performance_profiler.cpp index 952f46e9a5..56d1e7cee9 100644 --- a/editor/debugger/editor_performance_profiler.cpp +++ b/editor/debugger/editor_performance_profiler.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -132,14 +132,14 @@ void EditorPerformanceProfiler::_monitor_draw() { rect.size -= graph_style_box->get_minimum_size(); Color draw_color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); draw_color.set_hsv(Math::fmod(hue_shift * float(current.frame_index), 0.9f), draw_color.get_s() * 0.9f, draw_color.get_v() * value_multiplier, 0.6f); - monitor_draw->draw_string(graph_font, rect.position + Point2(0, graph_font->get_ascent(font_size)), current.item->get_text(0), HALIGN_LEFT, rect.size.x, font_size, draw_color); + monitor_draw->draw_string(graph_font, rect.position + Point2(0, graph_font->get_ascent(font_size)), current.item->get_text(0), HORIZONTAL_ALIGNMENT_LEFT, rect.size.x, font_size, draw_color); draw_color.a = 0.9f; float value_position = rect.size.width - graph_font->get_string_size(current.item->get_text(1), font_size).width; if (value_position < 0) { value_position = 0; } - monitor_draw->draw_string(graph_font, rect.position + Point2(value_position, graph_font->get_ascent(font_size)), current.item->get_text(1), HALIGN_LEFT, rect.size.x, font_size, draw_color); + monitor_draw->draw_string(graph_font, rect.position + Point2(value_position, graph_font->get_ascent(font_size)), current.item->get_text(1), HORIZONTAL_ALIGNMENT_LEFT, rect.size.x, font_size, draw_color); rect.position.y += graph_font->get_height(font_size); rect.size.height -= graph_font->get_height(font_size); @@ -152,12 +152,12 @@ void EditorPerformanceProfiler::_monitor_draw() { Color horizontal_line_color; horizontal_line_color.set_hsv(draw_color.get_h(), draw_color.get_s() * 0.5f, draw_color.get_v() * 0.5f, 0.3f); monitor_draw->draw_line(rect.position, rect.position + Vector2(rect.size.width, 0), horizontal_line_color, Math::round(EDSCALE)); - monitor_draw->draw_string(graph_font, rect.position + Vector2(0, graph_font->get_ascent(font_size)), _create_label(current.max, current.type), HALIGN_LEFT, rect.size.width, font_size, horizontal_line_color); + monitor_draw->draw_string(graph_font, rect.position + Vector2(0, graph_font->get_ascent(font_size)), _create_label(current.max, current.type), HORIZONTAL_ALIGNMENT_LEFT, rect.size.width, font_size, horizontal_line_color); for (int j = 0; j < line_count; j++) { Vector2 y_offset = Vector2(0, rect.size.height * (1.0f - float(j) / float(line_count))); monitor_draw->draw_line(rect.position + y_offset, rect.position + Vector2(rect.size.width, 0) + y_offset, horizontal_line_color, Math::round(EDSCALE)); - monitor_draw->draw_string(graph_font, rect.position - Vector2(0, graph_font->get_descent(font_size)) + y_offset, _create_label(current.max * float(j) / float(line_count), current.type), HALIGN_LEFT, rect.size.width, font_size, horizontal_line_color); + monitor_draw->draw_string(graph_font, rect.position - Vector2(0, graph_font->get_descent(font_size)) + y_offset, _create_label(current.max * float(j) / float(line_count), current.type), HORIZONTAL_ALIGNMENT_LEFT, rect.size.width, font_size, horizontal_line_color); } } @@ -191,7 +191,7 @@ void EditorPerformanceProfiler::_monitor_draw() { if (text_top_left_position.y < 0) { text_top_left_position.y = h2 + MARKER_MARGIN; } - monitor_draw->draw_string(graph_font, rect.position + text_top_left_position + Point2(0, graph_font->get_ascent(font_size)), label, HALIGN_LEFT, rect.size.x, font_size, line_color); + monitor_draw->draw_string(graph_font, rect.position + text_top_left_position + Point2(0, graph_font->get_ascent(font_size)), label, HORIZONTAL_ALIGNMENT_LEFT, rect.size.x, font_size, line_color); } prev = h2; e = e->next(); @@ -378,8 +378,8 @@ EditorPerformanceProfiler::EditorPerformanceProfiler() { info_message = memnew(Label); info_message->set_text(TTR("Pick one or more items from the list to display the graph.")); - info_message->set_valign(Label::VALIGN_CENTER); - info_message->set_align(Label::ALIGN_CENTER); + info_message->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER); + info_message->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); info_message->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART); info_message->set_custom_minimum_size(Size2(100 * EDSCALE, 0)); info_message->set_anchors_and_offsets_preset(PRESET_WIDE, PRESET_MODE_KEEP_SIZE, 8 * EDSCALE); diff --git a/editor/debugger/editor_performance_profiler.h b/editor/debugger/editor_performance_profiler.h index ea3404b208..998ecc5bb6 100644 --- a/editor/debugger/editor_performance_profiler.h +++ b/editor/debugger/editor_performance_profiler.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/editor_profiler.cpp b/editor/debugger/editor_profiler.cpp index d08ae1de8a..8e9b2a9368 100644 --- a/editor/debugger/editor_profiler.cpp +++ b/editor/debugger/editor_profiler.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -355,7 +355,7 @@ void EditorProfiler::_update_frame() { item->set_metadata(0, it.signature); item->set_metadata(1, it.script); item->set_metadata(2, it.line); - item->set_text_align(2, TreeItem::ALIGN_RIGHT); + item->set_text_alignment(2, HORIZONTAL_ALIGNMENT_RIGHT); item->set_tooltip(0, it.name + "\n" + it.script + ":" + itos(it.line)); float time = dtime == DISPLAY_SELF_TIME ? it.self : it.total; diff --git a/editor/debugger/editor_profiler.h b/editor/debugger/editor_profiler.h index 8880824b87..45f7ac39c1 100644 --- a/editor/debugger/editor_profiler.h +++ b/editor/debugger/editor_profiler.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/editor_visual_profiler.cpp b/editor/debugger/editor_visual_profiler.cpp index 4739458f8e..42b52a3b38 100644 --- a/editor/debugger/editor_visual_profiler.cpp +++ b/editor/debugger/editor_visual_profiler.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -462,7 +462,7 @@ void EditorVisualProfiler::_graph_tex_draw() { graph->draw_line(Vector2(0, frame_y), Vector2(half_width, frame_y), Color(1, 1, 1, 0.3)); String limit_str = String::num(graph_limit, 2); - graph->draw_string(font, Vector2(half_width - font->get_string_size(limit_str, font_size).x - 2, frame_y - 2), limit_str, HALIGN_LEFT, -1, font_size, Color(1, 1, 1, 0.6)); + graph->draw_string(font, Vector2(half_width - font->get_string_size(limit_str, font_size).x - 2, frame_y - 2), limit_str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, Color(1, 1, 1, 0.6)); } if (graph_height_gpu > 0) { @@ -473,11 +473,11 @@ void EditorVisualProfiler::_graph_tex_draw() { graph->draw_line(Vector2(half_width, frame_y), Vector2(graph->get_size().x, frame_y), Color(1, 1, 1, 0.3)); String limit_str = String::num(graph_limit, 2); - graph->draw_string(font, Vector2(half_width * 2 - font->get_string_size(limit_str, font_size).x - 2, frame_y - 2), limit_str, HALIGN_LEFT, -1, font_size, Color(1, 1, 1, 0.6)); + graph->draw_string(font, Vector2(half_width * 2 - font->get_string_size(limit_str, font_size).x - 2, frame_y - 2), limit_str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, Color(1, 1, 1, 0.6)); } - graph->draw_string(font, Vector2(font->get_string_size("X", font_size).x, font->get_ascent(font_size) + 2), "CPU:", HALIGN_LEFT, -1, font_size, Color(1, 1, 1, 0.8)); - graph->draw_string(font, Vector2(font->get_string_size("X", font_size).x + graph->get_size().width / 2, font->get_ascent(font_size) + 2), "GPU:", HALIGN_LEFT, -1, font_size, Color(1, 1, 1, 0.8)); + graph->draw_string(font, Vector2(font->get_string_size("X", font_size).x, font->get_ascent(font_size) + 2), "CPU:", HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, Color(1, 1, 1, 0.8)); + graph->draw_string(font, Vector2(font->get_string_size("X", font_size).x + graph->get_size().width / 2, font->get_ascent(font_size) + 2), "GPU:", HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, Color(1, 1, 1, 0.8)); /* if (hover_metric != -1 && frame_metrics[hover_metric].valid) { diff --git a/editor/debugger/editor_visual_profiler.h b/editor/debugger/editor_visual_profiler.h index 6b04fdbafc..55ba725ae8 100644 --- a/editor/debugger/editor_visual_profiler.h +++ b/editor/debugger/editor_visual_profiler.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/debugger/script_editor_debugger.cpp b/editor/debugger/script_editor_debugger.cpp index b18c225f23..b72a20ee2f 100644 --- a/editor/debugger/script_editor_debugger.cpp +++ b/editor/debugger/script_editor_debugger.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -79,7 +79,7 @@ void ScriptEditorDebugger::_put_msg(String p_message, Array p_data) { void ScriptEditorDebugger::debug_copy() { String msg = reason->get_text(); - if (msg == "") { + if (msg.is_empty()) { return; } DisplayServer::get_singleton()->clipboard_set(msg); @@ -312,7 +312,7 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, const Array &p_da if (is_move_to_foreground()) { DisplayServer::get_singleton()->window_move_to_foreground(); } - if (error != "") { + if (!error.is_empty()) { tabs->set_current_tab(0); } profiler->set_enabled(false); @@ -499,7 +499,7 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, const Array &p_da error->set_icon(0, get_theme_icon(oe.warning ? "Warning" : "Error", "EditorIcons")); error->set_text(0, time); - error->set_text_align(0, TreeItem::ALIGN_LEFT); + error->set_text_alignment(0, HORIZONTAL_ALIGNMENT_LEFT); const Color color = get_theme_color(oe.warning ? SNAME("warning_color") : SNAME("error_color"), SNAME("Editor")); error->set_custom_color(0, color); @@ -524,7 +524,7 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, const Array &p_da TreeItem *cpp_cond = error_tree->create_item(error); cpp_cond->set_text(0, "<" + TTR("C++ Error") + ">"); cpp_cond->set_text(1, oe.error); - cpp_cond->set_text_align(0, TreeItem::ALIGN_LEFT); + cpp_cond->set_text_alignment(0, HORIZONTAL_ALIGNMENT_LEFT); tooltip += TTR("C++ Error:") + " " + oe.error + "\n"; if (source_is_project_file) { cpp_cond->set_metadata(0, source_meta); @@ -542,7 +542,7 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, const Array &p_da TreeItem *cpp_source = error_tree->create_item(error); cpp_source->set_text(0, "<" + (source_is_project_file ? TTR("Source") : TTR("C++ Source")) + ">"); cpp_source->set_text(1, source_txt); - cpp_source->set_text_align(0, TreeItem::ALIGN_LEFT); + cpp_source->set_text_alignment(0, HORIZONTAL_ALIGNMENT_LEFT); tooltip += (source_is_project_file ? TTR("Source:") : TTR("C++ Source:")) + " " + source_txt + "\n"; // Set metadata to highlight error line in scripts. @@ -565,7 +565,7 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, const Array &p_da if (i == 0) { stack_trace->set_text(0, "<" + TTR("Stack Trace") + ">"); - stack_trace->set_text_align(0, TreeItem::ALIGN_LEFT); + stack_trace->set_text_alignment(0, HORIZONTAL_ALIGNMENT_LEFT); error->set_metadata(0, meta); tooltip += TTR("Stack Trace:") + "\n"; } @@ -1083,7 +1083,7 @@ void ScriptEditorDebugger::_method_changed(Object *p_base, const StringName &p_n Resource *res = Object::cast_to<Resource>(p_base); - if (res && res->get_path() != String()) { + if (res && !res->get_path().is_empty()) { String respath = res->get_path(); int pathid = _get_res_path_cache(respath); @@ -1113,7 +1113,7 @@ void ScriptEditorDebugger::_property_changed(Object *p_base, const StringName &p if (p_value.is_ref()) { Ref<Resource> res = p_value; - if (res.is_valid() && res->get_path() != String()) { + if (res.is_valid() && !res->get_path().is_empty()) { Array msg; msg.push_back(pathid); msg.push_back(p_property); @@ -1133,13 +1133,13 @@ void ScriptEditorDebugger::_property_changed(Object *p_base, const StringName &p Resource *res = Object::cast_to<Resource>(p_base); - if (res && res->get_path() != String()) { + if (res && !res->get_path().is_empty()) { String respath = res->get_path(); int pathid = _get_res_path_cache(respath); if (p_value.is_ref()) { Ref<Resource> res2 = p_value; - if (res2.is_valid() && res2->get_path() != String()) { + if (res2.is_valid() && !res2->get_path().is_empty()) { Array msg; msg.push_back(pathid); msg.push_back(p_property); @@ -1428,7 +1428,7 @@ void ScriptEditorDebugger::_error_tree_item_rmb_selected(const Vector2 &p_pos) { } if (item_menu->get_item_count() > 0) { - item_menu->set_position(error_tree->get_global_position() + p_pos); + item_menu->set_position(error_tree->get_screen_position() + p_pos); item_menu->popup(); } } @@ -1574,7 +1574,7 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor) { editor = p_editor; tabs = memnew(TabContainer); - tabs->set_tab_align(TabContainer::ALIGN_LEFT); + tabs->set_tab_alignment(TabContainer::ALIGNMENT_LEFT); tabs->add_theme_style_override("panel", editor->get_gui_base()->get_theme_stylebox(SNAME("DebuggerPanel"), SNAME("EditorStyles"))); tabs->connect("tab_changed", callable_mp(this, &ScriptEditorDebugger::_tab_changed)); diff --git a/editor/debugger/script_editor_debugger.h b/editor/debugger/script_editor_debugger.h index 76209aef46..ff1a852f26 100644 --- a/editor/debugger/script_editor_debugger.h +++ b/editor/debugger/script_editor_debugger.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/dependency_editor.cpp b/editor/dependency_editor.cpp index f18284638f..9879671e7b 100644 --- a/editor/dependency_editor.cpp +++ b/editor/dependency_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -75,7 +75,7 @@ void DependencyEditor::_fix_and_find(EditorFileSystemDirectory *efsd, Map<String String path = efsd->get_file_path(i); for (KeyValue<String, String> &E : candidates[file]) { - if (E.value == String()) { + if (E.value.is_empty()) { E.value = path; continue; } @@ -135,7 +135,7 @@ void DependencyEditor::_fix_all() { for (KeyValue<String, Map<String, String>> &E : candidates) { for (const KeyValue<String, String> &F : E.value) { - if (F.value != String()) { + if (!F.value.is_empty()) { remaps[F.key] = F.value; } } @@ -275,7 +275,8 @@ void DependencyEditorOwners::_list_rmb_select(int p_item, const Vector2 &p_pos) file_options->add_item(TTR("Open"), FILE_OPEN); } - file_options->set_position(owners->get_global_position() + p_pos); + file_options->set_position(owners->get_screen_position() + p_pos); + file_options->reset_size(); file_options->popup(); } diff --git a/editor/dependency_editor.h b/editor/dependency_editor.h index b17a685df8..d50b0849b7 100644 --- a/editor/dependency_editor.h +++ b/editor/dependency_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/dictionary_property_edit.cpp b/editor/dictionary_property_edit.cpp index 408177e523..30082f2e1a 100644 --- a/editor/dictionary_property_edit.cpp +++ b/editor/dictionary_property_edit.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/dictionary_property_edit.h b/editor/dictionary_property_edit.h index d1401c5e5f..4639480828 100644 --- a/editor/dictionary_property_edit.h +++ b/editor/dictionary_property_edit.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/doc_tools.cpp b/editor/doc_tools.cpp index 5ce57e936a..a71e16b66c 100644 --- a/editor/doc_tools.cpp +++ b/editor/doc_tools.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -37,12 +37,42 @@ #include "core/io/dir_access.h" #include "core/io/marshalls.h" #include "core/object/script_language.h" +#include "core/string/translation.h" #include "core/version.h" #include "scene/resources/theme.h" // Used for a hack preserving Mono properties on non-Mono builds. #include "modules/modules_enabled.gen.h" // For mono. +static String _get_indent(const String &p_text) { + String indent; + bool has_text = false; + int line_start = 0; + + for (int i = 0; i < p_text.length(); i++) { + const char32_t c = p_text[i]; + if (c == '\n') { + line_start = i + 1; + } else if (c > 32) { + has_text = true; + indent = p_text.substr(line_start, i - line_start); + break; // Indentation of the first line that has text. + } + } + if (!has_text) { + return p_text; + } + return indent; +} + +static String _translate_doc_string(const String &p_text) { + const String indent = _get_indent(p_text); + const String message = p_text.dedent().strip_edges(); + const String translated = TranslationServer::get_singleton()->doc_translate(message, ""); + // No need to restore stripped edges because they'll be stripped again later. + return translated.indent(indent); +} + void DocTools::merge_from(const DocTools &p_data) { for (KeyValue<String, DocData::ClassDoc> &E : class_list) { DocData::ClassDoc &c = E.value; @@ -252,17 +282,17 @@ void DocTools::remove_from(const DocTools &p_data) { } void DocTools::add_doc(const DocData::ClassDoc &p_class_doc) { - ERR_FAIL_COND(p_class_doc.name == ""); + ERR_FAIL_COND(p_class_doc.name.is_empty()); class_list[p_class_doc.name] = p_class_doc; } void DocTools::remove_doc(const String &p_class_name) { - ERR_FAIL_COND(p_class_name == "" || !class_list.has(p_class_name)); + ERR_FAIL_COND(p_class_name.is_empty() || !class_list.has(p_class_name)); class_list.erase(p_class_name); } bool DocTools::has_doc(const String &p_class_name) { - if (p_class_name == "") { + if (p_class_name.is_empty()) { return false; } return class_list.has(p_class_name); @@ -341,11 +371,17 @@ void DocTools::generate(bool p_basic_types) { } DocData::PropertyDoc prop; - prop.name = E.name; - prop.overridden = inherited; + if (inherited) { + String parent = ClassDB::get_parent_class(c.name); + while (!ClassDB::has_property(parent, prop.name, true)) { + parent = ClassDB::get_parent_class(parent); + } + prop.overrides = parent; + } + bool default_value_valid = false; Variant default_value; @@ -431,7 +467,7 @@ void DocTools::generate(bool p_basic_types) { method_list.sort(); for (const MethodInfo &E : method_list) { - if (E.name == "" || (E.name[0] == '_' && !(E.flags & METHOD_FLAG_VIRTUAL))) { + if (E.name.is_empty() || (E.name[0] == '_' && !(E.flags & METHOD_FLAG_VIRTUAL))) { continue; //hidden, don't count } @@ -453,21 +489,21 @@ void DocTools::generate(bool p_basic_types) { } if (E.flags & METHOD_FLAG_CONST) { - if (method.qualifiers != "") { + if (!method.qualifiers.is_empty()) { method.qualifiers += " "; } method.qualifiers += "const"; } if (E.flags & METHOD_FLAG_VARARG) { - if (method.qualifiers != "") { + if (!method.qualifiers.is_empty()) { method.qualifiers += " "; } method.qualifiers += "vararg"; } if (E.flags & METHOD_FLAG_STATIC) { - if (method.qualifiers != "") { + if (!method.qualifiers.is_empty()) { method.qualifiers += " "; } method.qualifiers += "static"; @@ -603,6 +639,8 @@ void DocTools::generate(bool p_basic_types) { tid.data_type = "style"; c.theme_properties.push_back(tid); } + + c.theme_properties.sort(); } classes.pop_front(); @@ -728,21 +766,21 @@ void DocTools::generate(bool p_basic_types) { DocData::return_doc_from_retinfo(method, mi.return_val); if (mi.flags & METHOD_FLAG_VARARG) { - if (method.qualifiers != "") { + if (!method.qualifiers.is_empty()) { method.qualifiers += " "; } method.qualifiers += "vararg"; } if (mi.flags & METHOD_FLAG_CONST) { - if (method.qualifiers != "") { + if (!method.qualifiers.is_empty()) { method.qualifiers += " "; } method.qualifiers += "const"; } if (mi.flags & METHOD_FLAG_STATIC) { - if (method.qualifiers != "") { + if (!method.qualifiers.is_empty()) { method.qualifiers += " "; } method.qualifiers += "static"; @@ -877,7 +915,7 @@ void DocTools::generate(bool p_basic_types) { md.name = mi.name; if (mi.flags & METHOD_FLAG_VARARG) { - if (md.qualifiers != "") { + if (!md.qualifiers.is_empty()) { md.qualifiers += " "; } md.qualifiers += "vararg"; @@ -997,7 +1035,7 @@ Error DocTools::load_classes(const String &p_dir) { da->list_dir_begin(); String path; path = da->get_next(); - while (path != String()) { + while (!path.is_empty()) { if (!da->current_is_dir() && path.ends_with("xml")) { Ref<XMLParser> parser = memnew(XMLParser); Error err2 = parser->open(p_dir.plus_file(path)); @@ -1027,7 +1065,7 @@ Error DocTools::erase_classes(const String &p_dir) { da->list_dir_begin(); String path; path = da->get_next(); - while (path != String()) { + while (!path.is_empty()) { if (!da->current_is_dir() && path.ends_with("xml")) { to_erase.push_back(path); } @@ -1228,7 +1266,7 @@ Error DocTools::_load(Ref<XMLParser> parser) { } static void _write_string(FileAccess *f, int p_tablevel, const String &p_string) { - if (p_string == "") { + if (p_string.is_empty()) { return; } String tab; @@ -1246,15 +1284,15 @@ static void _write_method_doc(FileAccess *f, const String &p_name, Vector<DocDat const DocData::MethodDoc &m = p_method_docs[i]; String qualifiers; - if (m.qualifiers != "") { + if (!m.qualifiers.is_empty()) { qualifiers += " qualifiers=\"" + m.qualifiers.xml_escape() + "\""; } _write_string(f, 2, "<" + p_name + " name=\"" + m.name.xml_escape() + "\"" + qualifiers + ">"); - if (m.return_type != "") { + if (!m.return_type.is_empty()) { String enum_text; - if (m.return_enum != String()) { + if (!m.return_enum.is_empty()) { enum_text = " enum=\"" + m.return_enum + "\""; } _write_string(f, 3, "<return type=\"" + m.return_type + "\"" + enum_text + " />"); @@ -1269,11 +1307,11 @@ static void _write_method_doc(FileAccess *f, const String &p_name, Vector<DocDat const DocData::ArgumentDoc &a = m.arguments[j]; String enum_text; - if (a.enumeration != String()) { + if (!a.enumeration.is_empty()) { enum_text = " enum=\"" + a.enumeration + "\""; } - if (a.default_value != "") { + if (!a.default_value.is_empty()) { _write_string(f, 3, "<argument index=\"" + itos(j) + "\" name=\"" + a.name.xml_escape() + "\" type=\"" + a.type.xml_escape() + "\"" + enum_text + " default=\"" + a.default_value.xml_escape(true) + "\" />"); } else { _write_string(f, 3, "<argument index=\"" + itos(j) + "\" name=\"" + a.name.xml_escape() + "\" type=\"" + a.type.xml_escape() + "\"" + enum_text + " />"); @@ -1281,7 +1319,7 @@ static void _write_method_doc(FileAccess *f, const String &p_name, Vector<DocDat } _write_string(f, 3, "<description>"); - _write_string(f, 4, m.description.strip_edges().xml_escape()); + _write_string(f, 4, _translate_doc_string(m.description).strip_edges().xml_escape()); _write_string(f, 3, "</description>"); _write_string(f, 2, "</" + p_name + ">"); @@ -1311,7 +1349,7 @@ Error DocTools::save_classes(const String &p_default_path, const Map<String, Str _write_string(f, 0, "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"); String header = "<class name=\"" + c.name + "\""; - if (c.inherits != "") { + if (!c.inherits.is_empty()) { header += " inherits=\"" + c.inherits + "\""; } header += String(" version=\"") + VERSION_BRANCH + "\""; @@ -1319,11 +1357,11 @@ Error DocTools::save_classes(const String &p_default_path, const Map<String, Str _write_string(f, 0, header); _write_string(f, 1, "<brief_description>"); - _write_string(f, 2, c.brief_description.strip_edges().xml_escape()); + _write_string(f, 2, _translate_doc_string(c.brief_description).strip_edges().xml_escape()); _write_string(f, 1, "</brief_description>"); _write_string(f, 1, "<description>"); - _write_string(f, 2, c.description.strip_edges().xml_escape()); + _write_string(f, 2, _translate_doc_string(c.description).strip_edges().xml_escape()); _write_string(f, 1, "</description>"); _write_string(f, 1, "<tutorials>"); @@ -1345,20 +1383,20 @@ Error DocTools::save_classes(const String &p_default_path, const Map<String, Str for (int i = 0; i < c.properties.size(); i++) { String additional_attributes; - if (c.properties[i].enumeration != String()) { + if (!c.properties[i].enumeration.is_empty()) { additional_attributes += " enum=\"" + c.properties[i].enumeration + "\""; } - if (c.properties[i].default_value != String()) { + if (!c.properties[i].default_value.is_empty()) { additional_attributes += " default=\"" + c.properties[i].default_value.xml_escape(true) + "\""; } const DocData::PropertyDoc &p = c.properties[i]; if (c.properties[i].overridden) { - _write_string(f, 2, "<member name=\"" + p.name + "\" type=\"" + p.type + "\" setter=\"" + p.setter + "\" getter=\"" + p.getter + "\" override=\"true\"" + additional_attributes + " />"); + _write_string(f, 2, "<member name=\"" + p.name + "\" type=\"" + p.type + "\" setter=\"" + p.setter + "\" getter=\"" + p.getter + "\" overrides=\"" + p.overrides + "\"" + additional_attributes + " />"); } else { _write_string(f, 2, "<member name=\"" + p.name + "\" type=\"" + p.type + "\" setter=\"" + p.setter + "\" getter=\"" + p.getter + "\"" + additional_attributes + ">"); - _write_string(f, 3, p.description.strip_edges().xml_escape()); + _write_string(f, 3, _translate_doc_string(p.description).strip_edges().xml_escape()); _write_string(f, 2, "</member>"); } } @@ -1372,19 +1410,19 @@ Error DocTools::save_classes(const String &p_default_path, const Map<String, Str for (int i = 0; i < c.constants.size(); i++) { const DocData::ConstantDoc &k = c.constants[i]; if (k.is_value_valid) { - if (k.enumeration != String()) { + if (!k.enumeration.is_empty()) { _write_string(f, 2, "<constant name=\"" + k.name + "\" value=\"" + k.value + "\" enum=\"" + k.enumeration + "\">"); } else { _write_string(f, 2, "<constant name=\"" + k.name + "\" value=\"" + k.value + "\">"); } } else { - if (k.enumeration != String()) { + if (!k.enumeration.is_empty()) { _write_string(f, 2, "<constant name=\"" + k.name + "\" value=\"platform-dependent\" enum=\"" + k.enumeration + "\">"); } else { _write_string(f, 2, "<constant name=\"" + k.name + "\" value=\"platform-dependent\">"); } } - _write_string(f, 3, k.description.strip_edges().xml_escape()); + _write_string(f, 3, _translate_doc_string(k.description).strip_edges().xml_escape()); _write_string(f, 2, "</constant>"); } @@ -1398,13 +1436,13 @@ Error DocTools::save_classes(const String &p_default_path, const Map<String, Str for (int i = 0; i < c.theme_properties.size(); i++) { const DocData::ThemeItemDoc &ti = c.theme_properties[i]; - if (ti.default_value != "") { + if (!ti.default_value.is_empty()) { _write_string(f, 2, "<theme_item name=\"" + ti.name + "\" data_type=\"" + ti.data_type + "\" type=\"" + ti.type + "\" default=\"" + ti.default_value.xml_escape(true) + "\">"); } else { _write_string(f, 2, "<theme_item name=\"" + ti.name + "\" data_type=\"" + ti.data_type + "\" type=\"" + ti.type + "\">"); } - _write_string(f, 3, ti.description.strip_edges().xml_escape()); + _write_string(f, 3, _translate_doc_string(ti.description).strip_edges().xml_escape()); _write_string(f, 2, "</theme_item>"); } diff --git a/editor/doc_tools.h b/editor/doc_tools.h index 809eedff2a..6c3a93de59 100644 --- a/editor/doc_tools.h +++ b/editor/doc_tools.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_about.cpp b/editor/editor_about.cpp index 414264e697..54377971c6 100644 --- a/editor/editor_about.cpp +++ b/editor/editor_about.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -125,7 +125,7 @@ EditorAbout::EditorAbout() { vbc->connect("theme_changed", callable_mp(this, &EditorAbout::_theme_changed)); HBoxContainer *hbc = memnew(HBoxContainer); hbc->set_h_size_flags(Control::SIZE_EXPAND_FILL); - hbc->set_alignment(BoxContainer::ALIGN_CENTER); + hbc->set_alignment(BoxContainer::ALIGNMENT_CENTER); hbc->add_theme_constant_override("separation", 30 * EDSCALE); add_child(vbc); vbc->add_child(hbc); @@ -154,7 +154,7 @@ EditorAbout::EditorAbout() { Label *about_text = memnew(Label); about_text->set_v_size_flags(Control::SIZE_SHRINK_CENTER); - about_text->set_text(String::utf8("\xc2\xa9 2007-2021 Juan Linietsky, Ariel Manzur.\n\xc2\xa9 2014-2021 ") + + about_text->set_text(String::utf8("\xc2\xa9 2007-2022 Juan Linietsky, Ariel Manzur.\n\xc2\xa9 2014-2022 ") + TTR("Godot Engine contributors") + "\n"); version_info_vbc->add_child(about_text); diff --git a/editor/editor_about.h b/editor/editor_about.h index b76a2ada34..e57b211ed4 100644 --- a/editor/editor_about.h +++ b/editor/editor_about.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_asset_installer.cpp b/editor/editor_asset_installer.cpp index 8dd3045887..4d6b2e2750 100644 --- a/editor/editor_asset_installer.cpp +++ b/editor/editor_asset_installer.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -88,7 +88,7 @@ void EditorAssetInstaller::_item_edited() { String path = item->get_metadata(0); updating = true; - if (path == String() || item == tree->get_root()) { //a dir or root + if (path.is_empty() || item == tree->get_root()) { //a dir or root _update_subitems(item, item->is_checked(0), true); } @@ -212,7 +212,7 @@ void EditorAssetInstaller::open(const String &p_path, int p_depth) { depth--; } - if (skip || path == String()) { + if (skip || path.is_empty()) { continue; } @@ -307,7 +307,7 @@ void EditorAssetInstaller::ok_pressed() { if (status_map.has(name) && status_map[name]->is_checked(0)) { String path = status_map[name]->get_metadata(0); - if (path == String()) { // a dir + if (path.is_empty()) { // a dir String dirpath; TreeItem *t = status_map[name]; diff --git a/editor/editor_asset_installer.h b/editor/editor_asset_installer.h index 9fafe2792a..2f59250933 100644 --- a/editor/editor_asset_installer.h +++ b/editor/editor_asset_installer.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_atlas_packer.cpp b/editor/editor_atlas_packer.cpp index 85541c093a..b6ec5d1bad 100644 --- a/editor/editor_atlas_packer.cpp +++ b/editor/editor_atlas_packer.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -233,12 +233,12 @@ void EditorAtlasPacker::chart_pack(Vector<Chart> &charts, int &r_width, int &r_h const int *top_heights = bitmaps[i].top_heights.ptr(); const int *bottom_heights = bitmaps[i].bottom_heights.ptr(); - for (int j = 0; j < atlas_w - w; j++) { + for (int j = 0; j <= atlas_w - w; j++) { int height = 0; for (int k = 0; k < w; k++) { int pixmap_h = bottom_heights[k]; - if (pixmap_h == -1) { + if (pixmap_h == 0x7FFFFFFF) { continue; //no pixel here, anything is fine } diff --git a/editor/editor_atlas_packer.h b/editor/editor_atlas_packer.h index 89824dff1c..133c516d80 100644 --- a/editor/editor_atlas_packer.h +++ b/editor/editor_atlas_packer.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_audio_buses.cpp b/editor/editor_audio_buses.cpp index dd9f10a23b..0829b9d24f 100644 --- a/editor/editor_audio_buses.cpp +++ b/editor/editor_audio_buses.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -487,7 +487,8 @@ void EditorAudioBus::_effect_edited() { if (effect->get_metadata(0) == Variant()) { Rect2 area = effects->get_item_rect(effect); - effect_options->set_position(effects->get_global_position() + area.position + Vector2(0, area.size.y)); + effect_options->set_position(effects->get_screen_position() + area.position + Vector2(0, area.size.y)); + effect_options->reset_size(); effect_options->popup(); //add effect } else { @@ -535,8 +536,8 @@ void EditorAudioBus::gui_input(const Ref<InputEvent> &p_event) { Ref<InputEventMouseButton> mb = p_event; if (mb.is_valid() && mb->get_button_index() == MouseButton::RIGHT && mb->is_pressed()) { - Vector2 pos = mb->get_position(); - bus_popup->set_position(get_global_position() + pos); + bus_popup->set_position(get_screen_position() + mb->get_position()); + bus_popup->reset_size(); bus_popup->popup(); } } @@ -737,7 +738,8 @@ void EditorAudioBus::_effect_rmb(const Vector2 &p_pos) { return; } - delete_effect_popup->set_position(get_global_mouse_position()); + delete_effect_popup->set_position(get_screen_position() + get_local_mouse_position()); + delete_effect_popup->reset_size(); delete_effect_popup->popup(); } @@ -1296,8 +1298,7 @@ EditorAudioBuses::EditorAudioBuses() { bus_scroll = memnew(ScrollContainer); bus_scroll->set_v_size_flags(SIZE_EXPAND_FILL); - bus_scroll->set_enable_h_scroll(true); - bus_scroll->set_enable_v_scroll(false); + bus_scroll->set_vertical_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED); add_child(bus_scroll); bus_hb = memnew(HBoxContainer); bus_hb->set_v_size_flags(SIZE_EXPAND_FILL); @@ -1421,7 +1422,7 @@ void EditorAudioMeterNotches::_draw_audio_notches() { Vector2((line_length + label_space) * EDSCALE, (1.0f - n.relative_position) * (get_size().y - btm_padding - top_padding) + (font_height / 4) + top_padding), String::num(Math::abs(n.db_value)) + "dB", - HALIGN_LEFT, -1, font_size, + HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, notch_color); } } diff --git a/editor/editor_audio_buses.h b/editor/editor_audio_buses.h index e1aaa060c6..f856556363 100644 --- a/editor/editor_audio_buses.h +++ b/editor/editor_audio_buses.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -230,11 +230,10 @@ private: render_db_value = n.render_db_value; } - _FORCE_INLINE_ AudioNotch &operator=(const EditorAudioMeterNotches::AudioNotch &n) { + _FORCE_INLINE_ void operator=(const EditorAudioMeterNotches::AudioNotch &n) { relative_position = n.relative_position; db_value = n.db_value; render_db_value = n.render_db_value; - return *this; } _FORCE_INLINE_ AudioNotch() {} diff --git a/editor/editor_autoload_settings.cpp b/editor/editor_autoload_settings.cpp index 25e76c2262..d74a6e12b2 100644 --- a/editor/editor_autoload_settings.cpp +++ b/editor/editor_autoload_settings.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -340,22 +340,22 @@ void EditorAutoloadSettings::_autoload_file_callback(const String &p_path) { } void EditorAutoloadSettings::_autoload_text_submitted(const String p_name) { - if (autoload_add_path->get_text() != "" && _autoload_name_is_valid(p_name, nullptr)) { + if (!autoload_add_path->get_text().is_empty() && _autoload_name_is_valid(p_name, nullptr)) { _autoload_add(); } } void EditorAutoloadSettings::_autoload_path_text_changed(const String p_path) { add_autoload->set_disabled( - p_path == "" || !_autoload_name_is_valid(autoload_add_name->get_text(), nullptr)); + p_path.is_empty() || !_autoload_name_is_valid(autoload_add_name->get_text(), nullptr)); } void EditorAutoloadSettings::_autoload_text_changed(const String p_name) { String error_string; bool is_name_valid = _autoload_name_is_valid(p_name, &error_string); - add_autoload->set_disabled(autoload_add_path->get_text() == "" || !is_name_valid); + add_autoload->set_disabled(autoload_add_path->get_text().is_empty() || !is_name_valid); error_message->set_text(error_string); - error_message->set_visible(autoload_add_name->get_text() != "" && !is_name_valid); + error_message->set_visible(!autoload_add_name->get_text().is_empty() && !is_name_valid); } Node *EditorAutoloadSettings::_create_autoload(const String &p_path) { @@ -838,7 +838,7 @@ EditorAutoloadSettings::EditorAutoloadSettings() { error_message = memnew(Label); error_message->hide(); - error_message->set_align(Label::Align::ALIGN_RIGHT); + error_message->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_RIGHT); error_message->add_theme_color_override("font_color", EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("error_color"), SNAME("Editor"))); add_child(error_message); diff --git a/editor/editor_autoload_settings.h b/editor/editor_autoload_settings.h index b8e054cd14..20f6bf476f 100644 --- a/editor/editor_autoload_settings.h +++ b/editor/editor_autoload_settings.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_command_palette.cpp b/editor/editor_command_palette.cpp index 52e55de84c..1724e87489 100644 --- a/editor/editor_command_palette.cpp +++ b/editor/editor_command_palette.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -128,7 +128,7 @@ void EditorCommandPalette::_update_command_search(const String &search_text) { 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_alignment(1, HORIZONTAL_ALIGNMENT_RIGHT); ti->set_text(1, shortcut_text); Color c = Color(1, 1, 1, 0.5); ti->set_custom_color(1, c); @@ -164,7 +164,7 @@ void EditorCommandPalette::_sbox_input(const Ref<InputEvent> &p_ie) { void EditorCommandPalette::_confirmed() { TreeItem *selected_option = search_options->get_selected(); String command_key = selected_option != nullptr ? selected_option->get_metadata(0) : ""; - if (command_key != "") { + if (!command_key.is_empty()) { hide(); execute_command(command_key); } diff --git a/editor/editor_command_palette.h b/editor/editor_command_palette.h index 8836c7b0fb..41141af0c3 100644 --- a/editor/editor_command_palette.h +++ b/editor/editor_command_palette.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_data.cpp b/editor/editor_data.cpp index a163b468e6..7a0a4abbff 100644 --- a/editor/editor_data.cpp +++ b/editor/editor_data.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -100,7 +100,7 @@ void EditorHistory::_add_object(ObjectID p_object, const String &p_property, int history.resize(current + 1); //clip history to next } - if (p_property != "" && has_prev) { + if (!p_property.is_empty() && has_prev) { //add a sub property History &pr = history.write[current]; h = pr; @@ -566,7 +566,7 @@ void EditorData::remove_scene(int p_idx) { current_edited_scene--; } - if (edited_scene[p_idx].path != String()) { + if (!edited_scene[p_idx].path.is_empty()) { ScriptEditor::get_singleton()->close_builtin_scripts_from_scene(edited_scene[p_idx].path); } @@ -583,7 +583,7 @@ bool EditorData::_find_updated_instances(Node *p_root, Node *p_node, Set<String> if (p_node == p_root) { ss = p_node->get_scene_inherited_state(); - } else if (p_node->get_scene_file_path() != String()) { + } else if (!p_node->get_scene_file_path().is_empty()) { ss = p_node->get_scene_instance_state(); } @@ -647,7 +647,7 @@ bool EditorData::check_and_update_scene(int p_idx) { memdelete(edited_scene[p_idx].root); edited_scene.write[p_idx].root = new_scene; - if (new_scene->get_scene_file_path() != "") { + if (!new_scene->get_scene_file_path().is_empty()) { edited_scene.write[p_idx].path = new_scene->get_scene_file_path(); } edited_scene.write[p_idx].selection = new_selection; @@ -682,14 +682,14 @@ void EditorData::set_edited_scene_root(Node *p_root) { ERR_FAIL_INDEX(current_edited_scene, edited_scene.size()); edited_scene.write[current_edited_scene].root = p_root; if (p_root) { - if (p_root->get_scene_file_path() != "") { + if (!p_root->get_scene_file_path().is_empty()) { edited_scene.write[current_edited_scene].path = p_root->get_scene_file_path(); } else { p_root->set_scene_file_path(edited_scene[current_edited_scene].path); } } - if (edited_scene[current_edited_scene].path != "") { + if (!edited_scene[current_edited_scene].path.is_empty()) { edited_scene.write[current_edited_scene].file_modified_time = FileAccess::get_modified_time(edited_scene[current_edited_scene].path); } } @@ -764,7 +764,7 @@ Ref<Script> EditorData::get_scene_root_script(int p_idx) const { Ref<Script> s = edited_scene[p_idx].root->get_script(); if (!s.is_valid() && edited_scene[p_idx].root->get_child_count()) { Node *n = edited_scene[p_idx].root->get_child(0); - while (!s.is_valid() && n && n->get_scene_file_path() == String()) { + while (!s.is_valid() && n && n->get_scene_file_path().is_empty()) { s = n->get_script(); n = n->get_parent(); } @@ -777,7 +777,7 @@ String EditorData::get_scene_title(int p_idx, bool p_always_strip_extension) con if (!edited_scene[p_idx].root) { return TTR("[empty]"); } - if (edited_scene[p_idx].root->get_scene_file_path() == "") { + if (edited_scene[p_idx].root->get_scene_file_path().is_empty()) { return TTR("[unsaved]"); } @@ -818,7 +818,7 @@ String EditorData::get_scene_path(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, edited_scene.size(), String()); if (edited_scene[p_idx].root) { - if (edited_scene[p_idx].root->get_scene_file_path() == "") { + if (edited_scene[p_idx].root->get_scene_file_path().is_empty()) { edited_scene[p_idx].root->set_scene_file_path(edited_scene[p_idx].path); } else { return edited_scene[p_idx].root->get_scene_file_path(); @@ -893,8 +893,13 @@ bool EditorData::script_class_is_parent(const String &p_class, const String &p_i if (!ScriptServer::is_global_class(p_class)) { return false; } - String base = script_class_get_base(p_class); + Ref<Script> script = script_class_load_script(p_class); + if (script.is_null()) { + return false; + } + + String base = script_class_get_base(p_class); Ref<Script> base_script = script->get_base_script(); while (p_inherits != base) { diff --git a/editor/editor_data.h b/editor/editor_data.h index 976d718b8e..ccf641ff26 100644 --- a/editor/editor_data.h +++ b/editor/editor_data.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_dir_dialog.cpp b/editor/editor_dir_dialog.cpp index f91dedf25d..39054b7033 100644 --- a/editor/editor_dir_dialog.cpp +++ b/editor/editor_dir_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -49,7 +49,7 @@ void EditorDirDialog::_update_dir(TreeItem *p_item, EditorFileSystemDirectory *p if (!p_item->get_parent()) { p_item->set_text(0, "res://"); } else { - if (!opened_paths.has(path) && (p_select_path == String() || !p_select_path.begins_with(path))) { + if (!opened_paths.has(path) && (p_select_path.is_empty() || !p_select_path.begins_with(path))) { p_item->set_collapsed(true); } diff --git a/editor/editor_dir_dialog.h b/editor/editor_dir_dialog.h index ef473b0779..053c1f5503 100644 --- a/editor/editor_dir_dialog.h +++ b/editor/editor_dir_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_export.cpp b/editor/editor_export.cpp index 03d91ebcba..d681074bf5 100644 --- a/editor/editor_export.cpp +++ b/editor/editor_export.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -264,7 +264,7 @@ void EditorExportPlatform::gen_debug_flags(Vector<String> &r_flags, int p_flags) String passwd = EditorSettings::get_singleton()->get("filesystem/file_server/password"); r_flags.push_back("--remote-fs"); r_flags.push_back(host + ":" + itos(port)); - if (passwd != "") { + if (!passwd.is_empty()) { r_flags.push_back("--remote-fs-password"); r_flags.push_back(passwd); } @@ -488,8 +488,8 @@ void EditorExportPlatform::_edit_files_with_filter(DirAccess *da, const Vector<S String cur_dir_no_prefix = cur_dir.replace("res://", ""); Vector<String> dirs; - String f; - while ((f = da->get_next()) != "") { + String f = da->get_next(); + while (!f.is_empty()) { if (da->current_is_dir()) { dirs.push_back(f); } else { @@ -506,6 +506,7 @@ void EditorExportPlatform::_edit_files_with_filter(DirAccess *da, const Vector<S } } } + f = da->get_next(); } da->list_dir_end(); @@ -527,7 +528,7 @@ void EditorExportPlatform::_edit_files_with_filter(DirAccess *da, const Vector<S } void EditorExportPlatform::_edit_filter_list(Set<String> &r_list, const String &p_filter, bool exclude) { - if (p_filter == "") { + if (p_filter.is_empty()) { return; } Vector<String> split = p_filter.split(","); @@ -682,12 +683,12 @@ EditorExportPlatform::FeatureContainers EditorExportPlatform::get_feature_contai result.features_pv.push_back(E); } - if (p_preset->get_custom_features() != String()) { + if (!p_preset->get_custom_features().is_empty()) { Vector<String> tmp_custom_list = p_preset->get_custom_features().split(","); for (int i = 0; i < tmp_custom_list.size(); i++) { String f = tmp_custom_list[i].strip_edges(); - if (f != String()) { + if (!f.is_empty()) { result.features.insert(f); result.features_pv.push_back(f); } @@ -993,12 +994,12 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> & Vector<String> custom_list; - if (p_preset->get_custom_features() != String()) { + if (!p_preset->get_custom_features().is_empty()) { Vector<String> tmp_custom_list = p_preset->get_custom_features().split(","); for (int i = 0; i < tmp_custom_list.size(); i++) { String f = tmp_custom_list[i].strip_edges(); - if (f != String()) { + if (!f.is_empty()) { custom_list.push_back(f); } } @@ -1032,14 +1033,14 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> & // Store icon and splash images directly, they need to bypass the import system and be loaded as images String icon = ProjectSettings::get_singleton()->get("application/config/icon"); String splash = ProjectSettings::get_singleton()->get("application/boot_splash/image"); - if (icon != String() && FileAccess::exists(icon)) { + if (!icon.is_empty() && FileAccess::exists(icon)) { Vector<uint8_t> array = FileAccess::get_file_as_array(icon); err = p_func(p_udata, icon, array, idx, total, enc_in_filters, enc_ex_filters, key); if (err != OK) { return err; } } - if (splash != String() && FileAccess::exists(splash) && icon != splash) { + if (!splash.is_empty() && FileAccess::exists(splash) && icon != splash) { Vector<uint8_t> array = FileAccess::get_file_as_array(splash); err = p_func(p_udata, splash, array, idx, total, enc_in_filters, enc_ex_filters, key); if (err != OK) { @@ -1358,7 +1359,7 @@ void EditorExportPlatform::gen_export_flags(Vector<String> &r_flags, int p_flags String passwd = EditorSettings::get_singleton()->get("filesystem/file_server/password"); r_flags.push_back("--remote-fs"); r_flags.push_back(host + ":" + itos(port)); - if (passwd != "") { + if (!passwd.is_empty()) { r_flags.push_back("--remote-fs-password"); r_flags.push_back(passwd); } @@ -1854,7 +1855,7 @@ Error EditorExportPlatformPC::export_project(const Ref<EditorExportPreset> &p_pr template_path = template_path.strip_edges(); - if (template_path == String()) { + if (template_path.is_empty()) { if (p_preset->get("binary_format/64_bits")) { if (p_debug) { template_path = find_export_template(debug_file_64); @@ -1870,7 +1871,7 @@ Error EditorExportPlatformPC::export_project(const Ref<EditorExportPreset> &p_pr } } - if (template_path != String() && !FileAccess::exists(template_path)) { + if (!template_path.is_empty() && !FileAccess::exists(template_path)) { EditorNode::get_singleton()->show_warning(TTR("Template file not found:") + "\n" + template_path); return ERR_FILE_NOT_FOUND; } diff --git a/editor/editor_export.h b/editor/editor_export.h index 1a5b8e6026..fd885ad313 100644 --- a/editor/editor_export.h +++ b/editor/editor_export.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_feature_profile.cpp b/editor/editor_feature_profile.cpp index 2222a5e5d3..94262c2289 100644 --- a/editor/editor_feature_profile.cpp +++ b/editor/editor_feature_profile.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -310,7 +310,7 @@ EditorFeatureProfile::EditorFeatureProfile() {} void EditorFeatureProfileManager::_notification(int p_what) { if (p_what == NOTIFICATION_READY) { current_profile = EDITOR_GET("_default_feature_profile"); - if (current_profile != String()) { + if (!current_profile.is_empty()) { current.instantiate(); Error err = current->load_from_file(EditorSettings::get_singleton()->get_feature_profiles_dir().plus_file(current_profile + ".profile")); if (err != OK) { @@ -334,7 +334,7 @@ String EditorFeatureProfileManager::_get_selected_profile() { void EditorFeatureProfileManager::_update_profile_list(const String &p_select_profile) { String selected_profile; - if (p_select_profile == String()) { //default, keep + if (p_select_profile.is_empty()) { //default, keep if (profile_list->get_selected() >= 0) { selected_profile = profile_list->get_item_metadata(profile_list->get_selected()); if (!FileAccess::exists(EditorSettings::get_singleton()->get_feature_profiles_dir().plus_file(selected_profile + ".profile"))) { @@ -352,7 +352,7 @@ void EditorFeatureProfileManager::_update_profile_list(const String &p_select_pr d->list_dir_begin(); while (true) { String f = d->get_next(); - if (f == String()) { + if (f.is_empty()) { break; } @@ -371,7 +371,7 @@ void EditorFeatureProfileManager::_update_profile_list(const String &p_select_pr for (int i = 0; i < profiles.size(); i++) { String name = profiles[i]; - if (i == 0 && selected_profile == String()) { + if (i == 0 && selected_profile.is_empty()) { selected_profile = name; } @@ -386,15 +386,15 @@ void EditorFeatureProfileManager::_update_profile_list(const String &p_select_pr } } - class_list_vbc->set_visible(selected_profile != String()); - property_list_vbc->set_visible(selected_profile != String()); - no_profile_selected_help->set_visible(selected_profile == String()); - profile_actions[PROFILE_CLEAR]->set_disabled(current_profile == String()); - profile_actions[PROFILE_ERASE]->set_disabled(selected_profile == String()); - profile_actions[PROFILE_EXPORT]->set_disabled(selected_profile == String()); - profile_actions[PROFILE_SET]->set_disabled(selected_profile == String()); + class_list_vbc->set_visible(!selected_profile.is_empty()); + property_list_vbc->set_visible(!selected_profile.is_empty()); + no_profile_selected_help->set_visible(selected_profile.is_empty()); + profile_actions[PROFILE_CLEAR]->set_disabled(current_profile.is_empty()); + profile_actions[PROFILE_ERASE]->set_disabled(selected_profile.is_empty()); + profile_actions[PROFILE_EXPORT]->set_disabled(selected_profile.is_empty()); + profile_actions[PROFILE_SET]->set_disabled(selected_profile.is_empty()); - current_profile_name->set_text(current_profile != String() ? current_profile : TTR("(none)")); + current_profile_name->set_text(!current_profile.is_empty() ? current_profile : TTR("(none)")); _update_selected_profile(); } @@ -412,7 +412,7 @@ void EditorFeatureProfileManager::_profile_action(int p_action) { } break; case PROFILE_SET: { String selected = _get_selected_profile(); - ERR_FAIL_COND(selected == String()); + ERR_FAIL_COND(selected.is_empty()); if (selected == current_profile) { return; // Nothing to do here. } @@ -438,7 +438,7 @@ void EditorFeatureProfileManager::_profile_action(int p_action) { } break; case PROFILE_ERASE: { String selected = _get_selected_profile(); - ERR_FAIL_COND(selected == String()); + ERR_FAIL_COND(selected.is_empty()); erase_profile_dialog->set_text(vformat(TTR("Remove currently selected profile, '%s'? Cannot be undone."), selected)); erase_profile_dialog->popup_centered(Size2(240, 60) * EDSCALE); @@ -448,7 +448,7 @@ void EditorFeatureProfileManager::_profile_action(int p_action) { void EditorFeatureProfileManager::_erase_selected_profile() { String selected = _get_selected_profile(); - ERR_FAIL_COND(selected == String()); + ERR_FAIL_COND(selected.is_empty()); DirAccessRef da = DirAccess::open(EditorSettings::get_singleton()->get_feature_profiles_dir()); ERR_FAIL_COND_MSG(!da, "Cannot open directory '" + EditorSettings::get_singleton()->get_feature_profiles_dir() + "'."); @@ -718,7 +718,7 @@ void EditorFeatureProfileManager::_update_selected_profile() { class_list->clear(); String profile = _get_selected_profile(); - if (profile == String()) { //nothing selected, nothing edited + if (profile.is_empty()) { //nothing selected, nothing edited property_list->clear(); edited.unref(); return; @@ -822,7 +822,7 @@ void EditorFeatureProfileManager::_export_profile(const String &p_path) { void EditorFeatureProfileManager::_save_and_update() { String edited_path = _get_selected_profile(); - ERR_FAIL_COND(edited_path == String()); + ERR_FAIL_COND(edited_path.is_empty()); ERR_FAIL_COND(edited.is_null()); edited->save_to_file(EditorSettings::get_singleton()->get_feature_profiles_dir().plus_file(edited_path + ".profile")); @@ -948,7 +948,7 @@ EditorFeatureProfileManager::EditorFeatureProfileManager() { Ref<StyleBoxEmpty> sb = memnew(StyleBoxEmpty); sb->set_default_margin(SIDE_TOP, 20 * EDSCALE); no_profile_selected_help->add_theme_style_override("normal", sb); - no_profile_selected_help->set_align(Label::ALIGN_CENTER); + no_profile_selected_help->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); no_profile_selected_help->set_v_size_flags(Control::SIZE_EXPAND_FILL); h_split->add_child(no_profile_selected_help); diff --git a/editor/editor_feature_profile.h b/editor/editor_feature_profile.h index d31498bfc6..c5f4ad60f4 100644 --- a/editor/editor_feature_profile.h +++ b/editor/editor_feature_profile.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_file_dialog.cpp b/editor/editor_file_dialog.cpp index bea5c99c1a..dee00b6678 100644 --- a/editor/editor_file_dialog.cpp +++ b/editor/editor_file_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -274,7 +274,7 @@ void EditorFileDialog::_post_popup() { file_box->set_visible(true); } - if (is_visible() && get_current_file() != "") { + if (is_visible() && !get_current_file().is_empty()) { _request_single_thumbnail(get_current_dir().plus_file(get_current_file())); } @@ -608,7 +608,8 @@ void EditorFileDialog::_item_list_item_rmb_selected(int p_item, const Vector2 &p } if (item_menu->get_item_count() > 0) { - item_menu->set_position(item_list->get_global_position() + p_pos); + item_menu->set_position(item_list->get_screen_position() + p_pos); + item_menu->reset_size(); item_menu->popup(); } } @@ -629,7 +630,8 @@ void EditorFileDialog::_item_list_rmb_clicked(const Vector2 &p_pos) { item_menu->add_separator(); item_menu->add_icon_item(item_list->get_theme_icon(SNAME("Filesystem"), SNAME("EditorIcons")), TTR("Open in File Manager"), ITEM_MENU_SHOW_IN_EXPLORER); - item_menu->set_position(item_list->get_global_position() + p_pos); + item_menu->set_position(item_list->get_screen_position() + p_pos); + item_menu->reset_size(); item_menu->popup(); } @@ -721,7 +723,7 @@ void EditorFileDialog::update_file_list() { item_list->clear(); // Scroll back to the top after opening a directory - item_list->get_v_scroll()->set_value(0); + item_list->get_v_scroll_bar()->set_value(0); if (display_mode == DISPLAY_THUMBNAILS) { item_list->set_max_columns(0); @@ -761,10 +763,11 @@ void EditorFileDialog::update_file_list() { List<String> files; List<String> dirs; - String item; + String item = dir_access->get_next(); - while ((item = dir_access->get_next()) != "") { + while (!item.is_empty()) { if (item == "." || item == "..") { + item = dir_access->get_next(); continue; } @@ -775,6 +778,7 @@ void EditorFileDialog::update_file_list() { dirs.push_back(item); } } + item = dir_access->get_next(); } dirs.sort_custom<NaturalNoCaseComparator>(); diff --git a/editor/editor_file_dialog.h b/editor/editor_file_dialog.h index ed427dc76e..b7abfe0836 100644 --- a/editor/editor_file_dialog.h +++ b/editor/editor_file_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_file_system.cpp b/editor/editor_file_system.cpp index 4f02a82fb5..a0673c8fb7 100644 --- a/editor/editor_file_system.cpp +++ b/editor/editor_file_system.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -241,7 +241,7 @@ void EditorFileSystem::_scan_filesystem() { first = false; continue; } - if (l == String()) { + if (l.is_empty()) { continue; } @@ -295,7 +295,7 @@ void EditorFileSystem::_scan_filesystem() { { FileAccessRef f2 = FileAccess::open(update_cache, FileAccess::READ); String l = f2->get_line().strip_edges(); - while (l != String()) { + while (!l.is_empty()) { file_cache.erase(l); //erase cache for this, so it gets updated l = f2->get_line().strip_edges(); } @@ -405,7 +405,7 @@ bool EditorFileSystem::_test_for_reimport(const String &p_path, bool p_only_impo return false; //parse error, try reimport manually (Avoid reimport loop on broken file) } - if (assign != String()) { + if (!assign.is_empty()) { if (assign.begins_with("path")) { to_check.push_back(value); } else if (assign == "files") { @@ -476,7 +476,7 @@ bool EditorFileSystem::_test_for_reimport(const String &p_path, bool p_only_impo memdelete(md5s); return false; // parse error } - if (assign != String()) { + if (!assign.is_empty()) { if (!p_only_imported_files) { if (assign == "source_md5") { source_md5 = value; @@ -497,11 +497,11 @@ bool EditorFileSystem::_test_for_reimport(const String &p_path, bool p_only_impo //check source md5 matching if (!p_only_imported_files) { - if (source_file != String() && source_file != p_path) { + if (!source_file.is_empty() && source_file != p_path) { return true; //file was moved, reimport } - if (source_md5 == String()) { + if (source_md5.is_empty()) { return true; //lacks md5, so just reimport } @@ -510,7 +510,7 @@ bool EditorFileSystem::_test_for_reimport(const String &p_path, bool p_only_impo return true; } - if (dest_files.size() && dest_md5 != String()) { + if (dest_files.size() && !dest_md5.is_empty()) { md5 = FileAccess::get_multiple_md5(dest_files); if (md5 != dest_md5) { return true; @@ -710,7 +710,7 @@ void EditorFileSystem::_scan_new_dir(EditorFileSystemDirectory *p_dir, DirAccess da->list_dir_begin(); while (true) { String f = da->get_next(); - if (f == "") { + if (f.is_empty()) { break; } @@ -820,7 +820,7 @@ void EditorFileSystem::_scan_new_dir(EditorFileSystemDirectory *p_dir, DirAccess scan_actions.push_back(ia); } - if (fc->type == String()) { + if (fc->type.is_empty()) { fi->type = ResourceLoader::get_resource_type(path); fi->import_group_file = ResourceLoader::get_import_group_file(path); //there is also the chance that file type changed due to reimport, must probably check this somehow here (or kind of note it for next time in another file?) @@ -932,7 +932,7 @@ void EditorFileSystem::_scan_fs_changes(EditorFileSystemDirectory *p_dir, const da->list_dir_begin(); while (true) { String f = da->get_next(); - if (f == "") { + if (f.is_empty()) { break; } @@ -1246,7 +1246,7 @@ void EditorFileSystem::_save_filesystem_cache(EditorFileSystemDirectory *p_dir, p_file->store_line("::" + p_dir->get_path() + "::" + String::num(p_dir->modified_time)); for (int i = 0; i < p_dir->files.size(); i++) { - if (p_dir->files[i]->import_group_file != String()) { + if (!p_dir->files[i]->import_group_file.is_empty()) { group_file_cache.insert(p_dir->files[i]->import_group_file); } String s = p_dir->files[i]->file + "::" + p_dir->files[i]->type + "::" + itos(p_dir->files[i]->uid) + "::" + itos(p_dir->files[i]->modified_time) + "::" + itos(p_dir->files[i]->import_modified_time) + "::" + itos(p_dir->files[i]->import_valid) + "::" + p_dir->files[i]->import_group_file + "::" + p_dir->files[i]->script_class_name + "<>" + p_dir->files[i]->script_class_extends + "<>" + p_dir->files[i]->script_class_icon_path; @@ -1386,7 +1386,7 @@ EditorFileSystemDirectory *EditorFileSystem::get_filesystem_path(const String &p f = f.substr(6, f.length()); f = f.replace("\\", "/"); - if (f == String()) { + if (f.is_empty()) { return filesystem; } @@ -1465,7 +1465,7 @@ void EditorFileSystem::_scan_script_classes(EditorFileSystemDirectory *p_dir) { int filecount = p_dir->files.size(); const EditorFileSystemDirectory::FileInfo *const *files = p_dir->files.ptr(); for (int i = 0; i < filecount; i++) { - if (files[i]->script_class_name == String()) { + if (files[i]->script_class_name.is_empty()) { continue; } @@ -1545,7 +1545,7 @@ void EditorFileSystem::update_file(const String &p_file) { } String type = ResourceLoader::get_resource_type(p_file); - if (type == "" && textfile_extensions.has(p_file.get_extension())) { + if (type.is_empty() && textfile_extensions.has(p_file.get_extension())) { type = "TextFile"; } ResourceUID::ID uid = ResourceLoader::get_resource_uid(p_file); @@ -1616,9 +1616,9 @@ Error EditorFileSystem::_reimport_group(const String &p_group_file, const Vector ERR_CONTINUE(err != OK); ERR_CONTINUE(!config->has_section_key("remap", "importer")); String file_importer_name = config->get_value("remap", "importer"); - ERR_CONTINUE(file_importer_name == String()); + ERR_CONTINUE(file_importer_name.is_empty()); - if (importer_name != String() && importer_name != file_importer_name) { + if (!importer_name.is_empty() && importer_name != file_importer_name) { EditorNode::get_singleton()->show_warning(vformat(TTR("There are multiple importers for different types pointing to file %s, import aborted"), p_group_file)); ERR_FAIL_V(ERR_FILE_CORRUPT); } @@ -1656,7 +1656,7 @@ Error EditorFileSystem::_reimport_group(const String &p_group_file, const Vector return OK; // (do nothing) } - ERR_FAIL_COND_V(importer_name == String(), ERR_UNCONFIGURED); + ERR_FAIL_COND_V(importer_name.is_empty(), ERR_UNCONFIGURED); Ref<ResourceImporter> importer = ResourceFormatImporter::get_singleton()->get_importer_by_name(importer_name); @@ -1677,7 +1677,7 @@ Error EditorFileSystem::_reimport_group(const String &p_group_file, const Vector if (version > 0) { f->store_line("importer_version=" + itos(version)); } - if (importer->get_resource_type() != "") { + if (!importer->get_resource_type().is_empty()) { f->store_line("type=\"" + importer->get_resource_type() + "\""); } @@ -1759,7 +1759,7 @@ Error EditorFileSystem::_reimport_group(const String &p_group_file, const Vector if (ResourceCache::has(file)) { Resource *r = ResourceCache::get(file); - if (r->get_import_path() != String()) { + if (!r->get_import_path().is_empty()) { String dst_path = ResourceFormatImporter::get_singleton()->get_internal_resource_path(file); r->set_import_path(dst_path); r->set_import_last_modified_time(0); @@ -1783,7 +1783,7 @@ void EditorFileSystem::_reimport_file(const String &p_file, const Map<StringName Map<StringName, Variant> params; String importer_name; //empty by default though - if (p_custom_importer != String()) { + if (!p_custom_importer.is_empty()) { importer_name = p_custom_importer; } if (p_custom_options != nullptr) { @@ -1808,7 +1808,7 @@ void EditorFileSystem::_reimport_file(const String &p_file, const Map<StringName } if (cf->has_section("remap")) { - if (p_custom_importer == String()) { + if (p_custom_importer.is_empty()) { importer_name = cf->get_value("remap", "importer"); } @@ -1834,7 +1834,7 @@ void EditorFileSystem::_reimport_file(const String &p_file, const Map<StringName Ref<ResourceImporter> importer; bool load_default = false; //find the importer - if (importer_name != "") { + if (!importer_name.is_empty()) { importer = ResourceFormatImporter::get_singleton()->get_importer_by_name(importer_name); } @@ -1894,7 +1894,7 @@ void EditorFileSystem::_reimport_file(const String &p_file, const Map<StringName if (version > 0) { f->store_line("importer_version=" + itos(version)); } - if (importer->get_resource_type() != "") { + if (!importer->get_resource_type().is_empty()) { f->store_line("type=\"" + importer->get_resource_type() + "\""); } @@ -1907,7 +1907,7 @@ void EditorFileSystem::_reimport_file(const String &p_file, const Map<StringName Vector<String> dest_paths; if (err == OK) { - if (importer->get_save_extension() == "") { + if (importer->get_save_extension().is_empty()) { //no path } else if (import_variants.size()) { //import with variants @@ -2003,7 +2003,7 @@ void EditorFileSystem::_reimport_file(const String &p_file, const Map<StringName if (ResourceCache::has(p_file)) { Resource *r = ResourceCache::get(p_file); - if (r->get_import_path() != String()) { + if (!r->get_import_path().is_empty()) { String dst_path = ResourceFormatImporter::get_singleton()->get_internal_resource_path(p_file); r->set_import_path(dst_path); r->set_import_last_modified_time(0); @@ -2062,7 +2062,7 @@ void EditorFileSystem::reimport_files(const Vector<String> &p_files) { groups_to_reimport.insert(file); //groups do not belong to grups group_file = String(); - } else if (group_file != String()) { + } else if (!group_file.is_empty()) { //it's a group file, add group to import and skip this file groups_to_reimport.insert(group_file); } else { diff --git a/editor/editor_file_system.h b/editor/editor_file_system.h index feadd0f2b2..ecc71e7d42 100644 --- a/editor/editor_file_system.h +++ b/editor/editor_file_system.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_folding.cpp b/editor/editor_folding.cpp index 29e3236ac2..266a064807 100644 --- a/editor/editor_folding.cpp +++ b/editor/editor_folding.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -113,7 +113,7 @@ void EditorFolding::_fill_folds(const Node *p_root, const Node *p_node, Array &p if (E.usage & PROPERTY_USAGE_EDITOR) { if (E.type == Variant::OBJECT) { RES res = p_node->get(E.name); - if (res.is_valid() && !resources.has(res) && res->get_path() != String() && !res->get_path().is_resource_file()) { + if (res.is_valid() && !resources.has(res) && !res->get_path().is_empty() && !res->get_path().is_resource_file()) { Vector<String> res_unfolds = _get_unfolds(res.ptr()); resource_folds.push_back(res->get_path()); resource_folds.push_back(res_unfolds); @@ -243,8 +243,8 @@ void EditorFolding::_do_object_unfolds(Object *p_object, Set<RES> &resources) { //can unfold if (E.usage & PROPERTY_USAGE_EDITOR) { - if (group != "") { //group - if (group_base == String() || E.name.begins_with(group_base)) { + if (!group.is_empty()) { //group + if (group_base.is_empty() || E.name.begins_with(group_base)) { bool can_revert = EditorPropertyRevert::can_property_revert(p_object, E.name); if (can_revert) { unfold_group.insert(group); @@ -262,11 +262,7 @@ void EditorFolding::_do_object_unfolds(Object *p_object, Set<RES> &resources) { if (E.type == Variant::OBJECT) { RES res = p_object->get(E.name); - print_line("res: " + String(E.name) + " valid " + itos(res.is_valid())); - if (res.is_valid()) { - print_line("path " + res->get_path()); - } - if (res.is_valid() && !resources.has(res) && res->get_path() != String() && !res->get_path().is_resource_file()) { + if (res.is_valid() && !resources.has(res) && !res->get_path().is_empty() && !res->get_path().is_resource_file()) { resources.insert(res); _do_object_unfolds(res.ptr(), resources); } diff --git a/editor/editor_folding.h b/editor/editor_folding.h index 90deb7c0e8..442d710d71 100644 --- a/editor/editor_folding.h +++ b/editor/editor_folding.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_fonts.cpp b/editor/editor_fonts.cpp index a644e3e991..827eb76db5 100644 --- a/editor/editor_fonts.cpp +++ b/editor/editor_fonts.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -78,7 +78,7 @@ } \ { \ Dictionary variations; \ - if (m_variations != String()) { \ + if (!m_variations.is_empty()) { \ Vector<String> variation_tags = m_variations.split(","); \ for (int i = 0; i < variation_tags.size(); i++) { \ Vector<String> tokens = variation_tags[i].split("="); \ @@ -104,7 +104,7 @@ } \ { \ Dictionary variations; \ - if (m_variations != String()) { \ + if (!m_variations.is_empty()) { \ Vector<String> variation_tags = m_variations.split(","); \ for (int i = 0; i < variation_tags.size(); i++) { \ Vector<String> tokens = variation_tags[i].split("="); \ @@ -130,7 +130,7 @@ } \ { \ Dictionary variations; \ - if (m_variations != String()) { \ + if (!m_variations.is_empty()) { \ Vector<String> variation_tags = m_variations.split(","); \ for (int i = 0; i < variation_tags.size(); i++) { \ Vector<String> tokens = variation_tags[i].split("="); \ diff --git a/editor/editor_fonts.h b/editor/editor_fonts.h index 59ee482b53..e450af00da 100644 --- a/editor/editor_fonts.h +++ b/editor/editor_fonts.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_help.cpp b/editor/editor_help.cpp index f520877256..5178f50553 100644 --- a/editor/editor_help.cpp +++ b/editor/editor_help.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -235,10 +235,9 @@ void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview if (p_overview) { class_desc->push_cell(); - class_desc->push_paragraph(RichTextLabel::ALIGN_RIGHT, Control::TEXT_DIRECTION_AUTO, ""); + class_desc->push_paragraph(HORIZONTAL_ALIGNMENT_RIGHT, Control::TEXT_DIRECTION_AUTO, ""); } else { - static const char32_t prefix[3] = { 0x25CF /* filled circle */, ' ', 0 }; - class_desc->add_text(String(prefix)); + _add_bulletpoint(); } _add_type(p_method.return_type, p_method.return_enum); @@ -251,7 +250,7 @@ void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview class_desc->add_text(" "); } - if (p_overview && p_method.description != "") { + if (p_overview && !p_method.description.is_empty()) { class_desc->push_meta("@method " + p_method.name); } @@ -259,7 +258,7 @@ void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview _add_text(p_method.name); class_desc->pop(); - if (p_overview && p_method.description != "") { + if (p_overview && !p_method.description.is_empty()) { class_desc->pop(); //meta } @@ -276,7 +275,7 @@ void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview _add_text(p_method.arguments[j].name); class_desc->add_text(": "); _add_type(p_method.arguments[j].type, p_method.arguments[j].enumeration); - if (p_method.arguments[j].default_value != "") { + if (!p_method.arguments[j].default_value.is_empty()) { class_desc->push_color(symbol_color); class_desc->add_text(" = "); class_desc->pop(); @@ -302,7 +301,7 @@ void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview class_desc->push_color(symbol_color); class_desc->add_text(")"); class_desc->pop(); - if (p_method.qualifiers != "") { + if (!p_method.qualifiers.is_empty()) { class_desc->push_color(qualifier_color); class_desc->add_text(" "); _add_text(p_method.qualifiers); @@ -314,6 +313,11 @@ void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview } } +void EditorHelp::_add_bulletpoint() { + static const char32_t prefix[3] = { 0x25CF /* filled circle */, ' ', 0 }; + class_desc->add_text(String(prefix)); +} + Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { if (!doc->class_list.has(p_class)) { return ERR_DOES_NOT_EXIST; @@ -371,7 +375,7 @@ void EditorHelp::_update_method_list(const Vector<DocData::MethodDoc> p_methods, if (i < m.size() - 1 && new_prefix == m[i + 1].name.substr(0, 3) && new_prefix != group_prefix) { is_new_group = i > 0; group_prefix = new_prefix; - } else if (group_prefix != "" && new_prefix != group_prefix) { + } else if (!group_prefix.is_empty() && new_prefix != group_prefix) { is_new_group = true; group_prefix = ""; } @@ -383,7 +387,7 @@ void EditorHelp::_update_method_list(const Vector<DocData::MethodDoc> p_methods, class_desc->pop(); //cell } - if (m[i].description != "" || m[i].errors_returned.size() > 0) { + if (!m[i].description.is_empty() || m[i].errors_returned.size() > 0) { r_method_descrpitons = true; } @@ -517,19 +521,19 @@ void EditorHelp::_update_doc() { // Inheritance tree // Ascendents - if (cd.inherits != "") { + if (!cd.inherits.is_empty()) { class_desc->push_color(title_color); class_desc->push_font(doc_font); class_desc->add_text(TTR("Inherits:") + " "); String inherits = cd.inherits; - while (inherits != "") { + while (!inherits.is_empty()) { _add_type(inherits); inherits = doc->class_list[inherits].inherits; - if (inherits != "") { + if (!inherits.is_empty()) { class_desc->add_text(" < "); } } @@ -573,7 +577,7 @@ void EditorHelp::_update_doc() { class_desc->add_newline(); // Brief description - if (cd.brief_description != "") { + if (!cd.brief_description.is_empty()) { class_desc->push_color(text_color); class_desc->push_font(doc_bold_font); class_desc->push_indent(1); @@ -587,7 +591,7 @@ void EditorHelp::_update_doc() { } // Class description - if (cd.description != "") { + if (!cd.description.is_empty()) { section_line.push_back(Pair<String, int>(TTR("Description"), class_desc->get_line_count() - 2)); description_line = class_desc->get_line_count() - 2; class_desc->push_color(title_color); @@ -669,7 +673,7 @@ void EditorHelp::_update_doc() { class_desc->add_newline(); class_desc->push_font(doc_code_font); class_desc->push_indent(1); - class_desc->push_table(2); + class_desc->push_table(4); class_desc->set_table_column_expand(1, true); for (int i = 0; i < cd.properties.size(); i++) { @@ -679,26 +683,27 @@ void EditorHelp::_update_doc() { } property_line[cd.properties[i].name] = class_desc->get_line_count() - 2; //gets overridden if description + // Property type. class_desc->push_cell(); - class_desc->push_paragraph(RichTextLabel::ALIGN_RIGHT, Control::TEXT_DIRECTION_AUTO, ""); + class_desc->push_paragraph(HORIZONTAL_ALIGNMENT_RIGHT, Control::TEXT_DIRECTION_AUTO, ""); class_desc->push_font(doc_code_font); _add_type(cd.properties[i].type, cd.properties[i].enumeration); class_desc->pop(); class_desc->pop(); - class_desc->pop(); + class_desc->pop(); // cell bool describe = false; - if (cd.properties[i].setter != "") { + if (!cd.properties[i].setter.is_empty()) { skip_methods.insert(cd.properties[i].setter); describe = true; } - if (cd.properties[i].getter != "") { + if (!cd.properties[i].getter.is_empty()) { skip_methods.insert(cd.properties[i].getter); describe = true; } - if (cd.properties[i].description != "") { + if (!cd.properties[i].description.is_empty()) { describe = true; } @@ -706,6 +711,7 @@ void EditorHelp::_update_doc() { describe = false; } + // Property name. class_desc->push_cell(); class_desc->push_font(doc_code_font); class_desc->push_color(headline_color); @@ -721,30 +727,55 @@ void EditorHelp::_update_doc() { property_descr = true; } - if (cd.properties[i].default_value != "") { + class_desc->pop(); + class_desc->pop(); + class_desc->pop(); // cell + + // Property value. + class_desc->push_cell(); + class_desc->push_font(doc_code_font); + + if (!cd.properties[i].default_value.is_empty()) { class_desc->push_color(symbol_color); - class_desc->add_text(cd.properties[i].overridden ? " [" + TTR("override:") + " " : " [" + TTR("default:") + " "); + if (cd.properties[i].overridden) { + class_desc->add_text(" ["); + class_desc->push_meta("@member " + cd.properties[i].overrides + "." + cd.properties[i].name); + _add_text(vformat(TTR("overrides %s:"), cd.properties[i].overrides)); + class_desc->pop(); + class_desc->add_text(" "); + } else { + class_desc->add_text(" [" + TTR("default:") + " "); + } class_desc->pop(); + class_desc->push_color(value_color); _add_text(_fix_constant(cd.properties[i].default_value)); class_desc->pop(); + class_desc->push_color(symbol_color); class_desc->add_text("]"); class_desc->pop(); } - if (cd.is_script_doc && (cd.properties[i].setter != "" || cd.properties[i].getter != "")) { + class_desc->pop(); + class_desc->pop(); // cell + + // Property setters and getters. + class_desc->push_cell(); + class_desc->push_font(doc_code_font); + + if (cd.is_script_doc && (!cd.properties[i].setter.is_empty() || !cd.properties[i].getter.is_empty())) { class_desc->push_color(symbol_color); class_desc->add_text(" [" + TTR("property:") + " "); class_desc->pop(); // color - if (cd.properties[i].setter != "") { + if (!cd.properties[i].setter.is_empty()) { class_desc->push_color(value_color); class_desc->add_text("setter"); class_desc->pop(); // color } - if (cd.properties[i].getter != "") { - if (cd.properties[i].setter != "") { + if (!cd.properties[i].getter.is_empty()) { + if (!cd.properties[i].setter.is_empty()) { class_desc->push_color(symbol_color); class_desc->add_text(", "); class_desc->pop(); // color @@ -760,12 +791,10 @@ void EditorHelp::_update_doc() { } class_desc->pop(); - class_desc->pop(); - - class_desc->pop(); + class_desc->pop(); // cell } - class_desc->pop(); //table + class_desc->pop(); // table class_desc->pop(); class_desc->pop(); // font class_desc->add_newline(); @@ -837,28 +866,55 @@ void EditorHelp::_update_doc() { class_desc->pop(); class_desc->pop(); + class_desc->add_newline(); + class_desc->add_newline(); + class_desc->push_indent(1); - class_desc->push_table(2); - class_desc->set_table_column_expand(1, true); + + String theme_data_type; + Map<String, String> data_type_names; + data_type_names["color"] = TTR("Colors"); + data_type_names["constant"] = TTR("Constants"); + data_type_names["font"] = TTR("Fonts"); + data_type_names["font_size"] = TTR("Font Sizes"); + data_type_names["icon"] = TTR("Icons"); + data_type_names["style"] = TTR("Styles"); for (int i = 0; i < cd.theme_properties.size(); i++) { theme_property_line[cd.theme_properties[i].name] = class_desc->get_line_count() - 2; //gets overridden if description - class_desc->push_cell(); - class_desc->push_paragraph(RichTextLabel::ALIGN_RIGHT, Control::TEXT_DIRECTION_AUTO, ""); + if (theme_data_type != cd.theme_properties[i].data_type) { + theme_data_type = cd.theme_properties[i].data_type; + + class_desc->push_color(title_color); + class_desc->push_font(doc_title_font); + if (data_type_names.has(theme_data_type)) { + class_desc->add_text(data_type_names[theme_data_type]); + } else { + class_desc->add_text(""); + } + class_desc->pop(); + class_desc->pop(); + + class_desc->add_newline(); + class_desc->add_newline(); + } + + // Theme item header. class_desc->push_font(doc_code_font); + _add_bulletpoint(); + + // Theme item object type. _add_type(cd.theme_properties[i].type); - class_desc->pop(); - class_desc->pop(); - class_desc->pop(); - class_desc->push_cell(); - class_desc->push_font(doc_code_font); + // Theme item name. class_desc->push_color(headline_color); + class_desc->add_text(" "); _add_text(cd.theme_properties[i].name); class_desc->pop(); - if (cd.theme_properties[i].default_value != "") { + // Theme item default value. + if (!cd.theme_properties[i].default_value.is_empty()) { class_desc->push_color(symbol_color); class_desc->add_text(" [" + TTR("default:") + " "); class_desc->pop(); @@ -870,23 +926,25 @@ void EditorHelp::_update_doc() { class_desc->pop(); } - class_desc->pop(); + class_desc->pop(); // monofont - if (cd.theme_properties[i].description != "") { + // Theme item description. + if (!cd.theme_properties[i].description.is_empty()) { class_desc->push_font(doc_font); class_desc->push_color(comment_color); - class_desc->add_text(U" – "); + class_desc->push_indent(1); _add_text(DTR(cd.theme_properties[i].description)); - class_desc->pop(); - class_desc->pop(); + class_desc->pop(); // indent + class_desc->pop(); // color + class_desc->pop(); // font } - class_desc->pop(); // cell + + class_desc->add_newline(); + class_desc->add_newline(); } - class_desc->pop(); // table class_desc->pop(); class_desc->add_newline(); - class_desc->add_newline(); } // Signals @@ -909,10 +967,10 @@ void EditorHelp::_update_doc() { for (int i = 0; i < cd.signals.size(); i++) { signal_line[cd.signals[i].name] = class_desc->get_line_count() - 2; //gets overridden if description + class_desc->push_font(doc_code_font); // monofont class_desc->push_color(headline_color); - static const char32_t prefix[3] = { 0x25CF /* filled circle */, ' ', 0 }; - class_desc->add_text(String(prefix)); + _add_bulletpoint(); _add_text(cd.signals[i].name); class_desc->pop(); class_desc->push_color(symbol_color); @@ -927,7 +985,7 @@ void EditorHelp::_update_doc() { _add_text(cd.signals[i].arguments[j].name); class_desc->add_text(": "); _add_type(cd.signals[i].arguments[j].type); - if (cd.signals[i].arguments[j].default_value != "") { + if (!cd.signals[i].arguments[j].default_value.is_empty()) { class_desc->push_color(symbol_color); class_desc->add_text(" = "); class_desc->pop(); @@ -941,7 +999,7 @@ void EditorHelp::_update_doc() { class_desc->add_text(")"); class_desc->pop(); class_desc->pop(); // end monofont - if (cd.signals[i].description != "") { + if (!cd.signals[i].description.is_empty()) { class_desc->push_font(doc_font); class_desc->push_color(comment_color); class_desc->push_indent(1); @@ -1043,8 +1101,7 @@ void EditorHelp::_update_doc() { class_desc->push_font(doc_code_font); class_desc->push_color(headline_color); - static const char32_t prefix[3] = { 0x25CF /* filled circle */, ' ', 0 }; - class_desc->add_text(String(prefix)); + _add_bulletpoint(); _add_text(enum_list[i].name); class_desc->pop(); class_desc->push_color(symbol_color); @@ -1054,10 +1111,12 @@ void EditorHelp::_update_doc() { _add_text(_fix_constant(enum_list[i].value)); class_desc->pop(); class_desc->pop(); - if (enum_list[i].description != "") { + + class_desc->add_newline(); + + if (!enum_list[i].description.strip_edges().is_empty()) { class_desc->push_font(doc_font); class_desc->push_color(comment_color); - class_desc->add_text(U" – "); _add_text(DTR(enum_list[i].description)); class_desc->pop(); class_desc->pop(); @@ -1103,13 +1162,11 @@ void EditorHelp::_update_doc() { Vector<float> color = stripped.split_floats(","); if (color.size() >= 3) { class_desc->push_color(Color(color[0], color[1], color[2])); - static const char32_t prefix[3] = { 0x25CF /* filled circle */, ' ', 0 }; - class_desc->add_text(String(prefix)); + _add_bulletpoint(); class_desc->pop(); } } else { - static const char32_t prefix[3] = { 0x25CF /* filled circle */, ' ', 0 }; - class_desc->add_text(String(prefix)); + _add_bulletpoint(); } class_desc->push_color(headline_color); @@ -1123,10 +1180,12 @@ void EditorHelp::_update_doc() { class_desc->pop(); class_desc->pop(); - if (constants[i].description != "") { + + class_desc->add_newline(); + + if (!constants[i].description.is_empty()) { class_desc->push_font(doc_font); class_desc->push_color(comment_color); - class_desc->add_text(U" – "); _add_text(DTR(constants[i].description)); class_desc->pop(); class_desc->pop(); @@ -1167,8 +1226,7 @@ void EditorHelp::_update_doc() { class_desc->push_cell(); class_desc->push_font(doc_code_font); - static const char32_t prefix[3] = { 0x25CF /* filled circle */, ' ', 0 }; - class_desc->add_text(String(prefix)); + _add_bulletpoint(); _add_type(cd.properties[i].type, cd.properties[i].enumeration); class_desc->add_text(" "); @@ -1181,7 +1239,7 @@ void EditorHelp::_update_doc() { _add_text(cd.properties[i].name); class_desc->pop(); // color - if (cd.properties[i].default_value != "") { + if (!cd.properties[i].default_value.is_empty()) { class_desc->push_color(symbol_color); class_desc->add_text(" [" + TTR("default:") + " "); class_desc->pop(); // color @@ -1195,18 +1253,18 @@ void EditorHelp::_update_doc() { class_desc->pop(); // color } - if (cd.is_script_doc && (cd.properties[i].setter != "" || cd.properties[i].getter != "")) { + if (cd.is_script_doc && (!cd.properties[i].setter.is_empty() || !cd.properties[i].getter.is_empty())) { class_desc->push_color(symbol_color); class_desc->add_text(" [" + TTR("property:") + " "); class_desc->pop(); // color - if (cd.properties[i].setter != "") { + if (!cd.properties[i].setter.is_empty()) { class_desc->push_color(value_color); class_desc->add_text("setter"); class_desc->pop(); // color } - if (cd.properties[i].getter != "") { - if (cd.properties[i].setter != "") { + if (!cd.properties[i].getter.is_empty()) { + if (!cd.properties[i].setter.is_empty()) { class_desc->push_color(symbol_color); class_desc->add_text(", "); class_desc->pop(); // color @@ -1231,7 +1289,7 @@ void EditorHelp::_update_doc() { method_map[methods[j].name] = methods[j]; } - if (cd.properties[i].setter != "") { + if (!cd.properties[i].setter.is_empty()) { class_desc->push_cell(); class_desc->pop(); // cell @@ -1255,7 +1313,7 @@ void EditorHelp::_update_doc() { method_line[cd.properties[i].setter] = property_line[cd.properties[i].name]; } - if (cd.properties[i].getter != "") { + if (!cd.properties[i].getter.is_empty()) { class_desc->push_cell(); class_desc->pop(); // cell @@ -1588,7 +1646,7 @@ static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt) { tag_stack.push_front(tag); } else if (tag == "center") { //align to center - p_rt->push_paragraph(RichTextLabel::ALIGN_CENTER, Control::TEXT_DIRECTION_AUTO, ""); + p_rt->push_paragraph(HORIZONTAL_ALIGNMENT_CENTER, Control::TEXT_DIRECTION_AUTO, ""); pos = brk_end + 1; tag_stack.push_front(tag); } else if (tag == "br") { @@ -1740,11 +1798,11 @@ void EditorHelp::search_again(bool p_search_previous) { } int EditorHelp::get_scroll() const { - return class_desc->get_v_scroll()->get_value(); + return class_desc->get_v_scroll_bar()->get_value(); } void EditorHelp::set_scroll(int p_scroll) { - class_desc->get_v_scroll()->set_value(p_scroll); + class_desc->get_v_scroll_bar()->set_value(p_scroll); } void EditorHelp::update_toggle_scripts_button() { diff --git a/editor/editor_help.h b/editor/editor_help.h index c0f3f66505..f74c64bb7c 100644 --- a/editor/editor_help.h +++ b/editor/editor_help.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -145,6 +145,8 @@ class EditorHelp : public VBoxContainer { void _add_type(const String &p_type, const String &p_enum = String()); void _add_method(const DocData::MethodDoc &p_method, bool p_overview = true); + void _add_bulletpoint(); + void _class_list_select(const String &p_select); void _class_desc_select(const String &p_select); void _class_desc_input(const Ref<InputEvent> &p_input); diff --git a/editor/editor_help_search.cpp b/editor/editor_help_search.cpp index 578e21861e..19da6686a5 100644 --- a/editor/editor_help_search.cpp +++ b/editor/editor_help_search.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -161,7 +161,7 @@ void EditorHelpSearch::popup_dialog(const String &p_term) { popup_centered_ratio(0.5F); } - if (p_term == "") { + if (p_term.is_empty()) { search_box->clear(); } else { if (old_term == p_term) { @@ -331,7 +331,7 @@ bool EditorHelpSearch::Runner::_phase_match_classes() { // Match class name. if (search_flags & SEARCH_CLASSES) { - match.name = term == "" || _match_string(term, class_doc.name); + match.name = term.is_empty() || _match_string(term, class_doc.name); } // Match members if the term is long enough. @@ -513,7 +513,7 @@ TreeItem *EditorHelpSearch::Runner::_create_class_hierarchy(const ClassMatch &p_ // Ensure parent nodes are created first. TreeItem *parent = root_item; - if (p_match.doc->inherits != "") { + if (!p_match.doc->inherits.is_empty()) { if (class_items.has(p_match.doc->inherits)) { parent = class_items[p_match.doc->inherits]; } else { @@ -558,7 +558,7 @@ TreeItem *EditorHelpSearch::Runner::_create_method_item(TreeItem *p_parent, cons for (int i = 0; i < p_doc->arguments.size(); i++) { const DocData::ArgumentDoc &arg = p_doc->arguments[i]; tooltip += arg.type + " " + arg.name; - if (arg.default_value != "") { + if (!arg.default_value.is_empty()) { tooltip += " = " + arg.default_value; } if (i < p_doc->arguments.size() - 1) { @@ -574,7 +574,7 @@ TreeItem *EditorHelpSearch::Runner::_create_signal_item(TreeItem *p_parent, cons for (int i = 0; i < p_doc->arguments.size(); i++) { const DocData::ArgumentDoc &arg = p_doc->arguments[i]; tooltip += arg.type + " " + arg.name; - if (arg.default_value != "") { + if (!arg.default_value.is_empty()) { tooltip += " = " + arg.default_value; } if (i < p_doc->arguments.size() - 1) { diff --git a/editor/editor_help_search.h b/editor/editor_help_search.h index 7285f76c01..7d918d0c68 100644 --- a/editor/editor_help_search.h +++ b/editor/editor_help_search.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_inspector.cpp b/editor/editor_inspector.cpp index e1fae47057..d01954a5f3 100644 --- a/editor/editor_inspector.cpp +++ b/editor/editor_inspector.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -310,7 +310,7 @@ void EditorProperty::_notification(int p_what) { Ref<Texture2D> pinned_icon = get_theme_icon(SNAME("Pin"), SNAME("EditorIcons")); int margin_w = get_theme_constant(SNAME("hseparator"), SNAME("Tree")) * 2; int total_icon_w = margin_w + pinned_icon->get_width(); - int text_w = font->get_string_size(label, font_size, rtl ? HALIGN_RIGHT : HALIGN_LEFT, text_limit - total_icon_w).x; + int text_w = font->get_string_size(label, font_size, rtl ? HORIZONTAL_ALIGNMENT_RIGHT : HORIZONTAL_ALIGNMENT_LEFT, text_limit - total_icon_w).x; int y = (size.height - pinned_icon->get_height()) / 2; if (rtl) { draw_texture(pinned_icon, Vector2(size.width - ofs - text_w - total_icon_w, y), color); @@ -322,9 +322,9 @@ void EditorProperty::_notification(int p_what) { int v_ofs = (size.height - font->get_height(font_size)) / 2; if (rtl) { - draw_string(font, Point2(size.width - ofs - text_limit, v_ofs + font->get_ascent(font_size)), label, HALIGN_RIGHT, text_limit, font_size, color); + draw_string(font, Point2(size.width - ofs - text_limit, v_ofs + font->get_ascent(font_size)), label, HORIZONTAL_ALIGNMENT_RIGHT, text_limit, font_size, color); } else { - draw_string(font, Point2(ofs, v_ofs + font->get_ascent(font_size)), label, HALIGN_LEFT, text_limit, font_size, color); + draw_string(font, Point2(ofs, v_ofs + font->get_ascent(font_size)), label, HORIZONTAL_ALIGNMENT_LEFT, text_limit, font_size, color); } if (keying) { @@ -413,17 +413,21 @@ bool EditorProperty::is_read_only() const { return read_only; } -Variant EditorPropertyRevert::get_property_revert_value(Object *p_object, const StringName &p_property) { +Variant EditorPropertyRevert::get_property_revert_value(Object *p_object, const StringName &p_property, bool *r_is_valid) { if (p_object->has_method("property_can_revert") && p_object->call("property_can_revert", p_property)) { + if (r_is_valid) { + *r_is_valid = true; + } return p_object->call("property_get_revert", p_property); } - return PropertyUtils::get_property_default_value(p_object, p_property); + return PropertyUtils::get_property_default_value(p_object, p_property, r_is_valid); } bool EditorPropertyRevert::can_property_revert(Object *p_object, const StringName &p_property) { - Variant revert_value = EditorPropertyRevert::get_property_revert_value(p_object, p_property); - if (revert_value.get_type() == Variant::NIL) { + bool is_valid_revert = false; + Variant revert_value = EditorPropertyRevert::get_property_revert_value(p_object, p_property, &is_valid_revert); + if (!is_valid_revert) { return false; } Variant current_value = p_object->get(p_property); @@ -637,7 +641,9 @@ void EditorProperty::gui_input(const Ref<InputEvent> &p_event) { } if (revert_rect.has_point(mpos)) { - Variant revert_value = EditorPropertyRevert::get_property_revert_value(object, property); + bool is_valid_revert = false; + Variant revert_value = EditorPropertyRevert::get_property_revert_value(object, property, &is_valid_revert); + ERR_FAIL_COND(!is_valid_revert); emit_changed(property, revert_value); update_property(); } @@ -783,8 +789,9 @@ static bool _is_value_potential_override(Node *p_node, const String &p_property) if (states_stack.size()) { return true; } else { + bool is_valid_default = false; bool is_class_default = false; - PropertyUtils::get_property_default_value(p_node, p_property, &states_stack, false, nullptr, &is_class_default); + PropertyUtils::get_property_default_value(p_node, p_property, &is_valid_default, &states_stack, false, nullptr, &is_class_default); return !is_class_default; } } @@ -1077,7 +1084,7 @@ void EditorInspectorCategory::_notification(int p_what) { } Color color = get_theme_color(SNAME("font_color"), SNAME("Tree")); - draw_string(font, Point2(ofs, font->get_ascent(font_size) + (get_size().height - font->get_height(font_size)) / 2).floor(), label, HALIGN_LEFT, get_size().width, font_size, color); + draw_string(font, Point2(ofs, font->get_ascent(font_size) + (get_size().height - font->get_height(font_size)) / 2).floor(), label, HORIZONTAL_ALIGNMENT_LEFT, get_size().width, font_size, color); } } @@ -1144,7 +1151,7 @@ void EditorInspectorSection::_test_unfold() { void EditorInspectorSection::_notification(int p_what) { switch (p_what) { case NOTIFICATION_THEME_CHANGED: { - minimum_size_changed(); + update_minimum_size(); } break; case NOTIFICATION_SORT_CHILDREN: { if (!vbox_added) { @@ -1230,7 +1237,7 @@ void EditorInspectorSection::_notification(int p_what) { const int arrow_width = arrow.is_valid() ? arrow->get_width() : 0; Color color = get_theme_color(SNAME("font_color")); float text_width = get_size().width - Math::round(arrow_width + arrow_margin * EDSCALE); - draw_string(font, Point2(rtl ? 0 : Math::round(arrow_width + arrow_margin * EDSCALE), font->get_ascent(font_size) + (header_height - font->get_height(font_size)) / 2).floor(), label, rtl ? HALIGN_RIGHT : HALIGN_LEFT, text_width, font_size, color); + draw_string(font, Point2(rtl ? 0 : Math::round(arrow_width + arrow_margin * EDSCALE), font->get_ascent(font_size) + (header_height - font->get_height(font_size)) / 2).floor(), label, rtl ? HORIZONTAL_ALIGNMENT_RIGHT : HORIZONTAL_ALIGNMENT_LEFT, text_width, font_size, color); if (arrow.is_valid()) { if (rtl) { @@ -1555,7 +1562,7 @@ void EditorInspectorArray::_panel_gui_input(Ref<InputEvent> p_event, int p_index popup_array_index_pressed = begin_array_index + p_index; rmb_popup->set_item_disabled(OPTION_MOVE_UP, popup_array_index_pressed == 0); rmb_popup->set_item_disabled(OPTION_MOVE_DOWN, popup_array_index_pressed == count - 1); - rmb_popup->set_position(mb->get_global_position()); + rmb_popup->set_position(get_screen_position() + mb->get_position()); rmb_popup->reset_size(); rmb_popup->popup(); } @@ -1792,7 +1799,7 @@ Array EditorInspectorArray::_extract_properties_as_array(const List<PropertyInfo dict[format_string] = object->get(pi.name); output[array_index] = dict; } else { - WARN_PRINT(vformat("Array element %s has an index too high. Array allocaiton failed.", pi.name)); + WARN_PRINT(vformat("Array element %s has an index too high. Array allocation failed.", pi.name)); } } } @@ -1995,7 +2002,7 @@ void EditorInspectorArray::_notification(int p_what) { prev_page_button->set_icon(get_theme_icon(SNAME("PagePrevious"), SNAME("EditorIcons"))); next_page_button->set_icon(get_theme_icon(SNAME("PageNext"), SNAME("EditorIcons"))); last_page_button->set_icon(get_theme_icon(SNAME("PageLast"), SNAME("EditorIcons"))); - minimum_size_changed(); + update_minimum_size(); } break; case NOTIFICATION_DRAG_BEGIN: { Dictionary dict = get_viewport()->gui_get_drag_data(); @@ -2083,13 +2090,13 @@ EditorInspectorArray::EditorInspectorArray() { add_button = memnew(Button); add_button->set_text(TTR("Add Element")); - add_button->set_text_align(Button::ALIGN_CENTER); + add_button->set_text_alignment(HORIZONTAL_ALIGNMENT_CENTER); add_button->connect("pressed", callable_mp(this, &EditorInspectorArray::_add_button_pressed)); vbox->add_child(add_button); hbox_pagination = memnew(HBoxContainer); hbox_pagination->set_h_size_flags(SIZE_EXPAND_FILL); - hbox_pagination->set_alignment(HBoxContainer::ALIGN_CENTER); + hbox_pagination->set_alignment(BoxContainer::ALIGNMENT_CENTER); vbox->add_child(hbox_pagination); first_page_button = memnew(Button); @@ -2194,10 +2201,7 @@ void EditorInspector::remove_inspector_plugin(const Ref<EditorInspectorPlugin> & for (int i = idx; i < inspector_plugin_count - 1; i++) { inspector_plugins[i] = inspector_plugins[i + 1]; } - - if (idx == inspector_plugin_count - 1) { - inspector_plugins[idx] = Ref<EditorInspectorPlugin>(); - } + inspector_plugins[inspector_plugin_count - 1] = Ref<EditorInspectorPlugin>(); inspector_plugin_count--; } @@ -2242,7 +2246,7 @@ void EditorInspector::_parse_added_editors(VBoxContainer *current_vbox, Ref<Edit ep->property_usage = 0; } - if (F.label != String()) { + if (!F.label.is_empty()) { ep->set_label(F.label); } @@ -2441,7 +2445,7 @@ void EditorInspector::update_tree() { } } if (category->icon.is_null()) { - if (type != String()) { // Can happen for built-in scripts. + if (!type.is_empty()) { // Can happen for built-in scripts. category->icon = EditorNode::get_singleton()->get_class_icon(type, "Object"); } } @@ -2462,7 +2466,7 @@ void EditorInspector::update_tree() { class_descr_cache[type2] = descr; } - category->set_tooltip(p.name + "::" + (class_descr_cache[type2] == "" ? "" : class_descr_cache[type2])); + category->set_tooltip(p.name + "::" + (class_descr_cache[type2].is_empty() ? "" : class_descr_cache[type2])); } // Add editors at the start of a category. @@ -2532,7 +2536,7 @@ void EditorInspector::update_tree() { } } else { // Check if we exit or not a subgroup. If there is a prefix, remove it from the property label string. - if (subgroup != "" && subgroup_base != "") { + if (!subgroup.is_empty() && !subgroup_base.is_empty()) { if (path.begins_with(subgroup_base)) { path = path.trim_prefix(subgroup_base); } else if (subgroup_base.begins_with(path)) { @@ -2543,7 +2547,7 @@ void EditorInspector::update_tree() { } // Check if we exit or not a group. If there is a prefix, remove it from the property label string. - if (group != "" && group_base != "" && subgroup == "") { + if (!group.is_empty() && !group_base.is_empty() && subgroup.is_empty()) { if (path.begins_with(group_base)) { path = path.trim_prefix(group_base); } else if (group_base.begins_with(path)) { @@ -2555,10 +2559,10 @@ void EditorInspector::update_tree() { } // Add the group and subgroup to the path. - if (subgroup != "") { + if (!subgroup.is_empty()) { path = subgroup + "/" + path; } - if (group != "") { + if (!group.is_empty()) { path = group + "/" + path; } } @@ -2587,7 +2591,7 @@ void EditorInspector::update_tree() { } // Ignore properties that do not fit the filter. - if (use_filter && filter != "") { + if (use_filter && !filter.is_empty()) { if (!filter.is_subsequence_ofi(path) && !filter.is_subsequence_ofi(property_label_string) && property_prefix.to_lower().find(filter.to_lower()) == -1) { continue; } @@ -2710,7 +2714,7 @@ void EditorInspector::update_tree() { // Get the class name. StringName classname = object->get_class_name(); - if (object_class != String()) { + if (!object_class.is_empty()) { classname = object_class; } @@ -2732,7 +2736,7 @@ void EditorInspector::update_tree() { // Build the property description String and add it to the cache. DocTools *dd = EditorHelp::get_doc_data(); Map<String, DocData::ClassDoc>::Element *F = dd->class_list.find(classname); - while (F && descr == String()) { + while (F && descr.is_empty()) { for (int i = 0; i < F->get().properties.size(); i++) { if (F->get().properties[i].name == propname.operator String()) { descr = DTR(F->get().properties[i].description); @@ -2762,7 +2766,7 @@ void EditorInspector::update_tree() { doc_hint = descr; } - // Seach for the inspector plugin that will handle the properties. Then add the correct property editor to it. + // Search for the inspector plugin that will handle the properties. Then add the correct property editor to it. for (Ref<EditorInspectorPlugin> &ped : valid_plugins) { bool exclusive = ped->parse_property(object, p.type, p.name, p.hint, p.hint_string, p.usage, wide_editors); @@ -2784,7 +2788,7 @@ void EditorInspector::update_tree() { //and set label? } - if (F.label != String()) { + if (!F.label.is_empty()) { ep->set_label(F.label); } else { // Use the existing one. @@ -2823,7 +2827,7 @@ void EditorInspector::update_tree() { ep->connect("multiple_properties_changed", callable_mp(this, &EditorInspector::_multiple_properties_changed)); ep->connect("resource_selected", callable_mp(this, &EditorInspector::_resource_selected), varray(), CONNECT_DEFERRED); ep->connect("object_id_selected", callable_mp(this, &EditorInspector::_object_id_selected), varray(), CONNECT_DEFERRED); - if (doc_hint != String()) { + if (!doc_hint.is_empty()) { ep->set_tooltip(property_prefix + p.name + "::" + doc_hint); } else { ep->set_tooltip(property_prefix + p.name); @@ -3053,7 +3057,7 @@ void EditorInspector::_edit_request_change(Object *p_object, const String &p_pro return; } - if (p_property == String()) { + if (p_property.is_empty()) { update_tree_pending = true; } else { pending.insert(p_property); @@ -3345,7 +3349,7 @@ void EditorInspector::_notification(int p_what) { if (p_what == NOTIFICATION_PROCESS) { if (update_scroll_request >= 0) { - get_v_scrollbar()->call_deferred(SNAME("set_value"), update_scroll_request); + get_v_scroll_bar()->call_deferred(SNAME("set_value"), update_scroll_request); update_scroll_request = -1; } if (refresh_countdown > 0) { @@ -3543,8 +3547,7 @@ EditorInspector::EditorInspector() { main_vbox->set_h_size_flags(SIZE_EXPAND_FILL); main_vbox->add_theme_constant_override("separation", 0); add_child(main_vbox); - set_enable_h_scroll(false); - set_enable_v_scroll(true); + set_horizontal_scroll_mode(SCROLL_MODE_DISABLED); wide_editors = false; show_categories = false; @@ -3567,7 +3570,7 @@ EditorInspector::EditorInspector() { deletable_properties = false; property_clipboard = Variant(); - get_v_scrollbar()->connect("value_changed", callable_mp(this, &EditorInspector::_vscroll_changed)); + get_v_scroll_bar()->connect("value_changed", callable_mp(this, &EditorInspector::_vscroll_changed)); update_scroll_request = -1; if (EditorSettings::get_singleton()) { refresh_countdown = float(EditorSettings::get_singleton()->get("docks/property_editor/auto_refresh_interval")); diff --git a/editor/editor_inspector.h b/editor/editor_inspector.h index f2dfe32f82..09b25065dc 100644 --- a/editor/editor_inspector.h +++ b/editor/editor_inspector.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -46,7 +46,7 @@ public: static bool get_instantiated_node_original_property(Node *p_node, const StringName &p_prop, Variant &value, bool p_check_class_default = true); static bool is_node_property_different(Node *p_node, const Variant &p_current, const Variant &p_orig); static bool is_property_value_different(const Variant &p_a, const Variant &p_b); - static Variant get_property_revert_value(Object *p_object, const StringName &p_property); + static Variant get_property_revert_value(Object *p_object, const StringName &p_property, bool *r_is_valid); static bool can_property_revert(Object *p_object, const StringName &p_property); }; diff --git a/editor/editor_layouts_dialog.cpp b/editor/editor_layouts_dialog.cpp index 4cdeeb2396..886e29a504 100644 --- a/editor/editor_layouts_dialog.cpp +++ b/editor/editor_layouts_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -74,7 +74,7 @@ void EditorLayoutsDialog::ok_pressed() { for (int i = 0; i < selected_items.size(); ++i) { emit_signal(SNAME("name_confirmed"), layout_names->get_item_text(selected_items[i])); } - } else if (name->is_visible() && name->get_text() != "") { + } else if (name->is_visible() && !name->get_text().is_empty()) { emit_signal(SNAME("name_confirmed"), name->get_text()); } } diff --git a/editor/editor_layouts_dialog.h b/editor/editor_layouts_dialog.h index 8687660832..bbdffd6722 100644 --- a/editor/editor_layouts_dialog.h +++ b/editor/editor_layouts_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_log.cpp b/editor/editor_log.cpp index 5ace9ae03e..04bfcfac95 100644 --- a/editor/editor_log.cpp +++ b/editor/editor_log.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -162,11 +162,11 @@ void EditorLog::_clear_request() { void EditorLog::_copy_request() { String text = log->get_selected_text(); - if (text == "") { + if (text.is_empty()) { text = log->get_text(); } - if (text != "") { + if (!text.is_empty()) { DisplayServer::get_singleton()->clipboard_set(text); } } @@ -237,7 +237,7 @@ void EditorLog::_add_log_line(LogMessage &p_message, bool p_replace_previous) { // Only add the message to the log if it passes the filters. bool filter_active = type_filter_map[p_message.type]->is_active(); String search_text = search_box->get_text(); - bool search_match = search_text == String() || p_message.text.findn(search_text) > -1; + bool search_match = search_text.is_empty() || p_message.text.findn(search_text) > -1; if (!filter_active || !search_match) { return; @@ -429,7 +429,7 @@ EditorLog::EditorLog() { vb_right->add_child(editor_filter->toggle_button); type_filter_map.insert(MSG_TYPE_EDITOR, editor_filter); - add_message(VERSION_FULL_NAME " (c) 2007-2021 Juan Linietsky, Ariel Manzur & Godot Contributors."); + add_message(VERSION_FULL_NAME " (c) 2007-2022 Juan Linietsky, Ariel Manzur & Godot Contributors."); eh.errfunc = _error_handler; eh.userdata = this; diff --git a/editor/editor_log.h b/editor/editor_log.h index 43cc5680bd..69a6a0b449 100644 --- a/editor/editor_log.h +++ b/editor/editor_log.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_native_shader_source_visualizer.cpp b/editor/editor_native_shader_source_visualizer.cpp index f98ac5af79..1813963f6f 100644 --- a/editor/editor_native_shader_source_visualizer.cpp +++ b/editor/editor_native_shader_source_visualizer.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_native_shader_source_visualizer.h b/editor/editor_native_shader_source_visualizer.h index 72a2f8baae..78034dc3ba 100644 --- a/editor/editor_native_shader_source_visualizer.h +++ b/editor/editor_native_shader_source_visualizer.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 6aaf0b063f..1fb9f875ba 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -477,6 +477,7 @@ void EditorNode::_update_from_settings() { RS::get_singleton()->environment_set_ssao_quality(RS::EnvironmentSSAOQuality(int(GLOBAL_GET("rendering/environment/ssao/quality"))), GLOBAL_GET("rendering/environment/ssao/half_size"), GLOBAL_GET("rendering/environment/ssao/adaptive_target"), GLOBAL_GET("rendering/environment/ssao/blur_passes"), GLOBAL_GET("rendering/environment/ssao/fadeout_from"), GLOBAL_GET("rendering/environment/ssao/fadeout_to")); RS::get_singleton()->screen_space_roughness_limiter_set_active(GLOBAL_GET("rendering/anti_aliasing/screen_space_roughness_limiter/enabled"), GLOBAL_GET("rendering/anti_aliasing/screen_space_roughness_limiter/amount"), GLOBAL_GET("rendering/anti_aliasing/screen_space_roughness_limiter/limit")); bool glow_bicubic = int(GLOBAL_GET("rendering/environment/glow/upscale_mode")) > 0; + RS::get_singleton()->environment_set_ssil_quality(RS::EnvironmentSSILQuality(int(GLOBAL_GET("rendering/environment/ssil/quality"))), GLOBAL_GET("rendering/environment/ssil/half_size"), GLOBAL_GET("rendering/environment/ssil/adaptive_target"), GLOBAL_GET("rendering/environment/ssil/blur_passes"), GLOBAL_GET("rendering/environment/ssil/fadeout_from"), GLOBAL_GET("rendering/environment/ssil/fadeout_to")); RS::get_singleton()->environment_glow_set_use_bicubic_upscale(glow_bicubic); bool glow_high_quality = GLOBAL_GET("rendering/environment/glow/use_high_quality"); RS::get_singleton()->environment_glow_set_use_high_quality(glow_high_quality); @@ -858,7 +859,7 @@ void EditorNode::_resources_changed(const Vector<String> &p_resources) { continue; } - if (res->get_import_path() != String()) { + if (!res->get_import_path().is_empty()) { // this is an imported resource, will be reloaded if reimported via the _resources_reimported() callback continue; } @@ -886,7 +887,7 @@ void EditorNode::_fs_changed() { // FIXME: Move this to a cleaner location, it's hacky to do this is _fs_changed. String export_error; - if (export_defer.preset != "" && !EditorFileSystem::get_singleton()->is_scanning()) { + if (!export_defer.preset.is_empty() && !EditorFileSystem::get_singleton()->is_scanning()) { String preset_name = export_defer.preset; // Ensures export_project does not loop infinitely, because notifications may // come during the export. @@ -1006,7 +1007,7 @@ void EditorNode::_sources_changed(bool p_exist) { _load_docks(); - if (defer_load_scene != "") { + if (!defer_load_scene.is_empty()) { load_scene(defer_load_scene); defer_load_scene = ""; } @@ -1242,7 +1243,7 @@ void EditorNode::save_resource_as(const Ref<Resource> &p_resource, const String preferred.move_to_front(tres_element); } - if (p_at_path != String()) { + if (!p_at_path.is_empty()) { file->set_current_dir(p_at_path); if (p_resource->get_path().is_resource_file()) { file->set_current_file(p_resource->get_path().get_file()); @@ -1254,7 +1255,7 @@ void EditorNode::save_resource_as(const Ref<Resource> &p_resource, const String file->set_current_file(String()); } } - } else if (p_resource->get_path() != "") { + } else if (!p_resource->get_path().is_empty()) { file->set_current_path(p_resource->get_path()); if (extensions.size()) { String ext = p_resource->get_path().get_extension().to_lower(); @@ -1676,7 +1677,7 @@ void EditorNode::_save_scene(String p_file, int idx) { return; } - if (scene->get_scene_file_path() != String() && _validate_scene_recursive(scene->get_scene_file_path(), scene)) { + if (!scene->get_scene_file_path().is_empty() && _validate_scene_recursive(scene->get_scene_file_path(), scene)) { show_accept(TTR("This scene can't be saved because there is a cyclic instancing inclusion.\nPlease resolve it and then attempt to save again."), TTR("OK")); return; } @@ -1780,7 +1781,7 @@ void EditorNode::restart_editor() { args.push_back("--path"); args.push_back(ProjectSettings::get_singleton()->get_resource_path()); args.push_back("-e"); - if (to_reopen != String()) { + if (!to_reopen.is_empty()) { args.push_back(to_reopen); } @@ -1792,13 +1793,13 @@ void EditorNode::_save_all_scenes() { for (int i = 0; i < editor_data.get_edited_scene_count(); i++) { Node *scene = editor_data.get_edited_scene_root(i); if (scene) { - if (scene->get_scene_file_path() != "" && DirAccess::exists(scene->get_scene_file_path().get_base_dir())) { + if (!scene->get_scene_file_path().is_empty() && DirAccess::exists(scene->get_scene_file_path().get_base_dir())) { if (i != editor_data.get_edited_scene()) { _save_scene(scene->get_scene_file_path(), i); } else { _save_scene_with_preview(scene->get_scene_file_path()); } - } else if (scene->get_scene_file_path() != "") { + } else if (!scene->get_scene_file_path().is_empty()) { all_saved = false; } } @@ -1818,7 +1819,7 @@ void EditorNode::_mark_unsaved_scenes() { } String path = node->get_scene_file_path(); - if (!(path == String() || FileAccess::exists(path))) { + if (!(path.is_empty() || FileAccess::exists(path))) { if (i == editor_data.get_edited_scene()) { set_current_version(-1); } else { @@ -2080,7 +2081,7 @@ void EditorNode::push_item(Object *p_object, const String &p_property, bool p_in if (id != editor_history.get_current()) { if (p_inspector_only) { editor_history.add_object_inspector_only(id); - } else if (p_property == "") { + } else if (p_property.is_empty()) { editor_history.add_object(id); } else { editor_history.add_object(id, p_property); @@ -2128,11 +2129,19 @@ static bool overrides_external_editor(Object *p_object) { return script->get_language()->overrides_external_editor(); } -void EditorNode::_edit_current() { +void EditorNode::_edit_current(bool p_skip_foreign) { ObjectID current = editor_history.get_current(); Object *current_obj = current.is_valid() ? ObjectDB::get_instance(current) : nullptr; - bool inspector_only = editor_history.is_current_inspector_only(); + RES res = Object::cast_to<Resource>(current_obj); + if (p_skip_foreign && res.is_valid()) { + if (res->get_path().find("::") > -1 && res->get_path().get_slice("::", 0) != editor_data.get_scene_path(get_current_tab())) { + // Trying to edit resource that belongs to another scene; abort. + current_obj = nullptr; + } + } + + bool inspector_only = editor_history.is_current_inspector_only(); this->current = current_obj; if (!current_obj) { @@ -2193,7 +2202,7 @@ void EditorNode::_edit_current() { inspector_dock->update(nullptr); } - if (get_edited_scene() && get_edited_scene()->get_scene_file_path() != String()) { + if (get_edited_scene() && !get_edited_scene()->get_scene_file_path().is_empty()) { String source_scene = get_edited_scene()->get_scene_file_path(); if (FileAccess::exists(source_scene + ".import")) { editable_warning = TTR("This scene was imported, so changes to it won't be kept.\nInstancing it or inheriting will allow making changes to it.\nPlease read the documentation relevant to importing scenes to better understand this workflow."); @@ -2263,8 +2272,8 @@ void EditorNode::_edit_current() { if (main_plugin) { // special case if use of external editor is true - Resource *res = Object::cast_to<Resource>(current_obj); - if (main_plugin->get_name() == "Script" && current_obj->get_class_name() != StringName("VisualScript") && res && !res->is_built_in() && (bool(EditorSettings::get_singleton()->get("text_editor/external/use_external_editor")) || overrides_external_editor(current_obj))) { + Resource *current_res = Object::cast_to<Resource>(current_obj); + if (main_plugin->get_name() == "Script" && current_obj->get_class_name() != StringName("VisualScript") && current_res && !current_res->is_built_in() && (bool(EditorSettings::get_singleton()->get("text_editor/external/use_external_editor")) || overrides_external_editor(current_obj))) { if (!changing_scene) { main_plugin->edit(current_obj); } @@ -2315,10 +2324,8 @@ void EditorNode::_run(bool p_current, const String &p_custom) { play_custom_scene_button->set_icon(gui_base->get_theme_icon(SNAME("PlayCustom"), SNAME("EditorIcons"))); String run_filename; - String args; - bool skip_breakpoints; - if (p_current || (editor_data.get_edited_scene_root() && p_custom != String() && p_custom == editor_data.get_edited_scene_root()->get_scene_file_path())) { + if (p_current || (editor_data.get_edited_scene_root() && !p_custom.is_empty() && p_custom == editor_data.get_edited_scene_root()->get_scene_file_path())) { Node *scene = editor_data.get_edited_scene_root(); if (!scene) { @@ -2326,7 +2333,7 @@ void EditorNode::_run(bool p_current, const String &p_custom) { return; } - if (scene->get_scene_file_path() == "") { + if (scene->get_scene_file_path().is_empty()) { current_option = -1; _menu_option(FILE_SAVE_AS_SCENE); // Set the option to save and run so when the dialog is accepted, the scene runs. @@ -2336,11 +2343,11 @@ void EditorNode::_run(bool p_current, const String &p_custom) { } run_filename = scene->get_scene_file_path(); - } else if (p_custom != "") { + } else if (!p_custom.is_empty()) { run_filename = p_custom; } - if (run_filename == "") { + if (run_filename.is_empty()) { // evidently, run the scene if (!ensure_main_scene(false)) { return; @@ -2351,7 +2358,7 @@ void EditorNode::_run(bool p_current, const String &p_custom) { if (unsaved_cache) { Node *scene = editor_data.get_edited_scene_root(); - if (scene && scene->get_scene_file_path() != "") { // Only autosave if there is a scene and if it has a path. + if (scene && !scene->get_scene_file_path().is_empty()) { // Only autosave if there is a scene and if it has a path. _save_scene_with_preview(scene->get_scene_file_path()); } } @@ -2371,17 +2378,11 @@ void EditorNode::_run(bool p_current, const String &p_custom) { make_bottom_panel_item_visible(log); } - List<String> breakpoints; - editor_data.get_editor_breakpoints(&breakpoints); - - args = ProjectSettings::get_singleton()->get("editor/run/main_run_args"); - skip_breakpoints = EditorDebuggerNode::get_singleton()->is_skip_breakpoints(); - EditorDebuggerNode::get_singleton()->start(); - Error error = editor_run.run(run_filename, args, breakpoints, skip_breakpoints); + Error error = editor_run.run(run_filename); if (error != OK) { EditorDebuggerNode::get_singleton()->stop(); - show_accept(TTR("Could not start subprocess!"), TTR("OK")); + show_accept(TTR("Could not start subprocess(es)!"), TTR("OK")); return; } @@ -2389,7 +2390,7 @@ void EditorNode::_run(bool p_current, const String &p_custom) { if (p_current) { play_scene_button->set_pressed(true); play_scene_button->set_icon(gui_base->get_theme_icon(SNAME("Reload"), SNAME("EditorIcons"))); - } else if (p_custom != "") { + } else if (!p_custom.is_empty()) { run_custom_filename = p_custom; play_custom_scene_button->set_pressed(true); play_custom_scene_button->set_icon(gui_base->get_theme_icon(SNAME("Reload"), SNAME("EditorIcons"))); @@ -2509,7 +2510,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) { if (scene_root) { String scene_filename = scene_root->get_scene_file_path(); save_confirmation->get_ok_button()->set_text(TTR("Save & Close")); - save_confirmation->set_text(vformat(TTR("Save changes to '%s' before closing?"), scene_filename != "" ? scene_filename : "unsaved scene")); + save_confirmation->set_text(vformat(TTR("Save changes to '%s' before closing?"), !scene_filename.is_empty() ? scene_filename : "unsaved scene")); save_confirmation->popup_centered(); break; } @@ -2527,7 +2528,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) { case FILE_SAVE_SCENE: { int scene_idx = (p_option == FILE_SAVE_SCENE) ? -1 : tab_closing; Node *scene = editor_data.get_edited_scene_root(scene_idx); - if (scene && scene->get_scene_file_path() != "") { + if (scene && !scene->get_scene_file_path().is_empty()) { if (DirAccess::exists(scene->get_scene_file_path().get_base_dir())) { if (scene_idx != editor_data.get_edited_scene()) { _save_scene_with_preview(scene->get_scene_file_path(), scene_idx); @@ -2583,7 +2584,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) { file->add_filter("*." + extensions[i] + " ; " + extensions[i].to_upper()); } - if (scene->get_scene_file_path() != "") { + if (!scene->get_scene_file_path().is_empty()) { String path = scene->get_scene_file_path(); file->set_current_path(path); if (extensions.size()) { @@ -2657,7 +2658,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) { if (!editor_data.get_undo_redo().undo()) { log->add_message(TTR("Nothing to undo."), EditorLog::MSG_TYPE_EDITOR); - } else if (action != "") { + } else if (!action.is_empty()) { log->add_message(vformat(TTR("Undo: %s"), action), EditorLog::MSG_TYPE_EDITOR); } } @@ -2684,7 +2685,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) { String filename = scene->get_scene_file_path(); - if (filename == String()) { + if (filename.is_empty()) { show_warning(TTR("Can't reload a scene that was never saved.")); break; } @@ -2754,7 +2755,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) { case FILE_SHOW_IN_FILESYSTEM: { String path = editor_data.get_scene_path(editor_data.get_edited_scene()); - if (path != String()) { + if (!path.is_empty()) { filesystem_dock->navigate_to_path(path); } } break; @@ -3019,7 +3020,7 @@ void EditorNode::_discard_changes(const String &p_str) { Node *scene = editor_data.get_edited_scene_root(tab_closing); if (scene != nullptr) { String scene_filename = scene->get_scene_file_path(); - if (scene_filename != "") { + if (!scene_filename.is_empty()) { previous_scenes.push_back(scene_filename); } } @@ -3146,7 +3147,7 @@ void EditorNode::_editor_select(int p_which) { } void EditorNode::select_editor_by_name(const String &p_name) { - ERR_FAIL_COND(p_name == ""); + ERR_FAIL_COND(p_name.is_empty()); for (int i = 0; i < main_editor_buttons.size(); i++) { if (main_editor_buttons[i]->get_text() == p_name) { @@ -3501,7 +3502,7 @@ void EditorNode::set_current_scene(int p_idx) { } Dictionary state = editor_data.restore_edited_scene_state(editor_selection, &editor_history); - _edit_current(); + _edit_current(true); _update_title(); @@ -4244,7 +4245,6 @@ void EditorNode::_dock_make_float() { Size2 dock_size = dock->get_size() + borders * 2; // remember size Point2 dock_screen_pos = dock->get_global_position() + get_tree()->get_root()->get_position() - borders; - print_line("dock pos: " + dock->get_global_position() + " window pos: " + get_tree()->get_root()->get_position()); int dock_index = dock->get_index(); dock_slot[dock_popup_selected]->remove_child(dock); @@ -4500,13 +4500,13 @@ void EditorNode::_save_docks_to_config(Ref<ConfigFile> p_layout, const String &p String names; for (int j = 0; j < dock_slot[i]->get_tab_count(); j++) { String name = dock_slot[i]->get_tab_control(j)->get_name(); - if (names != "") { + if (!names.is_empty()) { names += ","; } names += name; } - if (names != "") { + if (!names.is_empty()) { p_layout->set_value(p_section, "dock_" + itos(i + 1), names); } } @@ -4531,7 +4531,7 @@ void EditorNode::_save_open_scenes_to_config(Ref<ConfigFile> p_layout, const Str Array scenes; for (int i = 0; i < editor_data.get_edited_scene_count(); i++) { String path = editor_data.get_scene_path(i); - if (path == "") { + if (path.is_empty()) { continue; } scenes.push_back(path); @@ -4798,7 +4798,7 @@ bool EditorNode::ensure_main_scene(bool p_from_native) { pick_main_scene->set_meta("from_native", p_from_native); // whether from play button or native run String main_scene = GLOBAL_DEF("application/run/main_scene", ""); - if (main_scene == "") { + if (main_scene.is_empty()) { current_option = -1; pick_main_scene->set_text(TTR("No main scene has ever been defined, select one?\nYou can change it later in \"Project Settings\" under the 'application' category.")); pick_main_scene->popup_centered(); @@ -4861,7 +4861,7 @@ bool EditorNode::is_run_playing() const { String EditorNode::get_run_playing_scene() const { String run_filename = editor_run.get_running_scene(); - if (run_filename == "" && is_run_playing()) { + if (run_filename.is_empty() && is_run_playing()) { run_filename = GLOBAL_DEF("application/run/main_scene", ""); // Must be the main scene then. } @@ -4987,7 +4987,7 @@ void EditorNode::_scene_tab_closed(int p_tab, int option) { : editor_data.get_scene_version(p_tab) != 0; if (unsaved) { save_confirmation->get_ok_button()->set_text(TTR("Save & Close")); - save_confirmation->set_text(vformat(TTR("Save changes to '%s' before closing?"), scene->get_scene_file_path() != "" ? scene->get_scene_file_path() : "unsaved scene")); + save_confirmation->set_text(vformat(TTR("Save changes to '%s' before closing?"), !scene->get_scene_file_path().is_empty() ? scene->get_scene_file_path() : "unsaved scene")); save_confirmation->popup_centered(); } else { _discard_changes(); @@ -5007,7 +5007,7 @@ void EditorNode::_scene_tab_hovered(int p_tab) { tab_preview_panel->hide(); } else { String path = editor_data.get_scene_path(p_tab); - if (path != String()) { + if (!path.is_empty()) { EditorResourcePreview::get_singleton()->queue_resource_preview(path, this, "_thumbnail_done", p_tab); } } @@ -5060,7 +5060,8 @@ void EditorNode::_scene_tab_input(const Ref<InputEvent> &p_input) { scene_tabs_context_menu->add_item(TTR("Close Tabs to the Right"), FILE_CLOSE_RIGHT); scene_tabs_context_menu->add_item(TTR("Close All Tabs"), FILE_CLOSE_ALL); } - scene_tabs_context_menu->set_position(mb->get_global_position()); + scene_tabs_context_menu->set_position(scene_tabs->get_screen_position() + mb->get_position()); + scene_tabs_context_menu->reset_size(); scene_tabs_context_menu->popup(); } if (mb->get_button_index() == MouseButton::WHEEL_UP && mb->is_pressed()) { @@ -5315,7 +5316,7 @@ Variant EditorNode::drag_resource(const Ref<Resource> &p_res, Control *p_from) { drag_control->add_child(drag_preview); if (p_res->get_path().is_resource_file()) { label->set_text(p_res->get_path().get_file()); - } else if (p_res->get_name() != "") { + } else if (!p_res->get_name().is_empty()) { label->set_text(p_res->get_name()); } else { label->set_text(p_res->get_class()); @@ -5454,7 +5455,7 @@ void EditorNode::_add_dropped_files_recursive(const Vector<String> &p_files, Str sub_dir->list_dir_begin(); String next_file = sub_dir->get_next(); - while (next_file != "") { + while (!next_file.is_empty()) { if (next_file == "." || next_file == "..") { next_file = sub_dir->get_next(); continue; @@ -6158,7 +6159,7 @@ EditorNode::EditorNode() { Label *dock_label = memnew(Label); dock_label->set_text(TTR("Dock Position")); dock_label->set_h_size_flags(Control::SIZE_EXPAND_FILL); - dock_label->set_align(Label::ALIGN_CENTER); + dock_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); dock_hb->add_child(dock_label); dock_tab_move_right = memnew(Button); @@ -6198,7 +6199,7 @@ EditorNode::EditorNode() { dock_slot[i]->set_v_size_flags(Control::SIZE_EXPAND_FILL); dock_slot[i]->set_popup(dock_select_popup); dock_slot[i]->connect("pre_popup_pressed", callable_mp(this, &EditorNode::_dock_pre_popup), varray(i)); - dock_slot[i]->set_tab_align(TabContainer::ALIGN_LEFT); + dock_slot[i]->set_tab_alignment(TabContainer::ALIGNMENT_LEFT); dock_slot[i]->set_drag_to_rearrange_enabled(true); dock_slot[i]->set_tabs_rearrange_group(1); dock_slot[i]->connect("tab_changed", callable_mp(this, &EditorNode::_dock_tab_changed)); @@ -6238,7 +6239,7 @@ EditorNode::EditorNode() { scene_tabs->add_theme_style_override("tab_unselected", gui_base->get_theme_stylebox(SNAME("SceneTabBG"), SNAME("EditorStyles"))); scene_tabs->set_select_with_rmb(true); scene_tabs->add_tab("unsaved"); - scene_tabs->set_tab_align(TabBar::ALIGN_LEFT); + scene_tabs->set_tab_alignment(TabBar::ALIGNMENT_LEFT); scene_tabs->set_tab_close_display_policy((bool(EDITOR_DEF("interface/scene_tabs/always_show_close_button", false)) ? TabBar::CLOSE_BUTTON_SHOW_ALWAYS : TabBar::CLOSE_BUTTON_SHOW_ACTIVE_ONLY)); scene_tabs->set_min_width(int(EDITOR_DEF("interface/scene_tabs/minimum_width", 50)) * EDSCALE); scene_tabs->set_drag_to_rearrange_enabled(true); @@ -7018,7 +7019,7 @@ EditorNode::EditorNode() { add_editor_plugin(memnew(PhysicalBone3DEditorPlugin(this))); add_editor_plugin(memnew(MeshEditorPlugin(this))); add_editor_plugin(memnew(MaterialEditorPlugin(this))); - add_editor_plugin(memnew(GPUParticlesCollisionSDFEditorPlugin(this))); + add_editor_plugin(memnew(GPUParticlesCollisionSDF3DEditorPlugin(this))); add_editor_plugin(memnew(InputEventEditorPlugin(this))); add_editor_plugin(memnew(SubViewportPreviewEditorPlugin(this))); add_editor_plugin(memnew(TextControlEditorPlugin(this))); diff --git a/editor/editor_node.h b/editor/editor_node.h index d74ec33f25..7ecdb7c263 100644 --- a/editor/editor_node.h +++ b/editor/editor_node.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -459,7 +459,7 @@ private: void _dialog_action(String p_file); - void _edit_current(); + void _edit_current(bool p_skip_foreign = false); void _dialog_display_save_error(String p_file, Error p_error); void _dialog_display_load_error(String p_file, Error p_error); diff --git a/editor/editor_path.cpp b/editor/editor_path.cpp index f3b3eedccc..3dee06fb3e 100644 --- a/editor/editor_path.cpp +++ b/editor/editor_path.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -130,14 +130,14 @@ void EditorPath::update_path() { name = r->get_name(); } - if (name == "") { + if (name.is_empty()) { name = r->get_class(); } } else if (obj->is_class("EditorDebuggerRemoteObject")) { name = obj->call("get_title"); } else if (Object::cast_to<Node>(obj)) { name = Object::cast_to<Node>(obj)->get_name(); - } else if (Object::cast_to<Resource>(obj) && Object::cast_to<Resource>(obj)->get_name() != "") { + } else if (Object::cast_to<Resource>(obj) && !Object::cast_to<Resource>(obj)->get_name().is_empty()) { name = Object::cast_to<Resource>(obj)->get_name(); } else { name = obj->get_class(); @@ -211,7 +211,7 @@ EditorPath::EditorPath(EditorHistory *p_history) { current_object_label = memnew(Label); current_object_label->set_clip_text(true); - current_object_label->set_align(Label::ALIGN_LEFT); + current_object_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_LEFT); current_object_label->set_h_size_flags(SIZE_EXPAND_FILL); main_hb->add_child(current_object_label); diff --git a/editor/editor_path.h b/editor/editor_path.h index 07f8b7244e..ad8443534d 100644 --- a/editor/editor_path.h +++ b/editor/editor_path.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_paths.cpp b/editor/editor_paths.cpp index 5b48cc2638..a4481cd1eb 100644 --- a/editor/editor_paths.cpp +++ b/editor/editor_paths.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -131,7 +131,7 @@ EditorPaths::EditorPaths() { } } - paths_valid = (data_path != "" && config_path != "" && cache_path != ""); + paths_valid = (!data_path.is_empty() && !config_path.is_empty() && !cache_path.is_empty()); ERR_FAIL_COND_MSG(!paths_valid, "Editor data, config, or cache paths are invalid."); // Validate or create each dir and its relevant subdirectories. diff --git a/editor/editor_paths.h b/editor/editor_paths.h index cf94ed797a..4b814707b2 100644 --- a/editor/editor_paths.h +++ b/editor/editor_paths.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_plugin.cpp b/editor/editor_plugin.cpp index 61c01993ae..aeca340cb1 100644 --- a/editor/editor_plugin.cpp +++ b/editor/editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -166,6 +166,10 @@ void EditorInterface::edit_node(Node *p_node) { EditorNode::get_singleton()->edit_node(p_node); } +void EditorInterface::edit_script(const Ref<Script> &p_script, int p_line, int p_col, bool p_grab_focus) { + ScriptEditor::get_singleton()->edit(p_script, p_line, p_col, p_grab_focus); +} + void EditorInterface::open_scene_from_path(const String &scene_path) { if (EditorNode::get_singleton()->is_changing_scene()) { return; @@ -291,7 +295,7 @@ Error EditorInterface::save_scene() { if (!get_edited_scene_root()) { return ERR_CANT_CREATE; } - if (get_edited_scene_root()->get_scene_file_path() == String()) { + if (get_edited_scene_root()->get_scene_file_path().is_empty()) { return ERR_CANT_CREATE; } @@ -326,6 +330,7 @@ void EditorInterface::_bind_methods() { ClassDB::bind_method(D_METHOD("get_editor_scale"), &EditorInterface::get_editor_scale); ClassDB::bind_method(D_METHOD("edit_resource", "resource"), &EditorInterface::edit_resource); ClassDB::bind_method(D_METHOD("edit_node", "node"), &EditorInterface::edit_node); + ClassDB::bind_method(D_METHOD("edit_script", "script", "line", "column", "grab_focus"), &EditorInterface::edit_script, DEFVAL(-1), DEFVAL(0), DEFVAL(true)); ClassDB::bind_method(D_METHOD("open_scene_from_path", "scene_filepath"), &EditorInterface::open_scene_from_path); ClassDB::bind_method(D_METHOD("reload_scene_from_path", "scene_filepath"), &EditorInterface::reload_scene_from_path); ClassDB::bind_method(D_METHOD("play_main_scene"), &EditorInterface::play_main_scene); diff --git a/editor/editor_plugin.h b/editor/editor_plugin.h index 278059f8c4..faa8ae1ce6 100644 --- a/editor/editor_plugin.h +++ b/editor/editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -74,6 +74,7 @@ public: Control *get_editor_main_control(); void edit_resource(const Ref<Resource> &p_resource); void edit_node(Node *p_node); + void edit_script(const Ref<Script> &p_script, int p_line = -1, int p_col = 0, bool p_grab_focus = true); void open_scene_from_path(const String &scene_path); void reload_scene_from_path(const String &scene_path); diff --git a/editor/editor_plugin_settings.cpp b/editor/editor_plugin_settings.cpp index aa313f0c50..80329a36b2 100644 --- a/editor/editor_plugin_settings.cpp +++ b/editor/editor_plugin_settings.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -165,7 +165,7 @@ Vector<String> EditorPluginSettings::_get_plugins(const String &p_dir) { Vector<String> plugins; da->list_dir_begin(); - for (String path = da->get_next(); path != String(); path = da->get_next()) { + for (String path = da->get_next(); !path.is_empty(); path = da->get_next()) { if (path[0] == '.' || !da->current_is_dir()) { continue; } diff --git a/editor/editor_plugin_settings.h b/editor/editor_plugin_settings.h index 34b26de90e..8ff6e4b9e1 100644 --- a/editor/editor_plugin_settings.h +++ b/editor/editor_plugin_settings.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp index e48679cad7..d0c2cc5688 100644 --- a/editor/editor_properties.cpp +++ b/editor/editor_properties.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -380,7 +380,7 @@ void EditorPropertyPath::_path_pressed() { dialog->set_file_mode(save_mode ? EditorFileDialog::FILE_MODE_SAVE_FILE : EditorFileDialog::FILE_MODE_OPEN_FILE); for (int i = 0; i < extensions.size(); i++) { String e = extensions[i].strip_edges(); - if (e != String()) { + if (!e.is_empty()) { dialog->add_filter(extensions[i].strip_edges()); } } @@ -706,7 +706,7 @@ void EditorPropertyFlags::setup(const Vector<String> &p_options) { bool first = true; for (int i = 0; i < p_options.size(); i++) { String option = p_options[i].strip_edges(); - if (option != "") { + if (!option.is_empty()) { CheckBox *cb = memnew(CheckBox); cb->set_text(option); cb->set_clip_text(true); @@ -832,7 +832,7 @@ public: update(); } else if (expand_hovered) { expanded = !expanded; - minimum_size_changed(); + update_minimum_size(); update(); } } @@ -891,7 +891,7 @@ public: Vector2 offset; offset.y = rect2.size.y * 0.75; - draw_string(font, rect2.position + offset, itos(layer_index + 1), HALIGN_CENTER, rect2.size.x, font_size, on ? text_color_on : text_color); + draw_string(font, rect2.position + offset, itos(layer_index + 1), HORIZONTAL_ALIGNMENT_CENTER, rect2.size.x, font_size, on ? text_color_on : text_color); ofs.x += bsize + 1; @@ -935,7 +935,7 @@ public: } if ((expansion_rows != prev_expansion_rows) && expanded) { - minimum_size_changed(); + update_minimum_size(); } if ((expansion_rows == 0) && (layer_index == layer_count)) { @@ -1055,7 +1055,7 @@ void EditorPropertyLayers::setup(LayerType p_layer_type) { name = ProjectSettings::get_singleton()->get(basename + vformat("/layer_%d", i + 1)); } - if (name == "") { + if (name.is_empty()) { name = vformat(TTR("Layer %d"), i + 1); } @@ -1186,7 +1186,7 @@ void EditorPropertyObjectID::_edit_pressed() { void EditorPropertyObjectID::update_property() { String type = base_type; - if (type == "") { + if (type.is_empty()) { type = "Object"; } @@ -1283,7 +1283,8 @@ void EditorPropertyEasing::_drag_easing(const Ref<InputEvent> &p_ev) { } if (mb->is_pressed() && mb->get_button_index() == MouseButton::RIGHT) { - preset->set_position(easing_draw->get_screen_transform().xform(mb->get_position())); + preset->set_position(easing_draw->get_screen_position() + mb->get_position()); + preset->reset_size(); preset->popup(); // Ensure the easing doesn't appear as being dragged @@ -1382,7 +1383,7 @@ void EditorPropertyEasing::_draw_easing() { } else { decimals = 1; } - f->draw_string(ci, Point2(10, 10 + f->get_ascent(font_size)), TS->format_number(rtos(exp).pad_decimals(decimals)), HALIGN_LEFT, -1, font_size, font_color); + f->draw_string(ci, Point2(10, 10 + f->get_ascent(font_size)), TS->format_number(rtos(exp).pad_decimals(decimals)), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_color); } void EditorPropertyEasing::update_property() { @@ -2726,6 +2727,29 @@ void EditorPropertyNodePath::_node_clear() { update_property(); } +bool EditorPropertyNodePath::can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const { + return !is_read_only() && is_drop_valid(p_data); +} + +void EditorPropertyNodePath::drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) { + ERR_FAIL_COND(!is_drop_valid(p_data)); + Dictionary data = p_data; + Array nodes = data["nodes"]; + Node *node = get_tree()->get_edited_scene_root()->get_node(nodes[0]); + + if (node) { + _node_selected(node->get_path()); + } +} + +bool EditorPropertyNodePath::is_drop_valid(const Dictionary &p_drag_data) const { + if (p_drag_data["type"] != "nodes") { + return false; + } + Array nodes = p_drag_data["nodes"]; + return nodes.size() == 1; +} + void EditorPropertyNodePath::update_property() { NodePath p = get_edited_object()->get(get_edited_property()); @@ -2780,6 +2804,8 @@ void EditorPropertyNodePath::_notification(int p_what) { } void EditorPropertyNodePath::_bind_methods() { + ClassDB::bind_method(D_METHOD("_can_drop_data_fw", "position", "data", "from"), &EditorPropertyNodePath::can_drop_data_fw); + ClassDB::bind_method(D_METHOD("_drop_data_fw", "position", "data", "from"), &EditorPropertyNodePath::drop_data_fw); } EditorPropertyNodePath::EditorPropertyNodePath() { @@ -2790,6 +2816,7 @@ EditorPropertyNodePath::EditorPropertyNodePath() { assign->set_h_size_flags(SIZE_EXPAND_FILL); assign->set_clip_text(true); assign->connect("pressed", callable_mp(this, &EditorPropertyNodePath::_node_assign)); + assign->set_drag_forwarding(this); hbc->add_child(assign); clear = memnew(Button); @@ -3064,7 +3091,7 @@ void EditorPropertyResource::update_property() { if (res.is_valid() && get_edited_object()->editor_is_section_unfolded(get_edited_property())) { if (!sub_inspector) { sub_inspector = memnew(EditorInspector); - sub_inspector->set_enable_v_scroll(false); + sub_inspector->set_vertical_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED); sub_inspector->set_use_doc_hints(true); sub_inspector->set_sub_inspector(true); @@ -3228,7 +3255,7 @@ static EditorPropertyRangeHint _parse_range_hint(PropertyHint p_hint, const Stri } } - if ((hint.radians || degrees) && hint.suffix == String()) { + if ((hint.radians || degrees) && hint.suffix.is_empty()) { hint.suffix = U"\u00B0"; } @@ -3513,10 +3540,10 @@ EditorProperty *EditorInspectorDefaultPlugin::get_editor_for_property(Object *p_ } break; case Variant::NODE_PATH: { EditorPropertyNodePath *editor = memnew(EditorPropertyNodePath); - if (p_hint == PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE && p_hint_text != String()) { + if (p_hint == PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE && !p_hint_text.is_empty()) { editor->setup(p_hint_text, Vector<StringName>(), (p_usage & PROPERTY_USAGE_NODE_PATH_FROM_SCENE_ROOT)); } - if (p_hint == PROPERTY_HINT_NODE_PATH_VALID_TYPES && p_hint_text != String()) { + if (p_hint == PROPERTY_HINT_NODE_PATH_VALID_TYPES && !p_hint_text.is_empty()) { Vector<String> types = p_hint_text.split(",", false); Vector<StringName> sn = Variant(types); //convert via variant editor->setup(NodePath(), sn, (p_usage & PROPERTY_USAGE_NODE_PATH_FROM_SCENE_ROOT)); diff --git a/editor/editor_properties.h b/editor/editor_properties.h index 42ef650adc..0dfedde250 100644 --- a/editor/editor_properties.h +++ b/editor/editor_properties.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -625,6 +625,10 @@ class EditorPropertyNodePath : public EditorProperty { void _node_assign(); void _node_clear(); + bool can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const; + void drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from); + bool is_drop_valid(const Dictionary &p_drag_data) const; + protected: virtual void _set_read_only(bool p_read_only) override; static void _bind_methods(); diff --git a/editor/editor_properties_array_dict.cpp b/editor/editor_properties_array_dict.cpp index 0f59c8281f..36203bca36 100644 --- a/editor/editor_properties_array_dict.cpp +++ b/editor/editor_properties_array_dict.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -431,7 +431,7 @@ bool EditorPropertyArray::_is_drop_valid(const Dictionary &p_drag_data) const { // When the subtype is of type Object, an additional subtype may be specified in the hint string // (e.g. Resource, Texture2D, ShaderMaterial, etc). We want the allowed type to be that, not just "Object". - if (subtype == Variant::OBJECT && subtype_hint_string != "") { + if (subtype == Variant::OBJECT && !subtype_hint_string.is_empty()) { allowed_type = subtype_hint_string; } diff --git a/editor/editor_properties_array_dict.h b/editor/editor_properties_array_dict.h index 7547d57346..4c31ba0b49 100644 --- a/editor/editor_properties_array_dict.h +++ b/editor/editor_properties_array_dict.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_resource_picker.cpp b/editor/editor_resource_picker.cpp index 0703677dc8..b20aee82e6 100644 --- a/editor/editor_resource_picker.cpp +++ b/editor/editor_resource_picker.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -52,7 +52,7 @@ void EditorResourcePicker::_update_resource() { } else { assign_button->set_icon(EditorNode::get_singleton()->get_object_icon(edited_resource.operator->(), "Object")); - if (edited_resource->get_name() != String()) { + if (!edited_resource->get_name().is_empty()) { assign_button->set_text(edited_resource->get_name()); } else if (edited_resource->get_path().is_resource_file()) { assign_button->set_text(edited_resource->get_path().get_file()); @@ -113,7 +113,7 @@ void EditorResourcePicker::_file_selected(const String &p_path) { RES loaded_resource = ResourceLoader::load(p_path); ERR_FAIL_COND_MSG(loaded_resource.is_null(), "Cannot load resource from path '" + p_path + "'."); - if (base_type != "") { + if (!base_type.is_empty()) { bool any_type_matches = false; for (int i = 0; i < base_type.get_slice_count(","); i++) { @@ -180,7 +180,7 @@ void EditorResourcePicker::_update_menu_items() { RES cb = EditorSettings::get_singleton()->get_resource_clipboard(); bool paste_valid = false; if (cb.is_valid()) { - if (base_type == "") { + if (base_type.is_empty()) { paste_valid = true; } else { for (int i = 0; i < base_type.get_slice_count(","); i++) { @@ -391,7 +391,7 @@ void EditorResourcePicker::set_create_options(Object *p_menu_node) { } // By default provide generic "New ..." options. - if (base_type != "") { + if (!base_type.is_empty()) { int idx = 0; Set<String> allowed_types; @@ -571,7 +571,7 @@ bool EditorResourcePicker::_is_drop_valid(const Dictionary &p_drag_data) const { String file = files[0]; String file_type = EditorFileSystem::get_singleton()->get_file_type(file); - if (file_type != "" && _is_type_valid(file_type, allowed_types)) { + if (!file_type.is_empty() && _is_type_valid(file_type, allowed_types)) { return true; } } diff --git a/editor/editor_resource_picker.h b/editor/editor_resource_picker.h index f55c6f47f3..e693eeba14 100644 --- a/editor/editor_resource_picker.h +++ b/editor/editor_resource_picker.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_resource_preview.cpp b/editor/editor_resource_preview.cpp index e9c0b40268..2d1335270c 100644 --- a/editor/editor_resource_preview.cpp +++ b/editor/editor_resource_preview.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -141,7 +141,7 @@ void EditorResourcePreview::_generate_preview(Ref<ImageTexture> &r_texture, Ref< type = ResourceLoader::get_resource_type(p_item.path); } - if (type == "") { + if (type.is_empty()) { r_texture = Ref<ImageTexture>(); r_small_texture = Ref<ImageTexture>(); return; //could not guess type diff --git a/editor/editor_resource_preview.h b/editor/editor_resource_preview.h index 9d1f269661..938902a6ad 100644 --- a/editor/editor_resource_preview.h +++ b/editor/editor_resource_preview.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_run.cpp b/editor/editor_run.cpp index 0a77a8b0bb..3c1799d80c 100644 --- a/editor/editor_run.cpp +++ b/editor/editor_run.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -31,6 +31,7 @@ #include "editor_run.h" #include "core/config/project_settings.h" +#include "editor/editor_node.h" #include "editor_settings.h" #include "servers/display_server.h" @@ -42,20 +43,17 @@ String EditorRun::get_running_scene() const { return running_scene; } -Error EditorRun::run(const String &p_scene, const String &p_custom_args, const List<String> &p_breakpoints, const bool &p_skip_breakpoints) { +Error EditorRun::run(const String &p_scene) { List<String> args; String resource_path = ProjectSettings::get_singleton()->get_resource_path(); - String remote_host = EditorSettings::get_singleton()->get("network/debug/remote_host"); - int remote_port = (int)EditorSettings::get_singleton()->get("network/debug/remote_port"); - - if (resource_path != "") { + if (!resource_path.is_empty()) { args.push_back("--path"); args.push_back(resource_path.replace(" ", "%20")); } args.push_back("--remote-debug"); - args.push_back("tcp://" + remote_host + ":" + String::num(remote_port)); + args.push_back(EditorDebuggerNode::get_singleton()->get_server_uri()); args.push_back("--allow_focus_steal_pid"); args.push_back(itos(OS::get_singleton()->get_process_id())); @@ -162,10 +160,13 @@ Error EditorRun::run(const String &p_scene, const String &p_custom_args, const L } break; } - if (p_breakpoints.size()) { + List<String> breakpoints; + EditorNode::get_editor_data().get_editor_breakpoints(&breakpoints); + + if (!breakpoints.is_empty()) { args.push_back("--breakpoints"); String bpoints; - for (const List<String>::Element *E = p_breakpoints.front(); E; E = E->next()) { + for (const List<String>::Element *E = breakpoints.front(); E; E = E->next()) { bpoints += E->get().replace(" ", "%20"); if (E->next()) { bpoints += ","; @@ -175,30 +176,31 @@ Error EditorRun::run(const String &p_scene, const String &p_custom_args, const L args.push_back(bpoints); } - if (p_skip_breakpoints) { + if (EditorDebuggerNode::get_singleton()->is_skip_breakpoints()) { args.push_back("--skip-breakpoints"); } - if (p_scene != "") { + if (!p_scene.is_empty()) { args.push_back(p_scene); } String exec = OS::get_singleton()->get_executable_path(); - if (p_custom_args != "") { + const String raw_custom_args = ProjectSettings::get_singleton()->get("editor/run/main_run_args"); + if (!raw_custom_args.is_empty()) { // Allow the user to specify a command to run, similar to Steam's launch options. // In this case, Godot will no longer be run directly; it's up to the underlying command // to run it. For instance, this can be used on Linux to force a running project // to use Optimus using `prime-run` or similar. // Example: `prime-run %command% --time-scale 0.5` - const int placeholder_pos = p_custom_args.find("%command%"); + const int placeholder_pos = raw_custom_args.find("%command%"); Vector<String> custom_args; if (placeholder_pos != -1) { // Prepend executable-specific custom arguments. // If nothing is placed before `%command%`, behave as if no placeholder was specified. - Vector<String> exec_args = p_custom_args.substr(0, placeholder_pos).split(" ", false); + Vector<String> exec_args = raw_custom_args.substr(0, placeholder_pos).split(" ", false); if (exec_args.size() >= 1) { exec = exec_args[0]; exec_args.remove_at(0); @@ -214,13 +216,13 @@ Error EditorRun::run(const String &p_scene, const String &p_custom_args, const L } // Append Godot-specific custom arguments. - custom_args = p_custom_args.substr(placeholder_pos + String("%command%").size()).split(" ", false); + custom_args = raw_custom_args.substr(placeholder_pos + String("%command%").size()).split(" ", false); for (int i = 0; i < custom_args.size(); i++) { args.push_back(custom_args[i].replace(" ", "%20")); } } else { // Append Godot-specific custom arguments. - custom_args = p_custom_args.split(" ", false); + custom_args = raw_custom_args.split(" ", false); for (int i = 0; i < custom_args.size(); i++) { args.push_back(custom_args[i].replace(" ", "%20")); } @@ -242,7 +244,7 @@ Error EditorRun::run(const String &p_scene, const String &p_custom_args, const L } status = STATUS_PLAY; - if (p_scene != "") { + if (!p_scene.is_empty()) { running_scene = p_scene; } diff --git a/editor/editor_run.h b/editor/editor_run.h index d6cf3fed71..50604ff032 100644 --- a/editor/editor_run.h +++ b/editor/editor_run.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -50,7 +50,7 @@ private: public: Status get_status() const; String get_running_scene() const; - Error run(const String &p_scene, const String &p_custom_args, const List<String> &p_breakpoints, const bool &p_skip_breakpoints = false); + Error run(const String &p_scene); void run_native_notify() { status = STATUS_PLAY; } void stop(); diff --git a/editor/editor_run_native.cpp b/editor/editor_run_native.cpp index 74ebffc404..adaeaad6ae 100644 --- a/editor/editor_run_native.cpp +++ b/editor/editor_run_native.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_run_native.h b/editor/editor_run_native.h index 97f6fc005a..199d094e55 100644 --- a/editor/editor_run_native.h +++ b/editor/editor_run_native.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_run_script.cpp b/editor/editor_run_script.cpp index 27923ef413..77173d178b 100644 --- a/editor/editor_run_script.cpp +++ b/editor/editor_run_script.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_run_script.h b/editor/editor_run_script.h index 6c7e37774d..7fb728a00a 100644 --- a/editor/editor_run_script.h +++ b/editor/editor_run_script.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_scale.cpp b/editor/editor_scale.cpp index 85304a9cbc..29c1f6278b 100644 --- a/editor/editor_scale.cpp +++ b/editor/editor_scale.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_scale.h b/editor/editor_scale.h index b20c18706a..918fde15fb 100644 --- a/editor/editor_scale.h +++ b/editor/editor_scale.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_sectioned_inspector.cpp b/editor/editor_sectioned_inspector.cpp index 751cc7a574..6853045345 100644 --- a/editor/editor_sectioned_inspector.cpp +++ b/editor/editor_sectioned_inspector.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -45,7 +45,7 @@ class SectionedInspectorFilter : public Object { } String name = p_name; - if (section != "") { + if (!section.is_empty()) { name = section + "/" + name; } @@ -60,7 +60,7 @@ class SectionedInspectorFilter : public Object { } String name = p_name; - if (section != "") { + if (!section.is_empty()) { name = section + "/" + name; } @@ -155,7 +155,7 @@ String SectionedInspector::get_current_section() const { String SectionedInspector::get_full_item_path(const String &p_item) { String base = get_current_section(); - if (base != "") { + if (!base.is_empty()) { return base + "/" + p_item; } else { return p_item; diff --git a/editor/editor_sectioned_inspector.h b/editor/editor_sectioned_inspector.h index 1068a4f932..f81c4631e4 100644 --- a/editor/editor_sectioned_inspector.h +++ b/editor/editor_sectioned_inspector.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp index 613e0ba7a0..02c78eb2a8 100644 --- a/editor/editor_settings.cpp +++ b/editor/editor_settings.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -33,21 +33,17 @@ #include "core/config/project_settings.h" #include "core/input/input_map.h" #include "core/io/certs_compressed.gen.h" -#include "core/io/compression.h" #include "core/io/config_file.h" #include "core/io/dir_access.h" #include "core/io/file_access.h" -#include "core/io/file_access_memory.h" #include "core/io/ip.h" #include "core/io/resource_loader.h" #include "core/io/resource_saver.h" -#include "core/io/translation_loader_po.h" #include "core/os/keyboard.h" #include "core/os/os.h" #include "core/version.h" -#include "editor/doc_translations.gen.h" #include "editor/editor_node.h" -#include "editor/editor_translations.gen.h" +#include "editor/editor_translation.h" #include "scene/main/node.h" #include "scene/main/scene_tree.h" #include "scene/main/window.h" @@ -146,7 +142,7 @@ bool EditorSettings::_get(const StringName &p_name, Variant &r_ret) const { if (builtin_list.has(shortcut_definition.key)) { // This shortcut was auto-generated from built in actions: don't save. - // If the builtin is overriden, it will be saved in the "builtin_action_overrides" section below. + // If the builtin is overridden, it will be saved in the "builtin_action_overrides" section below. continue; } @@ -369,16 +365,11 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { } String best; - EditorTranslationList *etl = _editor_translations; - - while (etl->data) { - const String &locale = etl->lang; - + for (const String &locale : get_editor_locales()) { // Skip locales which we can't render properly (see above comment). // Test against language code without regional variants (e.g. ur_PK). String lang_code = locale.get_slice("_", 0); if (locales_to_skip.find(lang_code) != -1) { - etl++; continue; } @@ -389,14 +380,12 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { best = locale; } - if (best == String() && host_lang.begins_with(locale)) { + if (best.is_empty() && host_lang.begins_with(locale)) { best = locale; } - - etl++; } - if (best == String()) { + if (best.is_empty()) { best = "en"; } @@ -792,43 +781,6 @@ bool EditorSettings::_is_default_text_editor_theme(String p_theme_name) { return p_theme_name == "default" || p_theme_name == "godot 2" || p_theme_name == "custom"; } -static Dictionary _get_builtin_script_templates() { - Dictionary templates; - - // No Comments - templates["no_comments.gd"] = - "extends %BASE%\n" - "\n" - "\n" - "func _ready()%VOID_RETURN%:\n" - "%TS%pass\n"; - - // Empty - templates["empty.gd"] = - "extends %BASE%" - "\n" - "\n"; - - return templates; -} - -static void _create_script_templates(const String &p_path) { - Dictionary templates = _get_builtin_script_templates(); - List<Variant> keys; - templates.get_key_list(&keys); - FileAccessRef file = FileAccess::create(FileAccess::ACCESS_FILESYSTEM); - DirAccessRef dir = DirAccess::create(DirAccess::ACCESS_FILESYSTEM); - dir->change_dir(p_path); - for (int i = 0; i < keys.size(); i++) { - if (!dir->file_exists(keys[i])) { - Error err = file->reopen(p_path.plus_file((String)keys[i]), FileAccess::WRITE); - ERR_FAIL_COND(err != OK); - file->store_string(templates[keys[i]]); - file->close(); - } - } -} - // PUBLIC METHODS EditorSettings *EditorSettings::get_singleton() { @@ -863,10 +815,7 @@ void EditorSettings::create() { } if (EditorPaths::get_singleton()->are_paths_valid()) { - _create_script_templates(EditorPaths::get_singleton()->get_config_dir().plus_file("script_templates")); - // Validate editor config file. - DirAccessRef dir = DirAccess::open(EditorPaths::get_singleton()->get_config_dir()); String config_file_name = "editor_settings-" + itos(VERSION_MAJOR) + ".tres"; config_file_path = EditorPaths::get_singleton()->get_config_dir().plus_file(config_file_name); @@ -922,50 +871,10 @@ void EditorSettings::setup_language() { return; // Default, nothing to do. } // Load editor translation for configured/detected locale. - EditorTranslationList *etl = _editor_translations; - while (etl->data) { - if (etl->lang == lang) { - Vector<uint8_t> data; - data.resize(etl->uncomp_size); - Compression::decompress(data.ptrw(), etl->uncomp_size, etl->data, etl->comp_size, Compression::MODE_DEFLATE); - - FileAccessMemory *fa = memnew(FileAccessMemory); - fa->open_custom(data.ptr(), data.size()); - - Ref<Translation> tr = TranslationLoaderPO::load_translation(fa); - - if (tr.is_valid()) { - tr->set_locale(etl->lang); - TranslationServer::get_singleton()->set_tool_translation(tr); - break; - } - } - - etl++; - } + load_editor_translations(lang); // Load class reference translation. - DocTranslationList *dtl = _doc_translations; - while (dtl->data) { - if (dtl->lang == lang) { - Vector<uint8_t> data; - data.resize(dtl->uncomp_size); - Compression::decompress(data.ptrw(), dtl->uncomp_size, dtl->data, dtl->comp_size, Compression::MODE_DEFLATE); - - FileAccessMemory *fa = memnew(FileAccessMemory); - fa->open_custom(data.ptr(), data.size()); - - Ref<Translation> tr = TranslationLoaderPO::load_translation(fa); - - if (tr.is_valid()) { - tr->set_locale(dtl->lang); - TranslationServer::get_singleton()->set_doc_translation(tr); - break; - } - } - - dtl++; - } + load_doc_translations(lang); } void EditorSettings::setup_network() { @@ -989,7 +898,7 @@ void EditorSettings::setup_network() { if (ip == current) { selected = ip; } - if (hint != "") { + if (!hint.is_empty()) { hint += ","; } hint += ip; @@ -1008,7 +917,7 @@ void EditorSettings::save() { return; } - if (singleton->config_file_path == "") { + if (singleton->config_file_path.is_empty()) { ERR_PRINT("Cannot save EditorSettings config, no valid path"); return; } @@ -1218,7 +1127,7 @@ void EditorSettings::load_favorites() { FileAccess *f = FileAccess::open(get_project_settings_dir().plus_file("favorites"), FileAccess::READ); if (f) { String line = f->get_line().strip_edges(); - while (line != "") { + while (!line.is_empty()) { favorites.push_back(line); line = f->get_line().strip_edges(); } @@ -1228,7 +1137,7 @@ void EditorSettings::load_favorites() { f = FileAccess::open(get_project_settings_dir().plus_file("recent_dirs"), FileAccess::READ); if (f) { String line = f->get_line().strip_edges(); - while (line != "") { + while (!line.is_empty()) { recent_dirs.push_back(line); line = f->get_line().strip_edges(); } @@ -1241,7 +1150,7 @@ bool EditorSettings::is_dark_theme() { int LIGHT_COLOR = 2; Color base_color = get("interface/theme/base_color"); int icon_font_color_setting = get("interface/theme/icon_and_font_color"); - return (icon_font_color_setting == AUTO_COLOR && ((base_color.r + base_color.g + base_color.b) / 3.0) < 0.5) || icon_font_color_setting == LIGHT_COLOR; + return (icon_font_color_setting == AUTO_COLOR && base_color.get_luminance() < 0.5) || icon_font_color_setting == LIGHT_COLOR; } void EditorSettings::list_text_editor_themes() { @@ -1252,7 +1161,7 @@ void EditorSettings::list_text_editor_themes() { List<String> custom_themes; d->list_dir_begin(); String file = d->get_next(); - while (file != String()) { + while (!file.is_empty()) { if (file.get_extension() == "tet" && !_is_default_text_editor_theme(file.get_basename().to_lower())) { custom_themes.push_back(file.get_basename()); } @@ -1371,7 +1280,7 @@ Vector<String> EditorSettings::get_script_templates(const String &p_extension, c if (d) { d->list_dir_begin(); String file = d->get_next(); - while (file != String()) { + while (!file.is_empty()) { if (file.get_extension() == p_extension) { templates.push_back(file.get_basename()); } diff --git a/editor/editor_settings.h b/editor/editor_settings.h index cb23ed3d19..f1a0329d65 100644 --- a/editor/editor_settings.h +++ b/editor/editor_settings.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_spin_slider.cpp b/editor/editor_spin_slider.cpp index f07a5ab523..cd28a65c7b 100644 --- a/editor/editor_spin_slider.cpp +++ b/editor/editor_spin_slider.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -262,9 +262,9 @@ void EditorSpinSlider::_update_value_input_stylebox() { // The margin values below were determined by empirical testing. if (is_layout_rtl()) { stylebox->set_default_margin(SIDE_LEFT, 0); - stylebox->set_default_margin(SIDE_RIGHT, (get_label() != String() ? 23 : 16) * EDSCALE); + stylebox->set_default_margin(SIDE_RIGHT, (!get_label().is_empty() ? 23 : 16) * EDSCALE); } else { - stylebox->set_default_margin(SIDE_LEFT, (get_label() != String() ? 23 : 16) * EDSCALE); + stylebox->set_default_margin(SIDE_LEFT, (!get_label().is_empty() ? 23 : 16) * EDSCALE); stylebox->set_default_margin(SIDE_RIGHT, 0); } @@ -308,7 +308,7 @@ void EditorSpinSlider::_draw_spin_slider() { lc = fc; } - if (flat && label != String()) { + if (flat && !label.is_empty()) { Color label_bg_color = get_theme_color(SNAME("dark_color_3"), SNAME("Editor")); if (rtl) { draw_rect(Rect2(Vector2(size.width - (sb->get_offset().x * 2 + label_width), 0), Vector2(sb->get_offset().x * 2 + label_width, size.height)), label_bg_color); @@ -323,9 +323,9 @@ void EditorSpinSlider::_draw_spin_slider() { } if (rtl) { - draw_string(font, Vector2(Math::round(size.width - sb->get_offset().x - label_width), vofs), label, HALIGN_RIGHT, -1, font_size, lc * Color(1, 1, 1, 0.5)); + draw_string(font, Vector2(Math::round(size.width - sb->get_offset().x - label_width), vofs), label, HORIZONTAL_ALIGNMENT_RIGHT, -1, font_size, lc * Color(1, 1, 1, 0.5)); } else { - draw_string(font, Vector2(Math::round(sb->get_offset().x), vofs), label, HALIGN_LEFT, -1, font_size, lc * Color(1, 1, 1, 0.5)); + draw_string(font, Vector2(Math::round(sb->get_offset().x), vofs), label, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, lc * Color(1, 1, 1, 0.5)); } int suffix_start = numstr.length(); @@ -371,17 +371,24 @@ void EditorSpinSlider::_draw_spin_slider() { grabber->hide(); } } else if (!hide_slider) { - int grabber_w = 4 * EDSCALE; - int width = size.width - sb->get_minimum_size().width - grabber_w; - int ofs = sb->get_offset().x; - int svofs = (size.height + vofs) / 2 - 1; + const int grabber_w = 4 * EDSCALE; + const int width = size.width - sb->get_minimum_size().width - grabber_w; + const int ofs = sb->get_offset().x; + const int svofs = (size.height + vofs) / 2 - 1; Color c = fc; - c.a = 0.2; + // Draw the horizontal slider's background. + c.a = 0.2; draw_rect(Rect2(ofs, svofs + 1, width, 2 * EDSCALE), c); - int gofs = get_as_ratio() * width; + + // Draw the horizontal slider's filled part on the left. + const int gofs = get_as_ratio() * width; + c.a = 0.45; + draw_rect(Rect2(ofs, svofs + 1, gofs, 2 * EDSCALE), c); + + // Draw the horizontal slider's grabber. c.a = 0.9; - Rect2 grabber_rect = Rect2(ofs + gofs, svofs + 1, grabber_w, 2 * EDSCALE); + const Rect2 grabber_rect = Rect2(ofs + gofs, svofs, grabber_w, 4 * EDSCALE); draw_rect(grabber_rect, c); grabbing_spinner_mouse_pos = get_global_position() + grabber_rect.get_center(); diff --git a/editor/editor_spin_slider.h b/editor/editor_spin_slider.h index 68448b3240..7e3f2051ac 100644 --- a/editor/editor_spin_slider.h +++ b/editor/editor_spin_slider.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp index 637394d136..7b60c4a384 100644 --- a/editor/editor_themes.cpp +++ b/editor/editor_themes.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1553,7 +1553,7 @@ Ref<Theme> create_custom_theme(const Ref<Theme> p_theme) { Ref<Theme> theme = create_editor_theme(p_theme); const String custom_theme_path = EditorSettings::get_singleton()->get("interface/theme/custom_theme"); - if (custom_theme_path != "") { + if (!custom_theme_path.is_empty()) { Ref<Theme> custom_theme = ResourceLoader::load(custom_theme_path); if (custom_theme.is_valid()) { theme->merge_with(custom_theme); diff --git a/editor/editor_themes.h b/editor/editor_themes.h index c040654220..642558d774 100644 --- a/editor/editor_themes.h +++ b/editor/editor_themes.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_toaster.cpp b/editor/editor_toaster.cpp index 0d9a546b8e..df0588c641 100644 --- a/editor/editor_toaster.cpp +++ b/editor/editor_toaster.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -173,11 +173,7 @@ void EditorToaster::_error_handler(void *p_self, const char *p_func, const char } Severity severity = (p_type == ERR_HANDLER_WARNING) ? SEVERITY_WARNING : SEVERITY_ERROR; - if (Thread::get_caller_id() != Thread::get_main_id()) { - EditorToaster::get_singleton()->call_deferred(SNAME("popup_str"), err_str, severity, tooltip_str); - } else { - EditorToaster::get_singleton()->popup_str(err_str, severity, tooltip_str); - } + EditorToaster::get_singleton()->popup_str(err_str, severity, tooltip_str); } } @@ -387,6 +383,12 @@ Control *EditorToaster::popup(Control *p_control, Severity p_severity, double p_ } void EditorToaster::popup_str(String p_message, Severity p_severity, String p_tooltip) { + // Since "_popup_str" adds nodes to the tree, and since the "add_child" method is not + // thread-safe, it's better to defer the call to the next cycle to be thread-safe. + call_deferred(SNAME("_popup_str"), p_message, p_severity, p_tooltip); +} + +void EditorToaster::_popup_str(String p_message, Severity p_severity, String p_tooltip) { // Check if we already have a popup with the given message. Control *control = nullptr; for (KeyValue<Control *, Toast> element : toasts) { @@ -440,6 +442,11 @@ EditorToaster *EditorToaster::get_singleton() { return singleton; } +void EditorToaster::_bind_methods() { + // Binding method to make it defer-able. + ClassDB::bind_method(D_METHOD("_popup_str", "message", "severity", "tooltip"), &EditorToaster::_popup_str); +} + EditorToaster::EditorToaster() { set_notify_transform(true); set_process_internal(true); diff --git a/editor/editor_toaster.h b/editor/editor_toaster.h index aac80d8fb1..b626a47d0c 100644 --- a/editor/editor_toaster.h +++ b/editor/editor_toaster.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -94,9 +94,11 @@ private: void _set_notifications_enabled(bool p_enabled); void _repop_old(); + void _popup_str(String p_message, Severity p_severity, String p_tooltip); protected: static EditorToaster *singleton; + static void _bind_methods(); void _notification(int p_what); diff --git a/editor/editor_translation.cpp b/editor/editor_translation.cpp new file mode 100644 index 0000000000..98248f3a87 --- /dev/null +++ b/editor/editor_translation.cpp @@ -0,0 +1,99 @@ +/*************************************************************************/ +/* editor_translation.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (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_translation.h" + +#include "core/io/compression.h" +#include "core/io/file_access_memory.h" +#include "core/io/translation_loader_po.h" +#include "editor/doc_translations.gen.h" +#include "editor/editor_translations.gen.h" + +Vector<String> get_editor_locales() { + Vector<String> locales; + + EditorTranslationList *etl = _editor_translations; + while (etl->data) { + const String &locale = etl->lang; + locales.push_back(locale); + + etl++; + } + + return locales; +} + +void load_editor_translations(const String &p_locale) { + EditorTranslationList *etl = _editor_translations; + while (etl->data) { + if (etl->lang == p_locale) { + Vector<uint8_t> data; + data.resize(etl->uncomp_size); + Compression::decompress(data.ptrw(), etl->uncomp_size, etl->data, etl->comp_size, Compression::MODE_DEFLATE); + + FileAccessMemory *fa = memnew(FileAccessMemory); + fa->open_custom(data.ptr(), data.size()); + + Ref<Translation> tr = TranslationLoaderPO::load_translation(fa); + + if (tr.is_valid()) { + tr->set_locale(etl->lang); + TranslationServer::get_singleton()->set_tool_translation(tr); + break; + } + } + + etl++; + } +} + +void load_doc_translations(const String &p_locale) { + DocTranslationList *dtl = _doc_translations; + while (dtl->data) { + if (dtl->lang == p_locale) { + Vector<uint8_t> data; + data.resize(dtl->uncomp_size); + Compression::decompress(data.ptrw(), dtl->uncomp_size, dtl->data, dtl->comp_size, Compression::MODE_DEFLATE); + + FileAccessMemory *fa = memnew(FileAccessMemory); + fa->open_custom(data.ptr(), data.size()); + + Ref<Translation> tr = TranslationLoaderPO::load_translation(fa); + + if (tr.is_valid()) { + tr->set_locale(dtl->lang); + TranslationServer::get_singleton()->set_doc_translation(tr); + break; + } + } + + dtl++; + } +} diff --git a/editor/editor_translation.h b/editor/editor_translation.h new file mode 100644 index 0000000000..baba03859d --- /dev/null +++ b/editor/editor_translation.h @@ -0,0 +1,41 @@ +/*************************************************************************/ +/* editor_translation.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (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_TRANSLATION_H +#define EDITOR_TRANSLATION_H + +#include "core/string/ustring.h" +#include "core/templates/vector.h" + +Vector<String> get_editor_locales(); +void load_editor_translations(const String &p_locale); +void load_doc_translations(const String &p_locale); + +#endif // EDITOR_TRANSLATION_H diff --git a/editor/editor_translation_parser.cpp b/editor/editor_translation_parser.cpp index df47b2d988..27b8c3fd5d 100644 --- a/editor/editor_translation_parser.cpp +++ b/editor/editor_translation_parser.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_translation_parser.h b/editor/editor_translation_parser.h index 242ba33b55..bd770250f9 100644 --- a/editor/editor_translation_parser.h +++ b/editor/editor_translation_parser.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_vcs_interface.cpp b/editor/editor_vcs_interface.cpp index b4b740d7c6..97611d9786 100644 --- a/editor/editor_vcs_interface.cpp +++ b/editor/editor_vcs_interface.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_vcs_interface.h b/editor/editor_vcs_interface.h index 1a2adeb148..091936dadc 100644 --- a/editor/editor_vcs_interface.h +++ b/editor/editor_vcs_interface.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_zoom_widget.cpp b/editor/editor_zoom_widget.cpp index a998ec7e5b..abfa383297 100644 --- a/editor/editor_zoom_widget.cpp +++ b/editor/editor_zoom_widget.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -183,7 +183,7 @@ EditorZoomWidget::EditorZoomWidget() { zoom_reset->set_shortcut(ED_SHORTCUT("canvas_item_editor/zoom_reset", TTR("Zoom Reset"), KeyModifierMask::CMD | Key::KEY_0)); zoom_reset->set_shortcut_context(this); zoom_reset->set_focus_mode(FOCUS_NONE); - zoom_reset->set_text_align(Button::TextAlign::ALIGN_CENTER); + zoom_reset->set_text_alignment(HORIZONTAL_ALIGNMENT_CENTER); // Prevent the button's size from changing when the text size changes zoom_reset->set_custom_minimum_size(Size2(75 * EDSCALE, 0)); diff --git a/editor/editor_zoom_widget.h b/editor/editor_zoom_widget.h index c35faeefe7..bf8358ff1a 100644 --- a/editor/editor_zoom_widget.h +++ b/editor/editor_zoom_widget.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/export_template_manager.cpp b/editor/export_template_manager.cpp index cb88e9d75e..f12a851388 100644 --- a/editor/export_template_manager.cpp +++ b/editor/export_template_manager.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -53,7 +53,7 @@ void ExportTemplateManager::_update_template_status() { da->list_dir_begin(); if (err == OK) { String c = da->get_next(); - while (c != String()) { + while (!c.is_empty()) { if (da->current_is_dir() && !c.begins_with(".")) { templates.insert(c); } @@ -147,6 +147,11 @@ void ExportTemplateManager::_download_template(const String &p_url, bool p_skip_ download_templates->set_download_file(EditorPaths::get_singleton()->get_cache_dir().plus_file("tmp_templates.tpz")); download_templates->set_use_threads(true); + const String proxy_host = EDITOR_DEF("network/http_proxy/host", ""); + const int proxy_port = EDITOR_DEF("network/http_proxy/port", -1); + download_templates->set_http_proxy(proxy_host, proxy_port); + download_templates->set_https_proxy(proxy_host, proxy_port); + Error err = download_templates->request(p_url); if (err != OK) { _set_current_progress_status(TTR("Error requesting URL:") + " " + p_url, true); @@ -424,7 +429,7 @@ bool ExportTemplateManager::_install_file_selected(const String &p_file, bool p_ ret = unzGoToNextFile(pkg); } - if (version == String()) { + if (version.is_empty()) { EditorNode::get_singleton()->show_warning(TTR("No version.txt found inside the export templates file.")); unzClose(pkg); return false; @@ -827,7 +832,7 @@ ExportTemplateManager::ExportTemplateManager() { current_missing_label->set_theme_type_variation("HeaderSmall"); current_missing_label->set_h_size_flags(Control::SIZE_EXPAND_FILL); - current_missing_label->set_align(Label::ALIGN_RIGHT); + current_missing_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_RIGHT); current_missing_label->set_text(TTR("Export templates are missing. Download them or install from a file.")); current_hb->add_child(current_missing_label); @@ -835,7 +840,7 @@ ExportTemplateManager::ExportTemplateManager() { current_installed_label = memnew(Label); current_installed_label->set_theme_type_variation("HeaderSmall"); current_installed_label->set_h_size_flags(Control::SIZE_EXPAND_FILL); - current_installed_label->set_align(Label::ALIGN_RIGHT); + current_installed_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_RIGHT); current_installed_label->set_text(TTR("Export templates are installed and ready to be used.")); current_hb->add_child(current_installed_label); current_installed_label->hide(); @@ -909,7 +914,7 @@ ExportTemplateManager::ExportTemplateManager() { } HBoxContainer *install_file_hb = memnew(HBoxContainer); - install_file_hb->set_alignment(BoxContainer::ALIGN_END); + install_file_hb->set_alignment(BoxContainer::ALIGNMENT_END); install_options_vb->add_child(install_file_hb); install_file_button = memnew(Button); diff --git a/editor/export_template_manager.h b/editor/export_template_manager.h index ebadb88c36..cf7585635d 100644 --- a/editor/export_template_manager.h +++ b/editor/export_template_manager.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/fileserver/editor_file_server.cpp b/editor/fileserver/editor_file_server.cpp index 8f019a95fd..4a6aa11938 100644 --- a/editor/fileserver/editor_file_server.cpp +++ b/editor/fileserver/editor_file_server.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -88,7 +88,7 @@ void EditorFileServer::_subthread_start(void *s) { ERR_FAIL(); } } else { - if (cd->efs->password != "") { + if (!cd->efs->password.is_empty()) { encode_uint32(ERR_INVALID_DATA, buf4); cd->connection->put_data(buf4, 4); OS::get_singleton()->delay_usec(1000000); diff --git a/editor/fileserver/editor_file_server.h b/editor/fileserver/editor_file_server.h index d0405e0bb7..7807e72800 100644 --- a/editor/fileserver/editor_file_server.h +++ b/editor/fileserver/editor_file_server.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp index f40a048b75..0253307d5a 100644 --- a/editor/filesystem_dock.cpp +++ b/editor/filesystem_dock.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -46,6 +46,7 @@ #include "scene/main/window.h" #include "scene/resources/packed_scene.h" #include "servers/display_server.h" +#include "shader_create_dialog.h" Ref<Texture2D> FileSystemDock::_get_tree_item_icon(bool p_is_valid, String p_file_type) { Ref<Texture2D> file_icon; @@ -63,7 +64,7 @@ bool FileSystemDock::_create_tree(TreeItem *p_parent, EditorFileSystemDirectory // Create a tree item for the subdirectory. TreeItem *subdirectory_item = tree->create_item(p_parent); String dname = p_dir->get_name(); - if (dname == "") { + if (dname.is_empty()) { dname = "res://"; } @@ -528,7 +529,7 @@ void FileSystemDock::_navigate_to_path(const String &p_path, bool p_select_in_fa _update_tree(_compute_uncollapsed_paths(), false, p_select_in_favorites, true); if (display_mode == DISPLAY_MODE_SPLIT) { _update_file_list(false); - files->get_v_scroll()->set_value(0); + files->get_v_scroll_bar()->set_value(0); } String file_name = p_path.get_file(); @@ -922,7 +923,7 @@ void FileSystemDock::_update_file_list(bool p_keep_selection) { files->select(item_index, false); } - if (!p_keep_selection && file != "" && fname == file) { + if (!p_keep_selection && !file.is_empty() && fname == file) { files->select(item_index, true); files->ensure_current_is_visible(); } @@ -1669,7 +1670,7 @@ Vector<String> FileSystemDock::_remove_self_included_paths(Vector<String> select selected_strings.sort_custom<NaturalNoCaseComparator>(); String last_path = ""; for (int i = 0; i < selected_strings.size(); i++) { - if (last_path != "" && selected_strings[i].begins_with(last_path)) { + if (!last_path.is_empty() && selected_strings[i].begins_with(last_path)) { selected_strings.remove_at(i); i--; } @@ -1967,6 +1968,22 @@ void FileSystemDock::_file_option(int p_option, const Vector<String> &p_selected } void FileSystemDock::_resource_created() { + String fpath = path; + if (!fpath.ends_with("/")) { + fpath = fpath.get_base_dir(); + } + + String type_name = new_resource_dialog->get_selected_type(); + if (type_name == "Shader") { + make_shader_dialog->config(fpath.plus_file("new_shader"), false, false, 0); + make_shader_dialog->popup_centered(); + return; + } else if (type_name == "VisualShader") { + make_shader_dialog->config(fpath.plus_file("new_shader"), false, false, 1); + make_shader_dialog->popup_centered(); + return; + } + Variant c = new_resource_dialog->instance_selected(); ERR_FAIL_COND(!c); @@ -1982,12 +1999,6 @@ void FileSystemDock::_resource_created() { } editor->push_item(r); - - String fpath = path; - if (!fpath.ends_with("/")) { - fpath = fpath.get_base_dir(); - } - editor->save_resource_as(RES(r), fpath); } @@ -2005,7 +2016,7 @@ void FileSystemDock::_search_changed(const String &p_text, const Control *p_from tree_search_box->set_text(searched_string); } - bool unfold_path = (p_text == String() && path != String()); + bool unfold_path = (p_text.is_empty() && !path.is_empty()); switch (display_mode) { case DISPLAY_MODE_TREE_ONLY: { _update_tree(searched_string.length() == 0 ? uncollapsed_paths_before_search : Vector<String>(), false, false, unfold_path); @@ -2510,6 +2521,7 @@ void FileSystemDock::_tree_rmb_select(const Vector2 &p_pos) { tree_popup->reset_size(); _file_and_folders_fill_popup(tree_popup, paths); tree_popup->set_position(tree->get_screen_position() + p_pos); + tree_popup->reset_size(); tree_popup->popup(); } } @@ -2524,7 +2536,8 @@ void FileSystemDock::_tree_rmb_empty(const Vector2 &p_pos) { tree_popup->add_icon_item(get_theme_icon(SNAME("Script"), SNAME("EditorIcons")), TTR("New Script..."), FILE_NEW_SCRIPT); tree_popup->add_icon_item(get_theme_icon(SNAME("Object"), SNAME("EditorIcons")), TTR("New Resource..."), FILE_NEW_RESOURCE); tree_popup->add_icon_item(get_theme_icon(SNAME("TextFile"), SNAME("EditorIcons")), TTR("New TextFile..."), FILE_NEW_TEXTFILE); - tree_popup->set_position(tree->get_global_position() + p_pos); + tree_popup->set_position(tree->get_screen_position() + p_pos); + tree_popup->reset_size(); tree_popup->popup(); } @@ -2549,9 +2562,9 @@ void FileSystemDock::_file_list_rmb_select(int p_item, const Vector2 &p_pos) { // Popup. if (!paths.is_empty()) { file_list_popup->clear(); - file_list_popup->reset_size(); _file_and_folders_fill_popup(file_list_popup, paths, searched_string.length() == 0); - file_list_popup->set_position(files->get_global_position() + p_pos); + file_list_popup->set_position(files->get_screen_position() + p_pos); + file_list_popup->reset_size(); file_list_popup->popup(); } } @@ -2572,7 +2585,8 @@ void FileSystemDock::_file_list_rmb_pressed(const Vector2 &p_pos) { file_list_popup->add_icon_item(get_theme_icon(SNAME("TextFile"), SNAME("EditorIcons")), TTR("New TextFile..."), FILE_NEW_TEXTFILE); file_list_popup->add_separator(); file_list_popup->add_icon_item(get_theme_icon(SNAME("Filesystem"), SNAME("EditorIcons")), TTR("Open in File Manager"), FILE_SHOW_IN_EXPLORER); - file_list_popup->set_position(files->get_global_position() + p_pos); + file_list_popup->set_position(files->get_screen_position() + p_pos); + file_list_popup->reset_size(); file_list_popup->popup(); } @@ -2651,7 +2665,7 @@ void FileSystemDock::_get_imported_files(const String &p_path, Vector<String> &f DirAccess *da = DirAccess::open(p_path); da->list_dir_begin(); String n = da->get_next(); - while (n != String()) { + while (!n.is_empty()) { if (n != "." && n != ".." && !n.ends_with(".import")) { String npath = p_path + n + (da->current_is_dir() ? "/" : ""); _get_imported_files(npath, files); @@ -2706,7 +2720,7 @@ void FileSystemDock::_update_import_dock() { if (cf->has_section_key("remap", "type")) { type = cf->get_value("remap", "type"); } - if (import_type == "") { + if (import_type.is_empty()) { import_type = type; } else if (import_type != type) { // All should be the same type. @@ -2922,7 +2936,7 @@ FileSystemDock::FileSystemDock(EditorNode *p_editor) { Label *slabel = memnew(Label); slabel->set_text(TTR("Scanning Files,\nPlease Wait...")); - slabel->set_align(Label::ALIGN_CENTER); + slabel->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); scanning_vb->add_child(slabel); scanning_progress = memnew(ProgressBar); @@ -2997,6 +3011,9 @@ FileSystemDock::FileSystemDock(EditorNode *p_editor) { make_script_dialog->set_title(TTR("Create Script")); add_child(make_script_dialog); + make_shader_dialog = memnew(ShaderCreateDialog); + add_child(make_shader_dialog); + new_resource_dialog = memnew(CreateDialog); add_child(new_resource_dialog); new_resource_dialog->set_base_type("Resource"); diff --git a/editor/filesystem_dock.h b/editor/filesystem_dock.h index 7c3851b94f..8d50f05da9 100644 --- a/editor/filesystem_dock.h +++ b/editor/filesystem_dock.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -54,6 +54,7 @@ #include "script_create_dialog.h" class EditorNode; +class ShaderCreateDialog; class FileSystemDock : public VBoxContainer { GDCLASS(FileSystemDock, VBoxContainer); @@ -158,6 +159,7 @@ private: LineEdit *make_scene_dialog_text; ConfirmationDialog *overwrite_dialog; ScriptCreateDialog *make_script_dialog; + ShaderCreateDialog *make_shader_dialog; CreateDialog *new_resource_dialog; bool always_show_folders; diff --git a/editor/find_in_files.cpp b/editor/find_in_files.cpp index 56356ff25b..131ecc3b12 100644 --- a/editor/find_in_files.cpp +++ b/editor/find_in_files.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -114,7 +114,7 @@ void FindInFiles::_notification(int p_notification) { } void FindInFiles::start() { - if (_pattern == "") { + if (_pattern.is_empty()) { print_verbose("Nothing to search, pattern is empty"); emit_signal(SNAME(SIGNAL_FINISHED)); return; @@ -224,7 +224,7 @@ void FindInFiles::_scan_dir(String path, PackedStringArray &out_folders) { for (int i = 0; i < 1000; ++i) { String file = dir->get_next(); - if (file == "") { + if (file.is_empty()) { break; } diff --git a/editor/find_in_files.h b/editor/find_in_files.h index 488f14a922..fca6910f1c 100644 --- a/editor/find_in_files.h +++ b/editor/find_in_files.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/groups_editor.cpp b/editor/groups_editor.cpp index f01c7f50f7..c65d4e9e3b 100644 --- a/editor/groups_editor.cpp +++ b/editor/groups_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -227,7 +227,7 @@ void GroupDialog::_group_renamed() { } } - if (name == "") { + if (name.is_empty()) { renamed_group->set_text(0, selected_group); error->set_text(TTR("Invalid group name.")); error->popup_centered(); @@ -544,8 +544,8 @@ GroupDialog::GroupDialog() { group_empty->set_theme_type_variation("HeaderSmall"); group_empty->set_text(TTR("Empty groups will be automatically removed.")); - group_empty->set_valign(Label::VALIGN_CENTER); - group_empty->set_align(Label::ALIGN_CENTER); + group_empty->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER); + group_empty->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); group_empty->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART); group_empty->set_custom_minimum_size(Size2(100 * EDSCALE, 0)); nodes_to_remove->add_child(group_empty); diff --git a/editor/groups_editor.h b/editor/groups_editor.h index f0a5b4a794..677ef14a1f 100644 --- a/editor/groups_editor.h +++ b/editor/groups_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/icons/Anchor.svg b/editor/icons/Anchor.svg index 37bad8bec6..b8a9dad712 100644 --- a/editor/icons/Anchor.svg +++ b/editor/icons/Anchor.svg @@ -1 +1 @@ -<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m8 1a3 3 0 0 0 -3 3 3 3 0 0 0 2 2.8262v.17383h-2v2h2v3.8984a5 5 0 0 1 -3.8281-3.6035l-1.9336.51758a7 7 0 0 0 6.7617 5.1875 7 7 0 0 0 6.7617-5.1875l-1.9375-.51953a5 5 0 0 1 -3.8242 3.6035v-3.8965h2v-2h-2v-.17578a3 3 0 0 0 2-2.8242 3 3 0 0 0 -3-3zm0 2a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 1 1 0 0 1 -1-1 1 1 0 0 1 1-1z" fill="#8eef97"/></svg> +<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m8 1a3 3 0 0 0 -3 3 3 3 0 0 0 2 2.8262v.17383h-2v2h2v3.8984a5 5 0 0 1 -3.8281-3.6035l-1.9336.51758a7 7 0 0 0 6.7617 5.1875 7 7 0 0 0 6.7617-5.1875l-1.9375-.51953a5 5 0 0 1 -3.8242 3.6035v-3.8965h2v-2h-2v-.17578a3 3 0 0 0 2-2.8242 3 3 0 0 0 -3-3zm0 2a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 1 1 0 0 1 -1-1 1 1 0 0 1 1-1z" fill="#e0e0e0"/></svg> diff --git a/editor/icons/GPUParticlesAttractorBox.svg b/editor/icons/GPUParticlesAttractorBox3D.svg index 7a2ee7a6b9..7a2ee7a6b9 100644 --- a/editor/icons/GPUParticlesAttractorBox.svg +++ b/editor/icons/GPUParticlesAttractorBox3D.svg diff --git a/editor/icons/GPUParticlesAttractorSphere.svg b/editor/icons/GPUParticlesAttractorSphere3D.svg index 2215331a18..2215331a18 100644 --- a/editor/icons/GPUParticlesAttractorSphere.svg +++ b/editor/icons/GPUParticlesAttractorSphere3D.svg diff --git a/editor/icons/GPUParticlesAttractorVectorField.svg b/editor/icons/GPUParticlesAttractorVectorField3D.svg index 87b2b21804..87b2b21804 100644 --- a/editor/icons/GPUParticlesAttractorVectorField.svg +++ b/editor/icons/GPUParticlesAttractorVectorField3D.svg diff --git a/editor/icons/GPUParticlesCollisionBox.svg b/editor/icons/GPUParticlesCollisionBox3D.svg index 4f7325d086..4f7325d086 100644 --- a/editor/icons/GPUParticlesCollisionBox.svg +++ b/editor/icons/GPUParticlesCollisionBox3D.svg diff --git a/editor/icons/GPUParticlesCollisionHeightField.svg b/editor/icons/GPUParticlesCollisionHeightField3D.svg index 8bdc98a84b..8bdc98a84b 100644 --- a/editor/icons/GPUParticlesCollisionHeightField.svg +++ b/editor/icons/GPUParticlesCollisionHeightField3D.svg diff --git a/editor/icons/GPUParticlesCollisionSDF.svg b/editor/icons/GPUParticlesCollisionSDF3D.svg index 00eca8295d..00eca8295d 100644 --- a/editor/icons/GPUParticlesCollisionSDF.svg +++ b/editor/icons/GPUParticlesCollisionSDF3D.svg diff --git a/editor/icons/GPUParticlesCollisionSphere.svg b/editor/icons/GPUParticlesCollisionSphere3D.svg index cd188ddacc..cd188ddacc 100644 --- a/editor/icons/GPUParticlesCollisionSphere.svg +++ b/editor/icons/GPUParticlesCollisionSphere3D.svg diff --git a/editor/icons/ProximityGroup3D.svg b/editor/icons/ProximityGroup3D.svg deleted file mode 100644 index 5cbf8add7b..0000000000 --- a/editor/icons/ProximityGroup3D.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="m1 1v14h14v-14zm2 2h10v10h-10zm7.5 1c-.82843.0000048-1.5.67157-1.5 1.5.0000048.82843.67157 1.5 1.5 1.5.82842-.0000048 1.5-.67157 1.5-1.5-.000005-.82843-.67158-1.5-1.5-1.5zm-5 5c-.82843-.0000048-1.5.67157-1.5 1.5-.0000048.82843.67157 1.5 1.5 1.5.82843.000005 1.5-.67157 1.5-1.5.0000048-.82843-.67157-1.5-1.5-1.5zm5 0c-.82843.0000048-1.5.67157-1.5 1.5.0000048.82842.67157 1.5 1.5 1.5.82842-.000005 1.5-.67158 1.5-1.5-.000005-.82843-.67158-1.5-1.5-1.5z" fill="#fc7f7f" fill-opacity=".99608"/></svg> diff --git a/editor/import/collada.cpp b/editor/import/collada.cpp index c34379f1ec..2cc534d96d 100644 --- a/editor/import/collada.cpp +++ b/editor/import/collada.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1362,7 +1362,7 @@ Collada::Node *Collada::_parse_visual_instance_geometry(XMLParser &parser) { } else if (parser.get_node_name() == "skeleton") { parser.read(); String uri = _uri_to_id(parser.get_node_data()); - if (uri != "") { + if (!uri.is_empty()) { geom->skeletons.push_back(uri); } } @@ -1464,7 +1464,7 @@ Collada::Node *Collada::_parse_visual_scene_node(XMLParser &parser) { bool found_name = false; - if (id == "") { + if (id.is_empty()) { id = "%NODEID%" + itos(Math::rand()); } else { @@ -1479,7 +1479,7 @@ Collada::Node *Collada::_parse_visual_scene_node(XMLParser &parser) { Node *node = nullptr; name = parser.has_attribute("name") ? parser.get_attribute_value_safe("name") : parser.get_attribute_value_safe("id"); - if (name == "") { + if (name.is_empty()) { name = id; } else { found_name = true; @@ -1499,7 +1499,7 @@ Collada::Node *Collada::_parse_visual_scene_node(XMLParser &parser) { joint->sid = parser.get_attribute_value_safe("name"); } - if (joint->sid != "") { + if (!joint->sid.is_empty()) { state.sid_to_node_map[joint->sid] = id; } @@ -1696,16 +1696,16 @@ void Collada::_parse_animation(XMLParser &parser) { source_param_types[current_source] = Vector<String>(); } else if (name == "float_array") { - if (current_source != "") { + if (!current_source.is_empty()) { float_sources[current_source] = _read_float_array(parser); } } else if (name == "Name_array") { - if (current_source != "") { + if (!current_source.is_empty()) { string_sources[current_source] = _read_string_array(parser); } } else if (name == "accessor") { - if (current_source != "" && parser.has_attribute("stride")) { + if (!current_source.is_empty() && parser.has_attribute("stride")) { source_strides[current_source] = parser.get_attribute_value("stride").to_int(); } } else if (name == "sampler") { @@ -1725,7 +1725,7 @@ void Collada::_parse_animation(XMLParser &parser) { } } else if (name == "input") { - if (current_sampler != "") { + if (!current_sampler.is_empty()) { samplers[current_sampler][parser.get_attribute_value("semantic")] = parser.get_attribute_value("source"); } @@ -1838,7 +1838,7 @@ void Collada::_parse_animation(XMLParser &parser) { track.component = track.param.get_slice(".", 1).to_upper(); } track.param = track.param.get_slice(".", 0); - if (names.size() > 1 && track.component == "") { + if (names.size() > 1 && track.component.is_empty()) { //this is a guess because the collada spec is ambiguous here... //i suppose if you have many names (outputs) you can't use a component and i should abide to that. track.component = name; @@ -1855,7 +1855,7 @@ void Collada::_parse_animation(XMLParser &parser) { state.referenced_tracks[target].push_back(state.animation_tracks.size() - 1); - if (id != "") { + if (!id.is_empty()) { if (!state.by_id_tracks.has(id)) { state.by_id_tracks[id] = Vector<int>(); } @@ -1953,10 +1953,10 @@ void Collada::_parse_library(XMLParser &parser) { while (parser.read() == OK) { if (parser.get_node_type() == XMLParser::NODE_ELEMENT) { if (parser.get_node_name() == "mesh") { - state.mesh_name_map[id] = (name2 != "") ? name2 : id; + state.mesh_name_map[id] = (!name2.is_empty()) ? name2 : id; _parse_mesh_geometry(parser, id, name2); } else if (parser.get_node_name() == "spline") { - state.mesh_name_map[id] = (name2 != "") ? name2 : id; + state.mesh_name_map[id] = (!name2.is_empty()) ? name2 : id; _parse_curve_geometry(parser, id, name2); } else if (!parser.is_empty()) { parser.skip_section(); @@ -2286,7 +2286,7 @@ void Collada::_find_morph_nodes(VisualScene *p_vscene, Node *p_node) { if (nj->controller) { String base = nj->source; - while (base != "" && !state.mesh_data_map.has(base)) { + while (!base.is_empty() && !state.mesh_data_map.has(base)) { if (state.skin_controller_data_map.has(base)) { SkinControllerData &sk = state.skin_controller_data_map[base]; base = sk.base; diff --git a/editor/import/collada.h b/editor/import/collada.h index 5e38637504..b5e4cd9983 100644 --- a/editor/import/collada.h +++ b/editor/import/collada.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/dynamicfont_import_settings.cpp b/editor/import/dynamicfont_import_settings.cpp index 45937e20bc..c8d8cd8ee1 100644 --- a/editor/import/dynamicfont_import_settings.cpp +++ b/editor/import/dynamicfont_import_settings.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1083,7 +1083,7 @@ void DynamicFontImportSettings::_edit_range(int32_t p_start, int32_t p_end) { item = glyph_table->create_item(root); ERR_FAIL_NULL(item); item->set_text(0, _pad_zeros(String::num_int64(c, 16))); - item->set_text_align(0, TreeItem::ALIGN_LEFT); + item->set_text_alignment(0, HORIZONTAL_ALIGNMENT_LEFT); item->set_selectable(0, false); item->set_custom_bg_color(0, glyph_table->get_theme_color("dark_color_3", "Editor")); } @@ -1101,7 +1101,7 @@ void DynamicFontImportSettings::_edit_range(int32_t p_start, int32_t p_end) { item->set_custom_bg_color(col + 1, glyph_table->get_theme_color("dark_color_2", "Editor")); } item->set_metadata(col + 1, c); - item->set_text_align(col + 1, TreeItem::ALIGN_CENTER); + item->set_text_alignment(col + 1, HORIZONTAL_ALIGNMENT_CENTER); item->set_selectable(col + 1, true); item->set_custom_font(col + 1, font_main); item->set_custom_font_size(col + 1, get_theme_font_size("font_size") * 2); @@ -1159,7 +1159,7 @@ void DynamicFontImportSettings::_range_update(int32_t p_start, int32_t p_end) { /*************************************************************************/ void DynamicFontImportSettings::_lang_add() { - menu_langs->set_position(lang_list->get_screen_transform().xform(lang_list->get_local_mouse_position())); + menu_langs->set_position(lang_list->get_screen_position() + lang_list->get_local_mouse_position()); menu_langs->reset_size(); menu_langs->popup(); } @@ -1186,7 +1186,7 @@ void DynamicFontImportSettings::_lang_remove(Object *p_item, int p_column, int p } void DynamicFontImportSettings::_script_add() { - menu_scripts->set_position(script_list->get_screen_transform().xform(script_list->get_local_mouse_position())); + menu_scripts->set_position(script_list->get_screen_position() + script_list->get_local_mouse_position()); menu_scripts->reset_size(); menu_scripts->popup(); } @@ -1597,7 +1597,7 @@ DynamicFontImportSettings::DynamicFontImportSettings() { menu_langs = memnew(PopupMenu); menu_langs->set_name("Language"); - for (int i = 0; langs[i].name != String(); i++) { + for (int i = 0; !langs[i].name.is_empty(); i++) { if (langs[i].name == "-") { menu_langs->add_separator(); } else { @@ -1609,7 +1609,7 @@ DynamicFontImportSettings::DynamicFontImportSettings() { menu_scripts = memnew(PopupMenu); menu_scripts->set_name("Script"); - for (int i = 0; scripts[i].name != String(); i++) { + for (int i = 0; !scripts[i].name.is_empty(); i++) { if (scripts[i].name == "-") { menu_scripts->add_separator(); } else { @@ -1632,7 +1632,7 @@ DynamicFontImportSettings::DynamicFontImportSettings() { root_vb->add_child(main_pages); label_warn = memnew(Label); - label_warn->set_align(Label::ALIGN_CENTER); + label_warn->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); label_warn->set_text(""); root_vb->add_child(label_warn); label_warn->add_theme_color_override("font_color", warn_color); @@ -1656,8 +1656,8 @@ DynamicFontImportSettings::DynamicFontImportSettings() { font_preview_label = memnew(Label); font_preview_label->add_theme_font_size_override("font_size", 200 * EDSCALE); - font_preview_label->set_align(Label::ALIGN_CENTER); - font_preview_label->set_valign(Label::VALIGN_CENTER); + font_preview_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); + font_preview_label->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER); font_preview_label->set_autowrap_mode(Label::AUTOWRAP_ARBITRARY); font_preview_label->set_clip_text(true); font_preview_label->set_v_size_flags(Control::SIZE_EXPAND_FILL); @@ -1694,7 +1694,7 @@ DynamicFontImportSettings::DynamicFontImportSettings() { label_vars = memnew(Label); page2_hb_vars->add_child(label_vars); - label_vars->set_align(Label::ALIGN_CENTER); + label_vars->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); label_vars->set_h_size_flags(Control::SIZE_EXPAND_FILL); label_vars->set_text(TTR("Configuration:")); @@ -1826,7 +1826,7 @@ DynamicFontImportSettings::DynamicFontImportSettings() { glyph_tree->connect("item_selected", callable_mp(this, &DynamicFontImportSettings::_range_selected)); glyph_tree->set_v_size_flags(Control::SIZE_EXPAND_FILL); glyph_root = glyph_tree->create_item(); - for (int i = 0; unicode_ranges[i].name != String(); i++) { + for (int i = 0; !unicode_ranges[i].name.is_empty(); i++) { _add_glyph_range_item(unicode_ranges[i].start, unicode_ranges[i].end, unicode_ranges[i].name); } @@ -1845,7 +1845,7 @@ DynamicFontImportSettings::DynamicFontImportSettings() { page5_vb->add_child(hb_lang); label_langs = memnew(Label); - label_langs->set_align(Label::ALIGN_CENTER); + label_langs->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); label_langs->set_h_size_flags(Control::SIZE_EXPAND_FILL); label_langs->set_text(TTR("Language support overrides")); hb_lang->add_child(label_langs); @@ -1873,7 +1873,7 @@ DynamicFontImportSettings::DynamicFontImportSettings() { page5_vb->add_child(hb_script); label_script = memnew(Label); - label_script->set_align(Label::ALIGN_CENTER); + label_script->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); label_script->set_h_size_flags(Control::SIZE_EXPAND_FILL); label_script->set_text(TTR("Script support overrides")); hb_script->add_child(label_script); diff --git a/editor/import/dynamicfont_import_settings.h b/editor/import/dynamicfont_import_settings.h index 05f5e8e00b..be8cf7ad3d 100644 --- a/editor/import/dynamicfont_import_settings.h +++ b/editor/import/dynamicfont_import_settings.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/editor_import_collada.cpp b/editor/import/editor_import_collada.cpp index 076c0cc62b..da45c15573 100644 --- a/editor/import/editor_import_collada.cpp +++ b/editor/import/editor_import_collada.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -303,7 +303,7 @@ Error ColladaImport::_create_scene(Collada::Node *p_node, Node3D *p_parent) { } break; } - if (p_node->name != "") { + if (!p_node->name.is_empty()) { node->set_name(p_node->name); } NodeMap nm; @@ -317,7 +317,7 @@ Error ColladaImport::_create_scene(Collada::Node *p_node, Node3D *p_parent) { p_parent->add_child(node, true); node->set_owner(scene); - if (p_node->empty_draw_type != "") { + if (!p_node->empty_draw_type.is_empty()) { node->set_meta("empty_draw_type", Variant(p_node->empty_draw_type)); } @@ -340,9 +340,9 @@ Error ColladaImport::_create_material(const String &p_target) { Ref<StandardMaterial3D> material = memnew(StandardMaterial3D); String base_name; - if (src_mat.name != "") { + if (!src_mat.name.is_empty()) { base_name = src_mat.name; - } else if (effect.name != "") { + } else if (!effect.name.is_empty()) { base_name = effect.name; } else { base_name = "Material"; @@ -360,9 +360,9 @@ Error ColladaImport::_create_material(const String &p_target) { // DIFFUSE - if (effect.diffuse.texture != "") { + if (!effect.diffuse.texture.is_empty()) { String texfile = effect.get_texture_path(effect.diffuse.texture, collada); - if (texfile != "") { + if (!texfile.is_empty()) { if (texfile.begins_with("/")) { texfile = texfile.replace_first("/", "res://"); } @@ -381,9 +381,9 @@ Error ColladaImport::_create_material(const String &p_target) { // SPECULAR - if (effect.specular.texture != "") { + if (!effect.specular.texture.is_empty()) { String texfile = effect.get_texture_path(effect.specular.texture, collada); - if (texfile != "") { + if (!texfile.is_empty()) { if (texfile.begins_with("/")) { texfile = texfile.replace_first("/", "res://"); } @@ -406,9 +406,9 @@ Error ColladaImport::_create_material(const String &p_target) { // EMISSION - if (effect.emission.texture != "") { + if (!effect.emission.texture.is_empty()) { String texfile = effect.get_texture_path(effect.emission.texture, collada); - if (texfile != "") { + if (!texfile.is_empty()) { if (texfile.begins_with("/")) { texfile = texfile.replace_first("/", "res://"); } @@ -433,9 +433,9 @@ Error ColladaImport::_create_material(const String &p_target) { // NORMAL - if (effect.bump.texture != "") { + if (!effect.bump.texture.is_empty()) { String texfile = effect.get_texture_path(effect.bump.texture, collada); - if (texfile != "") { + if (!texfile.is_empty()) { if (texfile.begins_with("/")) { texfile = texfile.replace_first("/", "res://"); } @@ -525,7 +525,7 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize, Ref<ImporterMesh> &p normal_ofs = vertex_ofs; } - if (normal_source_id != "") { + if (!normal_source_id.is_empty()) { ERR_FAIL_COND_V(!meshdata.sources.has(normal_source_id), ERR_INVALID_DATA); normal_src = &meshdata.sources[normal_source_id]; } @@ -545,7 +545,7 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize, Ref<ImporterMesh> &p binormal_ofs = vertex_ofs; } - if (binormal_source_id != "") { + if (!binormal_source_id.is_empty()) { ERR_FAIL_COND_V(!meshdata.sources.has(binormal_source_id), ERR_INVALID_DATA); binormal_src = &meshdata.sources[binormal_source_id]; } @@ -565,7 +565,7 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize, Ref<ImporterMesh> &p tangent_ofs = vertex_ofs; } - if (tangent_source_id != "") { + if (!tangent_source_id.is_empty()) { ERR_FAIL_COND_V(!meshdata.sources.has(tangent_source_id), ERR_INVALID_DATA); tangent_src = &meshdata.sources[tangent_source_id]; } @@ -585,7 +585,7 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize, Ref<ImporterMesh> &p uv_ofs = vertex_ofs; } - if (uv_source_id != "") { + if (!uv_source_id.is_empty()) { ERR_FAIL_COND_V(!meshdata.sources.has(uv_source_id), ERR_INVALID_DATA); uv_src = &meshdata.sources[uv_source_id]; } @@ -605,7 +605,7 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize, Ref<ImporterMesh> &p uv2_ofs = vertex_ofs; } - if (uv2_source_id != "") { + if (!uv2_source_id.is_empty()) { ERR_FAIL_COND_V(!meshdata.sources.has(uv2_source_id), ERR_INVALID_DATA); uv2_src = &meshdata.sources[uv2_source_id]; } @@ -625,7 +625,7 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize, Ref<ImporterMesh> &p color_ofs = vertex_ofs; } - if (color_source_id != "") { + if (!color_source_id.is_empty()) { ERR_FAIL_COND_V(!meshdata.sources.has(color_source_id), ERR_INVALID_DATA); color_src = &meshdata.sources[color_source_id]; } @@ -914,7 +914,7 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize, Ref<ImporterMesh> &p material = material_cache[target]; } - } else if (p.material != "") { + } else if (!p.material.is_empty()) { WARN_PRINT("Collada: Unreferenced material in geometry instance: " + p.material); } } @@ -1198,7 +1198,7 @@ Error ColladaImport::_create_resources(Collada::Node *p_node, bool p_use_compres } } - ERR_FAIL_COND_V_MSG(ngsource != "", ERR_INVALID_DATA, "Controller instance source '" + ngsource + "' is neither skin or morph!"); + ERR_FAIL_COND_V_MSG(!ngsource.is_empty(), ERR_INVALID_DATA, "Controller instance source '" + ngsource + "' is neither skin or morph!"); } else { meshid = ng2->source; @@ -1215,13 +1215,13 @@ Error ColladaImport::_create_resources(Collada::Node *p_node, bool p_use_compres mesh = Ref<ImporterMesh>(memnew(ImporterMesh)); const Collada::MeshData &meshdata = collada.state.mesh_data_map[meshid]; String name = meshdata.name; - if (name == "") { + if (name.is_empty()) { name = "Mesh"; } int counter = 2; while (mesh_unique_names.has(name)) { name = meshdata.name; - if (name == "") { + if (name.is_empty()) { name = "Mesh"; } name += itos(counter++); @@ -1261,7 +1261,7 @@ Error ColladaImport::_create_resources(Collada::Node *p_node, bool p_use_compres } mi->set_surface_material(i, material); - } else if (matname != "") { + } else if (!matname.is_empty()) { WARN_PRINT("Collada: Unreferenced material in geometry instance: " + matname); } } @@ -1343,7 +1343,7 @@ void ColladaImport::_fix_param_animation_tracks() { // test source(s) String source = ng->source; - while (source != "") { + while (!source.is_empty()) { if (collada.state.skin_controller_data_map.has(source)) { const Collada::SkinControllerData &skin = collada.state.skin_controller_data_map[source]; @@ -1796,7 +1796,7 @@ Node *EditorSceneFormatImporterCollada::import_scene(const String &p_path, uint3 AnimationPlayer *ap = memnew(AnimationPlayer); for (int i = 0; i < state.animations.size(); i++) { String name; - if (state.animations[i]->get_name() == "") { + if (state.animations[i]->get_name().is_empty()) { name = "default"; } else { name = state.animations[i]->get_name(); diff --git a/editor/import/editor_import_collada.h b/editor/import/editor_import_collada.h index 055a6fe178..90bfcbf4f3 100644 --- a/editor/import/editor_import_collada.h +++ b/editor/import/editor_import_collada.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/editor_import_plugin.cpp b/editor/import/editor_import_plugin.cpp index 1a002569c5..cf3464b168 100644 --- a/editor/import/editor_import_plugin.cpp +++ b/editor/import/editor_import_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/editor_import_plugin.h b/editor/import/editor_import_plugin.h index 6c5f4f6005..6cff8fb917 100644 --- a/editor/import/editor_import_plugin.h +++ b/editor/import/editor_import_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_bitmask.cpp b/editor/import/resource_importer_bitmask.cpp index c43052593d..16b68bcc22 100644 --- a/editor/import/resource_importer_bitmask.cpp +++ b/editor/import/resource_importer_bitmask.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_bitmask.h b/editor/import/resource_importer_bitmask.h index f3da5f9a31..e5cf1facff 100644 --- a/editor/import/resource_importer_bitmask.h +++ b/editor/import/resource_importer_bitmask.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_bmfont.cpp b/editor/import/resource_importer_bmfont.cpp index f54065416e..fa560e8eb1 100644 --- a/editor/import/resource_importer_bmfont.cpp +++ b/editor/import/resource_importer_bmfont.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_bmfont.h b/editor/import/resource_importer_bmfont.h index 64d536535c..e5a96e2c40 100644 --- a/editor/import/resource_importer_bmfont.h +++ b/editor/import/resource_importer_bmfont.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_csv_translation.cpp b/editor/import/resource_importer_csv_translation.cpp index 7948d9e577..448b318c64 100644 --- a/editor/import/resource_importer_csv_translation.cpp +++ b/editor/import/resource_importer_csv_translation.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -113,7 +113,7 @@ Error ResourceImporterCSVTranslation::import(const String &p_source_file, const while (line.size() == locales.size() + 1) { String key = line[0]; - if (key != "") { + if (!key.is_empty()) { for (int i = 1; i < line.size(); i++) { translations.write[i - 1]->add_message(key, line[i].c_unescape()); } diff --git a/editor/import/resource_importer_csv_translation.h b/editor/import/resource_importer_csv_translation.h index de7ba3e3a0..8f6cf94984 100644 --- a/editor/import/resource_importer_csv_translation.h +++ b/editor/import/resource_importer_csv_translation.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_dynamicfont.cpp b/editor/import/resource_importer_dynamicfont.cpp index f7363a565d..54e95f905e 100644 --- a/editor/import/resource_importer_dynamicfont.cpp +++ b/editor/import/resource_importer_dynamicfont.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_dynamicfont.h b/editor/import/resource_importer_dynamicfont.h index cb5294b9dd..a55d639e10 100644 --- a/editor/import/resource_importer_dynamicfont.h +++ b/editor/import/resource_importer_dynamicfont.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_image.cpp b/editor/import/resource_importer_image.cpp index 45cb5e2f9d..e6a822d827 100644 --- a/editor/import/resource_importer_image.cpp +++ b/editor/import/resource_importer_image.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_image.h b/editor/import/resource_importer_image.h index b7131ec850..81aedc91e8 100644 --- a/editor/import/resource_importer_image.h +++ b/editor/import/resource_importer_image.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_imagefont.cpp b/editor/import/resource_importer_imagefont.cpp index 04a68e4a53..0a15284ef5 100644 --- a/editor/import/resource_importer_imagefont.cpp +++ b/editor/import/resource_importer_imagefont.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_imagefont.h b/editor/import/resource_importer_imagefont.h index d600c35e1c..c1116d5a83 100644 --- a/editor/import/resource_importer_imagefont.h +++ b/editor/import/resource_importer_imagefont.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_layered_texture.cpp b/editor/import/resource_importer_layered_texture.cpp index 89c62ab5cb..5876d6df0b 100644 --- a/editor/import/resource_importer_layered_texture.cpp +++ b/editor/import/resource_importer_layered_texture.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -392,7 +392,7 @@ Error ResourceImporterLayeredTexture::import(const String &p_source_file, const bool can_s3tc = ProjectSettings::get_singleton()->get("rendering/textures/vram_compression/import_s3tc"); if (can_bptc) { - formats_imported.push_back("bptc"); //needs to be aded anyway + formats_imported.push_back("bptc"); // Needs to be added anyway. } bool can_compress_hdr = hdr_compression > 0; diff --git a/editor/import/resource_importer_layered_texture.h b/editor/import/resource_importer_layered_texture.h index 29dfe7263a..ee8e7dc615 100644 --- a/editor/import/resource_importer_layered_texture.h +++ b/editor/import/resource_importer_layered_texture.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_obj.cpp b/editor/import/resource_importer_obj.cpp index bb68de99b1..f3f7b7ebd2 100644 --- a/editor/import/resource_importer_obj.cpp +++ b/editor/import/resource_importer_obj.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -235,7 +235,7 @@ static Error _parse_obj(const String &p_path, List<Ref<Mesh>> &r_meshes, bool p_ while (l.length() && l[l.length() - 1] == '\\') { String add = f->get_line().strip_edges(); l += add; - if (add == String()) { + if (add.is_empty()) { break; } } @@ -301,7 +301,7 @@ static Error _parse_obj(const String &p_path, List<Ref<Mesh>> &r_meshes, bool p_ surf_tool->set_normal(normals[norm]); } - if (face[idx].size() >= 2 && face[idx][1] != String()) { + if (face[idx].size() >= 2 && !face[idx][1].is_empty()) { int uv = face[idx][1].to_int() - 1; if (uv < 0) { uv += uvs.size() + 1; @@ -363,9 +363,9 @@ static Error _parse_obj(const String &p_path, List<Ref<Mesh>> &r_meshes, bool p_ mesh = surf_tool->commit(mesh, mesh_flags); - if (current_material != String()) { + if (!current_material.is_empty()) { mesh->surface_set_name(mesh->get_surface_count() - 1, current_material.get_basename()); - } else if (current_group != String()) { + } else if (!current_group.is_empty()) { mesh->surface_set_name(mesh->get_surface_count() - 1, current_group); } diff --git a/editor/import/resource_importer_obj.h b/editor/import/resource_importer_obj.h index c3e46b6eb5..6f1acc26fa 100644 --- a/editor/import/resource_importer_obj.h +++ b/editor/import/resource_importer_obj.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_scene.cpp b/editor/import/resource_importer_scene.cpp index a25b694a60..889c0fbad2 100644 --- a/editor/import/resource_importer_scene.cpp +++ b/editor/import/resource_importer_scene.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -481,7 +481,7 @@ Node *ResourceImporterScene::_pre_fix_node(Node *p_node, Node *p_root, Map<Ref<I fixed_name = _fixstr(name, "convcolonly"); } - ERR_FAIL_COND_V(fixed_name == String(), nullptr); + ERR_FAIL_COND_V(fixed_name.is_empty(), nullptr); if (shapes.size()) { StaticBody3D *col = memnew(StaticBody3D); @@ -577,7 +577,7 @@ Node *ResourceImporterScene::_pre_fix_node(Node *p_node, Node *p_root, Map<Ref<I fixed_name = _fixstr(name, "convcol"); } - if (fixed_name != String()) { + if (!fixed_name.is_empty()) { if (mi->get_parent() && !mi->get_parent()->has_node(fixed_name)) { mi->set_name(fixed_name); } @@ -710,7 +710,7 @@ Node *ResourceImporterScene::_post_fix_node(Node *p_node, Node *p_root, Map<Ref< mat_id = mat->get_name(); } - if (mat_id != String() && p_material_data.has(mat_id)) { + if (!mat_id.is_empty() && p_material_data.has(mat_id)) { Dictionary matdata = p_material_data[mat_id]; for (int j = 0; j < post_importer_plugins.size(); j++) { @@ -1015,6 +1015,7 @@ Ref<Animation> ResourceImporterScene::_save_animation_to_file(Ref<Animation> ani void ResourceImporterScene::_create_clips(AnimationPlayer *anim, const Array &p_clips, bool p_bake_all) { if (!anim->has_animation("default")) { + ERR_FAIL_COND_MSG(p_clips.size() > 0, "To create clips, animations must be named \"default\"."); return; } @@ -1433,7 +1434,7 @@ void ResourceImporterScene::get_import_options(const String &p_path, List<Import String script_ext_hint; for (const String &E : script_extentions) { - if (script_ext_hint != "") { + if (!script_ext_hint.is_empty()) { script_ext_hint += ","; } script_ext_hint += "*." + E; @@ -1559,7 +1560,7 @@ void ResourceImporterScene::_generate_meshes(Node *p_node, const Dictionary &p_m mesh_id = src_mesh_node->get_mesh()->get_name(); } - if (mesh_id != String() && p_mesh_data.has(mesh_id)) { + if (!mesh_id.is_empty() && p_mesh_data.has(mesh_id)) { Dictionary mesh_settings = p_mesh_data[mesh_id]; if (mesh_settings.has("generate/shadow_meshes")) { @@ -1649,7 +1650,7 @@ void ResourceImporterScene::_generate_meshes(Node *p_node, const Dictionary &p_m } } - if (save_to_file != String()) { + if (!save_to_file.is_empty()) { Ref<Mesh> existing = Ref<Resource>(ResourceCache::get(save_to_file)); if (existing.is_valid()) { //if somehow an existing one is useful, create @@ -2051,7 +2052,7 @@ Error ResourceImporterScene::import(const String &p_source_file, const String &p String post_import_script_path = p_options["import_script/path"]; Ref<EditorScenePostImport> post_import_script; - if (post_import_script_path != "") { + if (!post_import_script_path.is_empty()) { Ref<Script> scr = ResourceLoader::load(post_import_script_path); if (!scr.is_valid()) { EditorNode::add_io_error(TTR("Couldn't load post-import script:") + " " + post_import_script_path); diff --git a/editor/import/resource_importer_scene.h b/editor/import/resource_importer_scene.h index 5437ecd159..17ae0e797b 100644 --- a/editor/import/resource_importer_scene.h +++ b/editor/import/resource_importer_scene.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_shader_file.cpp b/editor/import/resource_importer_shader_file.cpp index 797e11f5ea..cc34259a2d 100644 --- a/editor/import/resource_importer_shader_file.cpp +++ b/editor/import/resource_importer_shader_file.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_shader_file.h b/editor/import/resource_importer_shader_file.h index 3ed489e9fb..858c2e783c 100644 --- a/editor/import/resource_importer_shader_file.h +++ b/editor/import/resource_importer_shader_file.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_texture.cpp b/editor/import/resource_importer_texture.cpp index b1fa2eda28..59550a3ee3 100644 --- a/editor/import/resource_importer_texture.cpp +++ b/editor/import/resource_importer_texture.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -37,6 +37,8 @@ #include "editor/editor_node.h" void ResourceImporterTexture::_texture_reimport_roughness(const Ref<StreamTexture2D> &p_tex, const String &p_normal_path, RS::TextureDetectRoughnessChannel p_channel) { + ERR_FAIL_COND(p_tex.is_null()); + MutexLock lock(singleton->mutex); StringName path = p_tex->get_path(); @@ -51,6 +53,8 @@ void ResourceImporterTexture::_texture_reimport_roughness(const Ref<StreamTextur } void ResourceImporterTexture::_texture_reimport_3d(const Ref<StreamTexture2D> &p_tex) { + ERR_FAIL_COND(p_tex.is_null()); + MutexLock lock(singleton->mutex); StringName path = p_tex->get_path(); @@ -63,6 +67,8 @@ void ResourceImporterTexture::_texture_reimport_3d(const Ref<StreamTexture2D> &p } void ResourceImporterTexture::_texture_reimport_normal(const Ref<StreamTexture2D> &p_tex) { + ERR_FAIL_COND(p_tex.is_null()); + MutexLock lock(singleton->mutex); StringName path = p_tex->get_path(); diff --git a/editor/import/resource_importer_texture.h b/editor/import/resource_importer_texture.h index cb9d1b08cd..ea2318fb33 100644 --- a/editor/import/resource_importer_texture.h +++ b/editor/import/resource_importer_texture.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_texture_atlas.cpp b/editor/import/resource_importer_texture_atlas.cpp index 048d84d1f9..d2a9fe2538 100644 --- a/editor/import/resource_importer_texture_atlas.cpp +++ b/editor/import/resource_importer_texture_atlas.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_texture_atlas.h b/editor/import/resource_importer_texture_atlas.h index 177ef949ac..a5e47dee99 100644 --- a/editor/import/resource_importer_texture_atlas.h +++ b/editor/import/resource_importer_texture_atlas.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_wav.cpp b/editor/import/resource_importer_wav.cpp index 820eba951f..8cb9a47fb5 100644 --- a/editor/import/resource_importer_wav.cpp +++ b/editor/import/resource_importer_wav.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_wav.h b/editor/import/resource_importer_wav.h index e3e605aeb2..a5b576ceb9 100644 --- a/editor/import/resource_importer_wav.h +++ b/editor/import/resource_importer_wav.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/scene_import_settings.cpp b/editor/import/scene_import_settings.cpp index 5690d49a55..eed1888c6a 100644 --- a/editor/import/scene_import_settings.cpp +++ b/editor/import/scene_import_settings.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -92,7 +92,7 @@ void SceneImportSettings::_fill_material(Tree *p_tree, const Ref<Material> &p_ma if (p_material->has_meta("import_id")) { import_id = p_material->get_meta("import_id"); has_import_id = true; - } else if (p_material->get_name() != "") { + } else if (!p_material->get_name().is_empty()) { import_id = p_material->get_name(); has_import_id = true; } else { @@ -148,7 +148,7 @@ void SceneImportSettings::_fill_mesh(Tree *p_tree, const Ref<Mesh> &p_mesh, Tree if (p_mesh->has_meta("import_id")) { import_id = p_mesh->get_meta("import_id"); has_import_id = true; - } else if (p_mesh->get_name() != String()) { + } else if (!p_mesh->get_name().is_empty()) { import_id = p_mesh->get_name(); has_import_id = true; } else { @@ -414,7 +414,7 @@ void SceneImportSettings::_update_camera() { float rot_y = cam_rot_y; float zoom = cam_zoom; - if (selected_type == "Node" || selected_type == "") { + if (selected_type == "Node" || selected_type.is_empty()) { camera_aabb = contents_aabb; } else { if (mesh_preview->get_mesh().is_valid()) { diff --git a/editor/import/scene_import_settings.h b/editor/import/scene_import_settings.h index c7c94af493..4edf05c7bb 100644 --- a/editor/import/scene_import_settings.h +++ b/editor/import/scene_import_settings.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import_defaults_editor.cpp b/editor/import_defaults_editor.cpp index 4b69810861..15d3c4b3ee 100644 --- a/editor/import_defaults_editor.cpp +++ b/editor/import_defaults_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import_defaults_editor.h b/editor/import_defaults_editor.h index c1becac5e9..e84e4b6646 100644 --- a/editor/import_defaults_editor.h +++ b/editor/import_defaults_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import_dock.cpp b/editor/import_dock.cpp index cc6b4e66e4..09c02465a7 100644 --- a/editor/import_dock.cpp +++ b/editor/import_dock.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -525,7 +525,7 @@ void ImportDock::_reimport() { Ref<ResourceImporter> importer = ResourceFormatImporter::get_singleton()->get_importer_by_name(importer_name); ERR_CONTINUE(!importer.is_valid()); String group_file_property = importer->get_option_group_file(); - if (group_file_property != String()) { + if (!group_file_property.is_empty()) { //can import from a group (as in, atlas) ERR_CONTINUE(!params->values.has(group_file_property)); String group_file = params->values[group_file_property]; diff --git a/editor/import_dock.h b/editor/import_dock.h index ac73f3e3c0..d21f0d507d 100644 --- a/editor/import_dock.h +++ b/editor/import_dock.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/inspector_dock.cpp b/editor/inspector_dock.cpp index 5622d0b145..ccb287e433 100644 --- a/editor/inspector_dock.cpp +++ b/editor/inspector_dock.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -312,7 +312,7 @@ void InspectorDock::_prepare_history() { Resource *r = Object::cast_to<Resource>(obj); if (r->get_path().is_resource_file()) { text = r->get_path().get_file(); - } else if (r->get_name() != String()) { + } else if (!r->get_name().is_empty()) { text = r->get_name(); } else { text = r->get_class(); @@ -460,7 +460,7 @@ void InspectorDock::open_resource(const String &p_type) { void InspectorDock::set_warning(const String &p_message) { warning->hide(); - if (p_message != String()) { + if (!p_message.is_empty()) { warning->show(); warning_dialog->set_text(p_message); } diff --git a/editor/inspector_dock.h b/editor/inspector_dock.h index 5bf6a34617..94e4f67348 100644 --- a/editor/inspector_dock.h +++ b/editor/inspector_dock.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -32,7 +32,6 @@ #define INSPECTOR_DOCK_H #include "editor/animation_track_editor.h" -#include "editor/connections_dialog.h" #include "editor/create_dialog.h" #include "editor/editor_data.h" #include "editor/editor_inspector.h" diff --git a/editor/localization_editor.cpp b/editor/localization_editor.cpp index 5c25e6aae9..a902b070f4 100644 --- a/editor/localization_editor.cpp +++ b/editor/localization_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -497,7 +497,7 @@ void LocalizationEditor::update_translations() { TreeItem *t = translation_filter->create_item(root); t->set_cell_mode(0, TreeItem::CELL_MODE_CHECK); - t->set_text(0, n); + t->set_text(0, vformat("[%s] %s", l, n)); t->set_editable(0, true); t->set_tooltip(0, l); t->set_checked(0, is_checked); @@ -537,7 +537,7 @@ void LocalizationEditor::update_translations() { if (langnames.length() > 0) { langnames += ","; } - langnames += names[i]; + langnames += vformat("[%s] %s", langs[i], names[i]); translation_locales_idxs_remap.write[l_idx] = i; l_idx++; } @@ -546,7 +546,7 @@ void LocalizationEditor::update_translations() { if (i > 0) { langnames += ","; } - langnames += names[i]; + langnames += vformat("[%s] %s", langs[i], names[i]); } } @@ -641,7 +641,7 @@ LocalizationEditor::LocalizationEditor() { translation_locales_list_created = false; TabContainer *translations = memnew(TabContainer); - translations->set_tab_align(TabContainer::ALIGN_LEFT); + translations->set_tab_alignment(TabContainer::ALIGNMENT_LEFT); translations->set_v_size_flags(Control::SIZE_EXPAND_FILL); add_child(translations); diff --git a/editor/localization_editor.h b/editor/localization_editor.h index 23cea06fbe..4c77aca397 100644 --- a/editor/localization_editor.h +++ b/editor/localization_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/multi_node_edit.cpp b/editor/multi_node_edit.cpp index 1e707c1a60..59fc473d73 100644 --- a/editor/multi_node_edit.cpp +++ b/editor/multi_node_edit.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -75,7 +75,7 @@ bool MultiNodeEdit::_set_impl(const StringName &p_name, const Variant &p_value, ur->add_do_property(n, name, path); } else { Variant new_value; - if (p_field == "") { + if (p_field.is_empty()) { // whole value new_value = p_value; } else { diff --git a/editor/multi_node_edit.h b/editor/multi_node_edit.h index 2efecb9f65..31678d7b01 100644 --- a/editor/multi_node_edit.h +++ b/editor/multi_node_edit.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/node_dock.cpp b/editor/node_dock.cpp index 532413897b..d8f16b367a 100644 --- a/editor/node_dock.cpp +++ b/editor/node_dock.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -30,6 +30,7 @@ #include "node_dock.h" +#include "connections_dialog.h" #include "editor_node.h" #include "editor_scale.h" @@ -128,8 +129,8 @@ NodeDock::NodeDock() { select_a_node->set_text(TTR("Select a single node to edit its signals and groups.")); select_a_node->set_custom_minimum_size(Size2(100 * EDSCALE, 0)); select_a_node->set_v_size_flags(SIZE_EXPAND_FILL); - select_a_node->set_valign(Label::VALIGN_CENTER); - select_a_node->set_align(Label::ALIGN_CENTER); + select_a_node->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER); + select_a_node->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); select_a_node->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART); add_child(select_a_node); } diff --git a/editor/node_dock.h b/editor/node_dock.h index 280369bb09..b35be8de8a 100644 --- a/editor/node_dock.h +++ b/editor/node_dock.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -31,9 +31,10 @@ #ifndef NODE_DOCK_H #define NODE_DOCK_H -#include "connections_dialog.h" #include "groups_editor.h" +class ConnectionsDock; + class NodeDock : public VBoxContainer { GDCLASS(NodeDock, VBoxContainer); diff --git a/editor/plugin_config_dialog.cpp b/editor/plugin_config_dialog.cpp index c99b34e0c2..5786d24d23 100644 --- a/editor/plugin_config_dialog.cpp +++ b/editor/plugin_config_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -36,12 +36,6 @@ #include "editor/editor_plugin.h" #include "editor/editor_scale.h" #include "editor/project_settings_editor.h" -#include "scene/gui/grid_container.h" - -#include "modules/modules_enabled.gen.h" // For gdscript. -#ifdef MODULE_GDSCRIPT_ENABLED -#include "modules/gdscript/gdscript.h" -#endif void PluginConfigDialog::_clear_fields() { name_edit->set_text(""); @@ -76,42 +70,16 @@ void PluginConfigDialog::_on_confirmed() { String lang_name = ScriptServer::get_language(lang_idx)->get_name(); Ref<Script> script; - - // TODO Use script templates. Right now, this code won't add the 'tool' annotation to other languages. - // TODO Better support script languages with named classes (has_named_classes). - - // FIXME: It's hacky to have hardcoded access to the GDScript module here. - // The editor code should not have to know what languages are enabled. -#ifdef MODULE_GDSCRIPT_ENABLED - if (lang_name == GDScriptLanguage::get_singleton()->get_name()) { - // Hard-coded GDScript template to keep usability until we use script templates. - Ref<Script> gdscript = memnew(GDScript); - gdscript->set_source_code( - "@tool\n" - "extends EditorPlugin\n" - "\n" - "\n" - "func _enter_tree()%VOID_RETURN%:\n" - "%TS%pass\n" - "\n" - "\n" - "func _exit_tree()%VOID_RETURN%:\n" - "%TS%pass\n"); - GDScriptLanguage::get_singleton()->make_template("", "", gdscript); - String script_path = path.plus_file(script_edit->get_text()); - gdscript->set_path(script_path); - ResourceSaver::save(script_path, gdscript); - script = gdscript; - } else { -#endif - String script_path = path.plus_file(script_edit->get_text()); - String class_name = script_path.get_file().get_basename(); - script = ScriptServer::get_language(lang_idx)->get_template(class_name, "EditorPlugin"); - script->set_path(script_path); - ResourceSaver::save(script_path, script); -#ifdef MODULE_GDSCRIPT_ENABLED + String script_path = path.plus_file(script_edit->get_text()); + String class_name = script_path.get_file().get_basename(); + String template_content = ""; + Vector<ScriptLanguage::ScriptTemplate> templates = ScriptServer::get_language(lang_idx)->get_built_in_templates("EditorPlugin"); + if (templates.size() > 0) { + template_content = templates.get(0).content; } -#endif + script = ScriptServer::get_language(lang_idx)->make_template(template_content, class_name, "EditorPlugin"); + script->set_path(script_path); + ResourceSaver::save(script_path, script); emit_signal(SNAME("plugin_ready"), script.operator->(), active_edit->is_pressed() ? _to_absolute_plugin_path(subfolder_edit->get_text()) : ""); } else { @@ -216,6 +184,7 @@ void PluginConfigDialog::config(const String &p_config_path) { active_edit->hide(); Object::cast_to<Label>(active_edit->get_parent()->get_child(active_edit->get_index() - 2))->hide(); subfolder_edit->hide(); + subfolder_validation->hide(); Object::cast_to<Label>(subfolder_edit->get_parent()->get_child(subfolder_edit->get_index() - 2))->hide(); set_title(TTR("Edit a Plugin")); } else { @@ -224,6 +193,7 @@ void PluginConfigDialog::config(const String &p_config_path) { active_edit->show(); Object::cast_to<Label>(active_edit->get_parent()->get_child(active_edit->get_index() - 2))->show(); subfolder_edit->show(); + subfolder_validation->show(); Object::cast_to<Label>(subfolder_edit->get_parent()->get_child(subfolder_edit->get_index() - 2))->show(); set_title(TTR("Create a Plugin")); } @@ -329,11 +299,9 @@ PluginConfigDialog::PluginConfigDialog() { for (int i = 0; i < ScriptServer::get_language_count(); i++) { ScriptLanguage *lang = ScriptServer::get_language(i); script_option_edit->add_item(lang->get_name()); -#ifdef MODULE_GDSCRIPT_ENABLED - if (lang == GDScriptLanguage::get_singleton()) { + if (lang->get_name() == "GDScript") { default_lang = i; } -#endif } script_option_edit->select(default_lang); grid->add_child(script_option_edit); diff --git a/editor/plugin_config_dialog.h b/editor/plugin_config_dialog.h index 45fcdb6b6e..0dc2e84a98 100644 --- a/editor/plugin_config_dialog.h +++ b/editor/plugin_config_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/abstract_polygon_2d_editor.cpp b/editor/plugins/abstract_polygon_2d_editor.cpp index 58f92a98a6..348ef4ecc7 100644 --- a/editor/plugins/abstract_polygon_2d_editor.cpp +++ b/editor/plugins/abstract_polygon_2d_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -554,7 +554,7 @@ void AbstractPolygon2DEditor::forward_canvas_draw_over_viewport(Control *p_overl int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label")); String num = String::num(vertex.vertex); Size2 num_size = font->get_string_size(num, font_size); - p_overlay->draw_string(font, point - num_size * 0.5, num, HALIGN_LEFT, -1, font_size, Color(1.0, 1.0, 1.0, 0.5)); + p_overlay->draw_string(font, point - num_size * 0.5, num, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, Color(1.0, 1.0, 1.0, 0.5)); } } } diff --git a/editor/plugins/abstract_polygon_2d_editor.h b/editor/plugins/abstract_polygon_2d_editor.h index 5fea8b75d6..8db5bf58dd 100644 --- a/editor/plugins/abstract_polygon_2d_editor.h +++ b/editor/plugins/abstract_polygon_2d_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/animation_blend_space_1d_editor.cpp b/editor/plugins/animation_blend_space_1d_editor.cpp index cfb7217baa..3dcb769faf 100644 --- a/editor/plugins/animation_blend_space_1d_editor.cpp +++ b/editor/plugins/animation_blend_space_1d_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -98,7 +98,8 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_gui_input(const Ref<InputEven menu->add_separator(); menu->add_item(TTR("Load..."), MENU_LOAD_FILE); - menu->set_position(blend_space_draw->get_screen_transform().xform(mb->get_position())); + menu->set_position(blend_space_draw->get_screen_position() + mb->get_position()); + menu->reset_size(); menu->popup(); add_point_pos = (mb->get_position() / blend_space_draw->get_size()).x; @@ -222,7 +223,7 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_draw() { float x = point; blend_space_draw->draw_line(Point2(x, s.height - 1), Point2(x, s.height - 5 * EDSCALE), linecolor); - blend_space_draw->draw_string(font, Point2(x + 2 * EDSCALE, s.height - 2 * EDSCALE - font->get_height(font_size) + font->get_ascent(font_size)), "0", HALIGN_LEFT, -1, font_size, linecolor); + blend_space_draw->draw_string(font, Point2(x + 2 * EDSCALE, s.height - 2 * EDSCALE - font->get_height(font_size) + font->get_ascent(font_size)), "0", HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, linecolor); blend_space_draw->draw_line(Point2(x, s.height - 5 * EDSCALE), Point2(x, 0), linecolor_soft); } @@ -551,7 +552,7 @@ void AnimationNodeBlendSpace1DEditor::_notification(int p_what) { if (error != error_label->get_text()) { error_label->set_text(error); - if (error != String()) { + if (!error.is_empty()) { error_panel->show(); } else { error_panel->hide(); diff --git a/editor/plugins/animation_blend_space_1d_editor.h b/editor/plugins/animation_blend_space_1d_editor.h index 503e066894..7906395c8f 100644 --- a/editor/plugins/animation_blend_space_1d_editor.h +++ b/editor/plugins/animation_blend_space_1d_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/animation_blend_space_2d_editor.cpp b/editor/plugins/animation_blend_space_2d_editor.cpp index 9af060ed84..459de5d35b 100644 --- a/editor/plugins/animation_blend_space_2d_editor.cpp +++ b/editor/plugins/animation_blend_space_2d_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -121,7 +121,8 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_gui_input(const Ref<InputEven menu->add_separator(); menu->add_item(TTR("Load..."), MENU_LOAD_FILE); - menu->set_position(blend_space_draw->get_screen_transform().xform(mb->get_position())); + menu->set_position(blend_space_draw->get_screen_position() + mb->get_position()); + menu->reset_size(); menu->popup(); add_point_pos = (mb->get_position() / blend_space_draw->get_size()); add_point_pos.y = 1.0 - add_point_pos.y; @@ -411,14 +412,14 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_draw() { if (blend_space->get_min_space().y < 0) { int y = (blend_space->get_max_space().y / (blend_space->get_max_space().y - blend_space->get_min_space().y)) * s.height; blend_space_draw->draw_line(Point2(0, y), Point2(5 * EDSCALE, y), linecolor); - blend_space_draw->draw_string(font, Point2(2 * EDSCALE, y - font->get_height(font_size) + font->get_ascent(font_size)), "0", HALIGN_LEFT, -1, font_size, linecolor); + blend_space_draw->draw_string(font, Point2(2 * EDSCALE, y - font->get_height(font_size) + font->get_ascent(font_size)), "0", HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, linecolor); blend_space_draw->draw_line(Point2(5 * EDSCALE, y), Point2(s.width, y), linecolor_soft); } if (blend_space->get_min_space().x < 0) { int x = (-blend_space->get_min_space().x / (blend_space->get_max_space().x - blend_space->get_min_space().x)) * s.width; blend_space_draw->draw_line(Point2(x, s.height - 1), Point2(x, s.height - 5 * EDSCALE), linecolor); - blend_space_draw->draw_string(font, Point2(x + 2 * EDSCALE, s.height - 2 * EDSCALE - font->get_height(font_size) + font->get_ascent(font_size)), "0", HALIGN_LEFT, -1, font_size, linecolor); + blend_space_draw->draw_string(font, Point2(x + 2 * EDSCALE, s.height - 2 * EDSCALE - font->get_height(font_size) + font->get_ascent(font_size)), "0", HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, linecolor); blend_space_draw->draw_line(Point2(x, s.height - 5 * EDSCALE), Point2(x, 0), linecolor_soft); } @@ -760,7 +761,7 @@ void AnimationNodeBlendSpace2DEditor::_notification(int p_what) { if (error != error_label->get_text()) { error_label->set_text(error); - if (error != String()) { + if (!error.is_empty()) { error_panel->show(); } else { error_panel->hide(); diff --git a/editor/plugins/animation_blend_space_2d_editor.h b/editor/plugins/animation_blend_space_2d_editor.h index 3b8b78b2b5..b46efff304 100644 --- a/editor/plugins/animation_blend_space_2d_editor.h +++ b/editor/plugins/animation_blend_space_2d_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/animation_blend_tree_editor_plugin.cpp b/editor/plugins/animation_blend_tree_editor_plugin.cpp index 75d2bed1b2..9ebdede4e9 100644 --- a/editor/plugins/animation_blend_tree_editor_plugin.cpp +++ b/editor/plugins/animation_blend_tree_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -83,7 +83,7 @@ void AnimationNodeBlendTreeEditor::_update_options_menu(bool p_has_input_ports) } add_node->get_popup()->add_separator(); add_node->get_popup()->add_item(TTR("Load..."), MENU_LOAD_FILE); - use_popup_menu_position = false; + use_position_from_popup_menu = false; } Size2 AnimationNodeBlendTreeEditor::get_minimum_size() const { @@ -292,7 +292,7 @@ void AnimationNodeBlendTreeEditor::_add_node(int p_idx) { anode = EditorSettings::get_singleton()->get_resource_clipboard(); ERR_FAIL_COND(!anode.is_valid()); base_name = anode->get_class(); - } else if (add_options[p_idx].type != String()) { + } else if (!add_options[p_idx].type.is_empty()) { AnimationNode *an = Object::cast_to<AnimationNode>(ClassDB::instantiate(add_options[p_idx].type)); ERR_FAIL_COND(!an); anode = Ref<AnimationNode>(an); @@ -319,8 +319,8 @@ void AnimationNodeBlendTreeEditor::_add_node(int p_idx) { } Point2 instance_pos = graph->get_scroll_ofs(); - if (use_popup_menu_position) { - instance_pos += popup_menu_position; + if (use_position_from_popup_menu) { + instance_pos += position_from_popup_menu; } else { instance_pos += graph->get_size() * 0.5; } @@ -355,14 +355,15 @@ void AnimationNodeBlendTreeEditor::_add_node(int p_idx) { void AnimationNodeBlendTreeEditor::_popup(bool p_has_input_ports, const Vector2 &p_popup_position, const Vector2 &p_node_position) { _update_options_menu(p_has_input_ports); - use_popup_menu_position = true; - popup_menu_position = p_popup_position; - add_node->get_popup()->set_position(p_node_position); + use_position_from_popup_menu = true; + position_from_popup_menu = p_node_position; + add_node->get_popup()->set_position(p_popup_position); + add_node->get_popup()->reset_size(); add_node->get_popup()->popup(); } void AnimationNodeBlendTreeEditor::_popup_request(const Vector2 &p_position) { - _popup(false, graph->get_local_mouse_position(), p_position); + _popup(false, graph->get_screen_position() + graph->get_local_mouse_position(), p_position); } void AnimationNodeBlendTreeEditor::_connection_to_empty(const String &p_from, int p_from_slot, const Vector2 &p_release_position) { @@ -599,7 +600,7 @@ bool AnimationNodeBlendTreeEditor::_update_filters(const Ref<AnimationNode> &ano String accum; for (int i = 0; i < path.get_name_count(); i++) { String name = path.get_name(i); - if (accum != String()) { + if (!accum.is_empty()) { accum += "/"; } accum += name; @@ -751,7 +752,7 @@ void AnimationNodeBlendTreeEditor::_notification(int p_what) { if (error != error_label->get_text()) { error_label->set_text(error); - if (error != String()) { + if (!error.is_empty()) { error_panel->show(); } else { error_panel->hide(); @@ -820,13 +821,13 @@ AnimationNodeBlendTreeEditor *AnimationNodeBlendTreeEditor::singleton = nullptr; void AnimationNodeBlendTreeEditor::_node_renamed(const String &p_text, Ref<AnimationNode> p_node) { String prev_name = blend_tree->get_node_name(p_node); - ERR_FAIL_COND(prev_name == String()); + ERR_FAIL_COND(prev_name.is_empty()); GraphNode *gn = Object::cast_to<GraphNode>(graph->get_node(prev_name)); ERR_FAIL_COND(!gn); const String &new_name = p_text; - ERR_FAIL_COND(new_name == "" || new_name.find(".") != -1 || new_name.find("/") != -1); + ERR_FAIL_COND(new_name.is_empty() || new_name.find(".") != -1 || new_name.find("/") != -1); if (new_name == prev_name) { return; //nothing to do @@ -918,7 +919,7 @@ void AnimationNodeBlendTreeEditor::edit(const Ref<AnimationNode> &p_node) { AnimationNodeBlendTreeEditor::AnimationNodeBlendTreeEditor() { singleton = this; updating = false; - use_popup_menu_position = false; + use_position_from_popup_menu = false; graph = memnew(GraphEdit); add_child(graph); @@ -945,7 +946,7 @@ AnimationNodeBlendTreeEditor::AnimationNodeBlendTreeEditor() { add_node->set_text(TTR("Add Node...")); graph->get_zoom_hbox()->move_child(add_node, 0); add_node->get_popup()->connect("id_pressed", callable_mp(this, &AnimationNodeBlendTreeEditor::_add_node)); - add_node->connect("about_to_popup", callable_mp(this, &AnimationNodeBlendTreeEditor::_update_options_menu)); + add_node->connect("about_to_popup", callable_mp(this, &AnimationNodeBlendTreeEditor::_update_options_menu), varray(false)); add_options.push_back(AddOption("Animation", "AnimationNodeAnimation")); add_options.push_back(AddOption("OneShot", "AnimationNodeOneShot", 2)); diff --git a/editor/plugins/animation_blend_tree_editor_plugin.h b/editor/plugins/animation_blend_tree_editor_plugin.h index 0fcafad40e..8e63e39fd5 100644 --- a/editor/plugins/animation_blend_tree_editor_plugin.h +++ b/editor/plugins/animation_blend_tree_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -49,8 +49,8 @@ class AnimationNodeBlendTreeEditor : public AnimationTreeNodeEditorPlugin { Ref<AnimationNodeBlendTree> blend_tree; GraphEdit *graph; MenuButton *add_node; - Vector2 popup_menu_position; - bool use_popup_menu_position; + Vector2 position_from_popup_menu; + bool use_position_from_popup_menu; PanelContainer *error_panel; Label *error_label; diff --git a/editor/plugins/animation_player_editor_plugin.cpp b/editor/plugins/animation_player_editor_plugin.cpp index 226046f250..4ce9f40a5e 100644 --- a/editor/plugins/animation_player_editor_plugin.cpp +++ b/editor/plugins/animation_player_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -42,6 +42,7 @@ #include "editor/plugins/node_3d_editor_plugin.h" // For onion skinning. #include "scene/main/window.h" #include "scene/resources/animation.h" +#include "scene/scene_string_names.h" #include "servers/rendering_server.h" void AnimationPlayerEditor::_node_removed(Node *p_node) { @@ -189,7 +190,7 @@ void AnimationPlayerEditor::_play_pressed() { current = animation->get_item_text(animation->get_selected()); } - if (current != "") { + if (!current.is_empty()) { if (current == player->get_assigned_animation()) { player->stop(); //so it won't blend with itself } @@ -206,7 +207,7 @@ void AnimationPlayerEditor::_play_from_pressed() { current = animation->get_item_text(animation->get_selected()); } - if (current != "") { + if (!current.is_empty()) { float time = player->get_current_animation_position(); if (current == player->get_assigned_animation() && player->is_playing()) { @@ -227,7 +228,7 @@ void AnimationPlayerEditor::_play_bw_pressed() { current = animation->get_item_text(animation->get_selected()); } - if (current != "") { + if (!current.is_empty()) { if (current == player->get_assigned_animation()) { player->stop(); //so it won't blend with itself } @@ -244,7 +245,7 @@ void AnimationPlayerEditor::_play_bw_from_pressed() { current = animation->get_item_text(animation->get_selected()); } - if (current != "") { + if (!current.is_empty()) { float time = player->get_current_animation_position(); if (current == player->get_assigned_animation()) { player->stop(); //so it won't blend with itself @@ -279,7 +280,7 @@ void AnimationPlayerEditor::_animation_selected(int p_which) { current = animation->get_item_text(animation->get_selected()); } - if (current != "") { + if (!current.is_empty()) { player->set_assigned_animation(current); Ref<Animation> anim = player->get_animation(current); @@ -396,7 +397,7 @@ void AnimationPlayerEditor::_animation_save_as(const Ref<Resource> &p_resource) String path; //file->set_current_path(current_path); - if (p_resource->get_path() != "") { + if (!p_resource->get_path().is_empty()) { path = p_resource->get_path(); if (extensions.size()) { if (extensions.find(p_resource->get_path().get_extension().to_lower()) == nullptr) { @@ -405,7 +406,7 @@ void AnimationPlayerEditor::_animation_save_as(const Ref<Resource> &p_resource) } } else { if (extensions.size()) { - if (p_resource->get_name() != "") { + if (!p_resource->get_name().is_empty()) { path = p_resource->get_name() + "." + extensions.front()->get().to_lower(); } else { String resource_name_snake_case = p_resource->get_class().camelcase_to_underscore(); @@ -485,7 +486,7 @@ void AnimationPlayerEditor::_animation_name_edited() { player->stop(); String new_name = name->get_text(); - if (new_name == "" || new_name.find(":") != -1 || new_name.find("/") != -1) { + if (new_name.is_empty() || new_name.find(":") != -1 || new_name.find("/") != -1) { error_dialog->set_text(TTR("Invalid animation name!")); error_dialog->popup_centered(); return; @@ -719,7 +720,7 @@ void AnimationPlayerEditor::_animation_edit() { void AnimationPlayerEditor::_save_animation(String p_file) { String current = animation->get_item_text(animation->get_selected()); - if (current != "") { + if (!current.is_empty()) { Ref<Animation> anim = player->get_animation(current); ERR_FAIL_COND(!Object::cast_to<Resource>(*anim)); @@ -836,12 +837,12 @@ void AnimationPlayerEditor::_update_player() { for (const StringName &E : animlist) { Ref<Texture2D> icon; if (E == player->get_autoplay()) { - if (E == "RESET") { + if (E == SceneStringNames::get_singleton()->RESET) { icon = autoplay_reset_icon; } else { icon = autoplay_icon; } - } else if (E == "RESET") { + } else if (E == SceneStringNames::get_singleton()->RESET) { icon = reset_icon; } animation->add_icon_item(icon, E); @@ -1006,7 +1007,7 @@ void AnimationPlayerEditor::_seek_value_changed(float p_value, bool p_set, bool updating = true; String current = player->get_assigned_animation(); - if (current == "" || !player->has_animation(current)) { + if (current.is_empty() || !player->has_animation(current)) { updating = false; current = ""; return; @@ -1085,7 +1086,7 @@ void AnimationPlayerEditor::_animation_tool_menu(int p_option) { } Ref<Animation> anim; - if (current != String()) { + if (!current.is_empty()) { anim = player->get_animation(current); } @@ -1140,7 +1141,7 @@ void AnimationPlayerEditor::_animation_tool_menu(int p_option) { } String name = anim2->get_name(); - if (name == "") { + if (name.is_empty()) { name = TTR("Pasted Animation"); } diff --git a/editor/plugins/animation_player_editor_plugin.h b/editor/plugins/animation_player_editor_plugin.h index 26bcff891d..4e7ea46c1d 100644 --- a/editor/plugins/animation_player_editor_plugin.h +++ b/editor/plugins/animation_player_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/animation_state_machine_editor.cpp b/editor/plugins/animation_state_machine_editor.cpp index 191f5d9071..94990636da 100644 --- a/editor/plugins/animation_state_machine_editor.cpp +++ b/editor/plugins/animation_state_machine_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -118,7 +118,8 @@ void AnimationNodeStateMachineEditor::_state_machine_gui_input(const Ref<InputEv menu->add_separator(); menu->add_item(TTR("Load..."), MENU_LOAD_FILE); - menu->set_position(state_machine_draw->get_screen_transform().xform(mb->get_position())); + menu->set_position(state_machine_draw->get_screen_position() + mb->get_position()); + menu->reset_size(); menu->popup(); add_node_pos = mb->get_position() / EDSCALE + state_machine->get_graph_offset(); } @@ -151,7 +152,7 @@ void AnimationNodeStateMachineEditor::_state_machine_gui_input(const Ref<InputEv edit_rect.position -= line_sb->get_offset(); edit_rect.size += line_sb->get_minimum_size(); - name_edit_popup->set_position(state_machine_draw->get_screen_transform().xform(edit_rect.position)); + name_edit_popup->set_position(state_machine_draw->get_screen_position() + edit_rect.position); name_edit_popup->set_size(edit_rect.size); name_edit->set_text(node_rects[i].node_name); name_edit_popup->popup(); @@ -437,7 +438,7 @@ void AnimationNodeStateMachineEditor::_add_menu_type(int p_index) { return; } - if (base_name == String()) { + if (base_name.is_empty()) { base_name = node->get_class().replace_first("AnimationNode", ""); } @@ -760,12 +761,12 @@ void AnimationNodeStateMachineEditor::_state_machine_draw() { bool onstart = state_machine->get_start_node() == name; if (onstart) { - state_machine_draw->draw_string(font, offset + Vector2(0, -font->get_height(font_size) - 3 * EDSCALE + font->get_ascent(font_size)), TTR("Start"), HALIGN_LEFT, -1, font_size, font_color); + state_machine_draw->draw_string(font, offset + Vector2(0, -font->get_height(font_size) - 3 * EDSCALE + font->get_ascent(font_size)), TTR("Start"), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_color); } if (state_machine->get_end_node() == name) { int endofs = nr.node.size.x - font->get_string_size(TTR("End"), font_size).x; - state_machine_draw->draw_string(font, offset + Vector2(endofs, -font->get_height(font_size) - 3 * EDSCALE + font->get_ascent(font_size)), TTR("End"), HALIGN_LEFT, -1, font_size, font_color); + state_machine_draw->draw_string(font, offset + Vector2(endofs, -font->get_height(font_size) - 3 * EDSCALE + font->get_ascent(font_size)), TTR("End"), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_color); } offset.x += sb->get_offset().x; @@ -785,7 +786,7 @@ void AnimationNodeStateMachineEditor::_state_machine_draw() { nr.name.position = offset + Vector2(0, (h - font->get_height(font_size)) / 2).floor(); nr.name.size = Vector2(strsize, font->get_height(font_size)); - state_machine_draw->draw_string(font, nr.name.position + Vector2(0, font->get_ascent(font_size)), name, HALIGN_LEFT, -1, font_size, font_color); + state_machine_draw->draw_string(font, nr.name.position + Vector2(0, font->get_ascent(font_size)), name, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_color); offset.x += strsize + sep; if (needs_editor) { @@ -926,7 +927,7 @@ void AnimationNodeStateMachineEditor::_notification(int p_what) { if (error != error_label->get_text()) { error_label->set_text(error); - if (error != String()) { + if (!error.is_empty()) { error_panel->show(); } else { error_panel->hide(); @@ -1058,7 +1059,7 @@ void AnimationNodeStateMachineEditor::_removed_from_graph() { void AnimationNodeStateMachineEditor::_name_edited(const String &p_text) { const String &new_name = p_text; - ERR_FAIL_COND(new_name == "" || new_name.find(".") != -1 || new_name.find("/") != -1); + ERR_FAIL_COND(new_name.is_empty() || new_name.find(".") != -1 || new_name.find("/") != -1); if (new_name == prev_name) { return; // Nothing to do. diff --git a/editor/plugins/animation_state_machine_editor.h b/editor/plugins/animation_state_machine_editor.h index a969ddd26b..8970e3e062 100644 --- a/editor/plugins/animation_state_machine_editor.h +++ b/editor/plugins/animation_state_machine_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/animation_tree_editor_plugin.cpp b/editor/plugins/animation_tree_editor_plugin.cpp index 6c5606fbfd..adfea236d3 100644 --- a/editor/plugins/animation_tree_editor_plugin.cpp +++ b/editor/plugins/animation_tree_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -226,8 +226,7 @@ AnimationTreeEditor::AnimationTreeEditor() { AnimationNodeAnimation::get_editable_animation_list = get_animation_list; path_edit = memnew(ScrollContainer); add_child(path_edit); - path_edit->set_enable_h_scroll(true); - path_edit->set_enable_v_scroll(false); + path_edit->set_vertical_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED); path_hb = memnew(HBoxContainer); path_edit->add_child(path_hb); path_hb->add_child(memnew(Label(TTR("Path:")))); diff --git a/editor/plugins/animation_tree_editor_plugin.h b/editor/plugins/animation_tree_editor_plugin.h index de3d89ae17..14c5658478 100644 --- a/editor/plugins/animation_tree_editor_plugin.h +++ b/editor/plugins/animation_tree_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/asset_library_editor_plugin.cpp b/editor/plugins/asset_library_editor_plugin.cpp index 1a216b3862..4b7ad7e325 100644 --- a/editor/plugins/asset_library_editor_plugin.cpp +++ b/editor/plugins/asset_library_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -39,6 +39,15 @@ #include "editor/editor_settings.h" #include "editor/project_settings_editor.h" +static inline void setup_http_request(HTTPRequest *request) { + request->set_use_threads(EDITOR_DEF("asset_library/use_threads", true)); + + const String proxy_host = EDITOR_DEF("network/http_proxy/host", ""); + const int proxy_port = EDITOR_DEF("network/http_proxy/port", -1); + request->set_http_proxy(proxy_host, proxy_port); + request->set_https_proxy(proxy_host, proxy_port); +} + void EditorAssetLibraryItem::configure(const String &p_title, int p_asset_id, const String &p_category, int p_category_id, const String &p_author, int p_author_id, const String &p_cost) { title->set_text(p_title); asset_id = p_asset_id; @@ -231,6 +240,7 @@ void EditorAssetLibraryItemDescription::configure(const String &p_title, int p_a description->pop(); description->add_text("\n" + TTR("Description:") + "\n\n"); description->append_text(p_description); + description->set_selection_enabled(true); set_title(p_title); } @@ -288,8 +298,7 @@ EditorAssetLibraryItemDescription::EditorAssetLibraryItemDescription() { previews = memnew(ScrollContainer); previews_bg->add_child(previews); - previews->set_enable_v_scroll(false); - previews->set_enable_h_scroll(true); + previews->set_vertical_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED); preview_hb = memnew(HBoxContainer); preview_hb->set_v_size_flags(Control::SIZE_EXPAND_FILL); @@ -344,7 +353,7 @@ void EditorAssetLibraryItemDownload::_http_download_completed(int p_status, int if (p_code != 200) { error_text = TTR("Request failed, return code:") + " " + itos(p_code); status->set_text(TTR("Failed:") + " " + itos(p_code)); - } else if (sha256 != "") { + } else if (!sha256.is_empty()) { String download_sha256 = FileAccess::get_sha256(download->get_download_file()); if (sha256 != download_sha256) { error_text = TTR("Bad download hash, assuming file has been tampered with.") + "\n"; @@ -355,7 +364,7 @@ void EditorAssetLibraryItemDownload::_http_download_completed(int p_status, int } break; } - if (error_text != String()) { + if (!error_text.is_empty()) { download_error->set_text(TTR("Asset Download Error:") + "\n" + error_text); download_error->popup_centered(); // Let the user retry the download. @@ -534,7 +543,7 @@ EditorAssetLibraryItemDownload::EditorAssetLibraryItemDownload() { download = memnew(HTTPRequest); add_child(download); download->connect("request_completed", callable_mp(this, &EditorAssetLibraryItemDownload::_http_download_completed)); - download->set_use_threads(EDITOR_DEF("asset_library/use_threads", true)); + setup_http_request(download); download_error = memnew(AcceptDialog); add_child(download_error); @@ -869,7 +878,7 @@ void EditorAssetLibrary::_request_image(ObjectID p_for, String p_image_url, Imag iq.image_index = p_image_index; iq.image_type = p_type; iq.request = memnew(HTTPRequest); - iq.request->set_use_threads(EDITOR_DEF("asset_library/use_threads", true)); + setup_http_request(iq.request); iq.target = p_for; iq.queue_id = ++last_queue_id; @@ -922,7 +931,7 @@ void EditorAssetLibrary::_search(int p_page) { support_list += String(support_key[i]) + "+"; } } - if (support_list != String()) { + if (!support_list.is_empty()) { args += "&support=" + support_list.substr(0, support_list.length() - 1); } @@ -935,7 +944,7 @@ void EditorAssetLibrary::_search(int p_page) { args += "&reverse=true"; } - if (filter->get_text() != String()) { + if (!filter->get_text().is_empty()) { args += "&filter=" + filter->get_text().uri_encode(); } @@ -1188,7 +1197,7 @@ void EditorAssetLibrary::_http_request_completed(int p_status, int p_code, const library_vb->add_child(asset_bottom_page); if (result.is_empty()) { - if (filter->get_text() != String()) { + if (!filter->get_text().is_empty()) { library_error->set_text( vformat(TTR("No results for \"%s\"."), filter->get_text())); } else { @@ -1219,7 +1228,7 @@ void EditorAssetLibrary::_http_request_completed(int p_status, int p_code, const item->connect("author_selected", callable_mp(this, &EditorAssetLibrary::_select_author)); item->connect("category_selected", callable_mp(this, &EditorAssetLibrary::_select_category)); - if (r.has("icon_url") && r["icon_url"] != "") { + if (r.has("icon_url") && !r["icon_url"].operator String().is_empty()) { _request_image(item->get_instance_id(), r["icon_url"], IMAGE_QUEUE_ICON, 0); } } @@ -1256,7 +1265,7 @@ void EditorAssetLibrary::_http_request_completed(int p_status, int p_code, const description->configure(r["title"], r["asset_id"], category_map[r["category_id"]], r["category_id"], r["author"], r["author_id"], r["cost"], r["version"], r["version_string"], r["description"], r["download_url"], r["browse_url"], r["download_hash"]); - if (r.has("icon_url") && r["icon_url"] != "") { + if (r.has("icon_url") && !r["icon_url"].operator String().is_empty()) { _request_image(description->get_instance_id(), r["icon_url"], IMAGE_QUEUE_ICON, 0); } @@ -1431,8 +1440,7 @@ EditorAssetLibrary::EditorAssetLibrary(bool p_templates_only) { library_scroll_bg->set_v_size_flags(Control::SIZE_EXPAND_FILL); library_scroll = memnew(ScrollContainer); - library_scroll->set_enable_v_scroll(true); - library_scroll->set_enable_h_scroll(false); + library_scroll->set_horizontal_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED); library_scroll_bg->add_child(library_scroll); @@ -1454,11 +1462,11 @@ EditorAssetLibrary::EditorAssetLibrary(bool p_templates_only) { library_vb_border->add_child(library_vb); library_loading = memnew(Label(TTR("Loading..."))); - library_loading->set_align(Label::ALIGN_CENTER); + library_loading->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); library_vb->add_child(library_loading); library_error = memnew(Label); - library_error->set_align(Label::ALIGN_CENTER); + library_error->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); library_error->hide(); library_vb->add_child(library_error); @@ -1477,7 +1485,7 @@ EditorAssetLibrary::EditorAssetLibrary(bool p_templates_only) { request = memnew(HTTPRequest); add_child(request); - request->set_use_threads(EDITOR_DEF("asset_library/use_threads", true)); + setup_http_request(request); request->connect("request_completed", callable_mp(this, &EditorAssetLibrary::_http_request_completed)); last_queue_id = 0; @@ -1499,8 +1507,7 @@ EditorAssetLibrary::EditorAssetLibrary(bool p_templates_only) { set_process_unhandled_key_input(true); // Global shortcuts since there is no main element to be focused. downloads_scroll = memnew(ScrollContainer); - downloads_scroll->set_enable_h_scroll(true); - downloads_scroll->set_enable_v_scroll(false); + downloads_scroll->set_vertical_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED); library_main->add_child(downloads_scroll); downloads_hb = memnew(HBoxContainer); downloads_scroll->add_child(downloads_hb); diff --git a/editor/plugins/asset_library_editor_plugin.h b/editor/plugins/asset_library_editor_plugin.h index 5fbf2833b2..d797608c24 100644 --- a/editor/plugins/asset_library_editor_plugin.h +++ b/editor/plugins/asset_library_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/audio_stream_editor_plugin.cpp b/editor/plugins/audio_stream_editor_plugin.cpp index c76713f534..086d5474ba 100644 --- a/editor/plugins/audio_stream_editor_plugin.cpp +++ b/editor/plugins/audio_stream_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -241,7 +241,7 @@ AudioStreamEditor::AudioStreamEditor() { _stop_button->connect("pressed", callable_mp(this, &AudioStreamEditor::_stop)); _current_label = memnew(Label); - _current_label->set_align(Label::ALIGN_RIGHT); + _current_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_RIGHT); _current_label->set_h_size_flags(SIZE_EXPAND_FILL); _current_label->add_theme_font_override("font", EditorNode::get_singleton()->get_gui_base()->get_theme_font(SNAME("status_source"), SNAME("EditorFonts"))); _current_label->add_theme_font_size_override("font_size", EditorNode::get_singleton()->get_gui_base()->get_theme_font_size(SNAME("status_source_size"), SNAME("EditorFonts"))); diff --git a/editor/plugins/audio_stream_editor_plugin.h b/editor/plugins/audio_stream_editor_plugin.h index 14e829d025..db0e204616 100644 --- a/editor/plugins/audio_stream_editor_plugin.h +++ b/editor/plugins/audio_stream_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/camera_3d_editor_plugin.cpp b/editor/plugins/camera_3d_editor_plugin.cpp index 8583e95b25..7c920fa15e 100644 --- a/editor/plugins/camera_3d_editor_plugin.cpp +++ b/editor/plugins/camera_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/camera_3d_editor_plugin.h b/editor/plugins/camera_3d_editor_plugin.h index e087dd22a8..e175a931b0 100644 --- a/editor/plugins/camera_3d_editor_plugin.h +++ b/editor/plugins/camera_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index b6722b9d48..d6fd153665 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1460,7 +1460,7 @@ bool CanvasItemEditor::_gui_input_open_scene_on_double_click(const Ref<InputEven List<CanvasItem *> selection = _get_edited_canvas_items(); if (selection.size() == 1) { CanvasItem *canvas_item = selection[0]; - if (canvas_item->get_scene_file_path() != "" && canvas_item != editor->get_edited_scene()) { + if (!canvas_item->get_scene_file_path().is_empty() && canvas_item != editor->get_edited_scene()) { editor->open_request(canvas_item->get_scene_file_path()); return true; } @@ -2258,7 +2258,8 @@ bool CanvasItemEditor::_gui_input_select(const Ref<InputEvent> &p_event) { } selection_menu_additive_selection = b->is_shift_pressed(); - selection_menu->set_position(get_screen_transform().xform(b->get_position())); + selection_menu->set_position(get_screen_position() + b->get_position()); + selection_menu->reset_size(); selection_menu->popup(); return true; } @@ -2266,7 +2267,7 @@ bool CanvasItemEditor::_gui_input_select(const Ref<InputEvent> &p_event) { if (b.is_valid() && b->is_pressed() && b->get_button_index() == MouseButton::RIGHT) { add_node_menu->reset_size(); - add_node_menu->set_position(get_screen_position() + b->get_position()); + add_node_menu->set_position(get_screen_transform().xform(get_local_mouse_position())); add_node_menu->popup(); node_create_position = transform.affine_inverse().xform((get_local_mouse_position())); return true; @@ -2650,7 +2651,7 @@ void CanvasItemEditor::_draw_text_at_position(Point2 p_position, String p_string p_position += Vector2(-text_size.x / 2, text_size.y + 5); break; } - viewport->draw_string(font, p_position, p_string, HALIGN_LEFT, -1, font_size, color); + viewport->draw_string(font, p_position, p_string, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, color); } void CanvasItemEditor::_draw_margin_at_position(int p_value, Point2 p_position, Side p_side) { @@ -2710,7 +2711,7 @@ void CanvasItemEditor::_draw_guides() { Ref<Font> font = get_theme_font(SNAME("bold"), SNAME("EditorFonts")); int font_size = get_theme_font_size(SNAME("bold_size"), SNAME("EditorFonts")); Size2 text_size = font->get_string_size(str, font_size); - viewport->draw_string(font, Point2(dragged_guide_pos.x + 10, RULER_WIDTH + text_size.y / 2 + 10), str, HALIGN_LEFT, -1, font_size, text_color, outline_size, outline_color); + viewport->draw_string(font, Point2(dragged_guide_pos.x + 10, RULER_WIDTH + text_size.y / 2 + 10), str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, text_color, outline_size, outline_color); viewport->draw_line(Point2(dragged_guide_pos.x, 0), Point2(dragged_guide_pos.x, viewport->get_size().y), guide_color, Math::round(EDSCALE)); } if (drag_type == DRAG_DOUBLE_GUIDE || drag_type == DRAG_H_GUIDE) { @@ -2718,7 +2719,7 @@ void CanvasItemEditor::_draw_guides() { Ref<Font> font = get_theme_font(SNAME("bold"), SNAME("EditorFonts")); int font_size = get_theme_font_size(SNAME("bold_size"), SNAME("EditorFonts")); Size2 text_size = font->get_string_size(str, font_size); - viewport->draw_string(font, Point2(RULER_WIDTH + 10, dragged_guide_pos.y + text_size.y / 2 + 10), str, HALIGN_LEFT, -1, font_size, text_color, outline_size, outline_color); + viewport->draw_string(font, Point2(RULER_WIDTH + 10, dragged_guide_pos.y + text_size.y / 2 + 10), str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, text_color, outline_size, outline_color); viewport->draw_line(Point2(0, dragged_guide_pos.y), Point2(viewport->get_size().x, dragged_guide_pos.y), guide_color, Math::round(EDSCALE)); } } @@ -2790,7 +2791,7 @@ void CanvasItemEditor::_draw_rulers() { if (i % (major_subdivision * minor_subdivision) == 0) { viewport->draw_line(Point2(position.x, 0), Point2(position.x, RULER_WIDTH), graduation_color, Math::round(EDSCALE)); real_t val = (ruler_transform * major_subdivide * minor_subdivide).xform(Point2(i, 0)).x; - viewport->draw_string(font, Point2(position.x + 2, font->get_height(font_size)), TS->format_number(vformat(((int)val == val) ? "%d" : "%.1f", val)), HALIGN_LEFT, -1, font_size, font_color); + viewport->draw_string(font, Point2(position.x + 2, font->get_height(font_size)), TS->format_number(vformat(((int)val == val) ? "%d" : "%.1f", val)), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_color); } else { if (i % minor_subdivision == 0) { viewport->draw_line(Point2(position.x, RULER_WIDTH * 0.33), Point2(position.x, RULER_WIDTH), graduation_color, Math::round(EDSCALE)); @@ -2810,7 +2811,7 @@ void CanvasItemEditor::_draw_rulers() { Transform2D text_xform = Transform2D(-Math_PI / 2.0, Point2(font->get_height(font_size), position.y - 2)); viewport->draw_set_transform_matrix(viewport->get_transform() * text_xform); - viewport->draw_string(font, Point2(), TS->format_number(vformat(((int)val == val) ? "%d" : "%.1f", val)), HALIGN_LEFT, -1, font_size, font_color); + viewport->draw_string(font, Point2(), TS->format_number(vformat(((int)val == val) ? "%d" : "%.1f", val)), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_color); viewport->draw_set_transform_matrix(viewport->get_transform()); } else { @@ -2913,14 +2914,6 @@ void CanvasItemEditor::_draw_ruler_tool() { Point2 corner = Point2(begin.x, end.y); Vector2 length_vector = (begin - end).abs() / zoom; - bool draw_secondary_lines = !(Math::is_equal_approx(begin.y, corner.y) || Math::is_equal_approx(end.x, corner.x)); - - viewport->draw_line(begin, end, ruler_primary_color, Math::round(EDSCALE * 3)); - if (draw_secondary_lines) { - viewport->draw_line(begin, corner, ruler_secondary_color, Math::round(EDSCALE)); - viewport->draw_line(corner, end, ruler_secondary_color, Math::round(EDSCALE)); - } - Ref<Font> font = get_theme_font(SNAME("bold"), SNAME("EditorFonts")); int font_size = get_theme_font_size(SNAME("bold_size"), SNAME("EditorFonts")); Color font_color = get_theme_color(SNAME("font_color"), SNAME("Editor")); @@ -2936,7 +2929,23 @@ void CanvasItemEditor::_draw_ruler_tool() { Point2 text_pos = (begin + end) / 2 - Vector2(text_width / 2, text_height / 2); text_pos.x = CLAMP(text_pos.x, text_width / 2, viewport->get_rect().size.x - text_width * 1.5); text_pos.y = CLAMP(text_pos.y, text_height * 1.5, viewport->get_rect().size.y - text_height * 1.5); - viewport->draw_string(font, text_pos, TS->format_number(vformat("%.1f px", length_vector.length())), HALIGN_LEFT, -1, font_size, font_color, outline_size, outline_color); + + if (begin.is_equal_approx(end)) { + viewport->draw_string(font, text_pos, (String)ruler_tool_origin, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_color, outline_size, outline_color); + Ref<Texture2D> position_icon = get_theme_icon(SNAME("EditorPosition"), SNAME("EditorIcons")); + viewport->draw_texture(get_theme_icon(SNAME("EditorPosition"), SNAME("EditorIcons")), (ruler_tool_origin - view_offset) * zoom - position_icon->get_size() / 2); + return; + } + + viewport->draw_string(font, text_pos, TS->format_number(vformat("%.1f px", length_vector.length())), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_color, outline_size, outline_color); + + bool draw_secondary_lines = !(Math::is_equal_approx(begin.y, corner.y) || Math::is_equal_approx(end.x, corner.x)); + + viewport->draw_line(begin, end, ruler_primary_color, Math::round(EDSCALE * 3)); + if (draw_secondary_lines) { + viewport->draw_line(begin, corner, ruler_secondary_color, Math::round(EDSCALE)); + viewport->draw_line(corner, end, ruler_secondary_color, Math::round(EDSCALE)); + } if (draw_secondary_lines) { const real_t horizontal_angle_rad = length_vector.angle(); @@ -2946,16 +2955,16 @@ void CanvasItemEditor::_draw_ruler_tool() { Point2 text_pos2 = text_pos; text_pos2.x = begin.x < text_pos.x ? MIN(text_pos.x - text_width, begin.x - text_width / 2) : MAX(text_pos.x + text_width, begin.x - text_width / 2); - viewport->draw_string(font, text_pos2, TS->format_number(vformat("%.1f px", length_vector.y)), HALIGN_LEFT, -1, font_size, font_secondary_color, outline_size, outline_color); + viewport->draw_string(font, text_pos2, TS->format_number(vformat("%.1f px", length_vector.y)), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_secondary_color, outline_size, outline_color); Point2 v_angle_text_pos = Point2(); v_angle_text_pos.x = CLAMP(begin.x - angle_text_width / 2, angle_text_width / 2, viewport->get_rect().size.x - angle_text_width); v_angle_text_pos.y = begin.y < end.y ? MIN(text_pos2.y - 2 * text_height, begin.y - text_height * 0.5) : MAX(text_pos2.y + text_height * 3, begin.y + text_height * 1.5); - viewport->draw_string(font, v_angle_text_pos, TS->format_number(vformat(String::utf8("%d°"), vertical_angle)), HALIGN_LEFT, -1, font_size, font_secondary_color, outline_size, outline_color); + viewport->draw_string(font, v_angle_text_pos, TS->format_number(vformat(String::utf8("%d°"), vertical_angle)), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_secondary_color, outline_size, outline_color); text_pos2 = text_pos; text_pos2.y = end.y < text_pos.y ? MIN(text_pos.y - text_height * 2, end.y - text_height / 2) : MAX(text_pos.y + text_height * 2, end.y - text_height / 2); - viewport->draw_string(font, text_pos2, TS->format_number(vformat("%.1f px", length_vector.x)), HALIGN_LEFT, -1, font_size, font_secondary_color, outline_size, outline_color); + viewport->draw_string(font, text_pos2, TS->format_number(vformat("%.1f px", length_vector.x)), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_secondary_color, outline_size, outline_color); Point2 h_angle_text_pos = Point2(); h_angle_text_pos.x = CLAMP(end.x - angle_text_width / 2, angle_text_width / 2, viewport->get_rect().size.x - angle_text_width); @@ -2972,7 +2981,7 @@ void CanvasItemEditor::_draw_ruler_tool() { h_angle_text_pos.y = MIN(text_pos.y - height_multiplier * text_height, MIN(end.y - text_height * 0.5, text_pos2.y - height_multiplier * text_height)); } } - viewport->draw_string(font, h_angle_text_pos, TS->format_number(vformat(String::utf8("%d°"), horizontal_angle)), HALIGN_LEFT, -1, font_size, font_secondary_color, outline_size, outline_color); + viewport->draw_string(font, h_angle_text_pos, TS->format_number(vformat(String::utf8("%d°"), horizontal_angle)), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_secondary_color, outline_size, outline_color); // Angle arcs int arc_point_count = 8; @@ -3007,17 +3016,17 @@ void CanvasItemEditor::_draw_ruler_tool() { text_pos.y = CLAMP(text_pos.y, text_height * 2.5, viewport->get_rect().size.y - text_height / 2); if (draw_secondary_lines) { - viewport->draw_string(font, text_pos, TS->format_number(vformat("%.2f " + TTR("units"), (length_vector / grid_step).length())), HALIGN_LEFT, -1, font_size, font_color, outline_size, outline_color); + viewport->draw_string(font, text_pos, TS->format_number(vformat("%.2f " + TTR("units"), (length_vector / grid_step).length())), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_color, outline_size, outline_color); Point2 text_pos2 = text_pos; text_pos2.x = begin.x < text_pos.x ? MIN(text_pos.x - text_width, begin.x - text_width / 2) : MAX(text_pos.x + text_width, begin.x - text_width / 2); - viewport->draw_string(font, text_pos2, TS->format_number(vformat("%d " + TTR("units"), roundf(length_vector.y / grid_step.y))), HALIGN_LEFT, -1, font_size, font_secondary_color, outline_size, outline_color); + viewport->draw_string(font, text_pos2, TS->format_number(vformat("%d " + TTR("units"), roundf(length_vector.y / grid_step.y))), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_secondary_color, outline_size, outline_color); text_pos2 = text_pos; text_pos2.y = end.y < text_pos.y ? MIN(text_pos.y - text_height * 2, end.y + text_height / 2) : MAX(text_pos.y + text_height * 2, end.y + text_height / 2); - viewport->draw_string(font, text_pos2, TS->format_number(vformat("%d " + TTR("units"), roundf(length_vector.x / grid_step.x))), HALIGN_LEFT, -1, font_size, font_secondary_color, outline_size, outline_color); + viewport->draw_string(font, text_pos2, TS->format_number(vformat("%d " + TTR("units"), roundf(length_vector.x / grid_step.x))), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_secondary_color, outline_size, outline_color); } else { - viewport->draw_string(font, text_pos, TS->format_number(vformat("%d " + TTR("units"), roundf((length_vector / grid_step).length()))), HALIGN_LEFT, -1, font_size, font_color, outline_size, outline_color); + viewport->draw_string(font, text_pos, TS->format_number(vformat("%d " + TTR("units"), roundf((length_vector / grid_step).length()))), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_color, outline_size, outline_color); } } } else { @@ -3580,7 +3589,7 @@ void CanvasItemEditor::_draw_hover() { viewport->draw_texture(node_icon, pos, Color(1.0, 1.0, 1.0, 0.5)); // Draw name - viewport->draw_string(font, pos + Point2(node_icon->get_size().x + 4, item_size.y - 3), node_name, HALIGN_LEFT, -1, font_size, Color(1.0, 1.0, 1.0, 0.5)); + viewport->draw_string(font, pos + Point2(node_icon->get_size().x + 4, item_size.y - 3), node_name, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, Color(1.0, 1.0, 1.0, 0.5)); } } @@ -5267,7 +5276,7 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) { select_button->set_pressed(true); select_button->set_shortcut(ED_SHORTCUT("canvas_item_editor/select_mode", TTR("Select Mode"), Key::Q)); select_button->set_shortcut_context(this); - select_button->set_tooltip(keycode_get_string((Key)KeyModifierMask::CMD) + TTR("Drag: Rotate selected node around pivot.") + "\n" + TTR("Alt+Drag: Move selected node.") + "\n" + TTR("V: Set selected node's pivot position.") + "\n" + TTR("Alt+RMB: Show list of all nodes at position clicked, including locked.") + "\n" + keycode_get_string((Key)KeyModifierMask::CMD) + TTR("RMB: Add node at position clicked.")); + select_button->set_tooltip(keycode_get_string((Key)KeyModifierMask::CMD) + TTR("Drag: Rotate selected node around pivot.") + "\n" + TTR("Alt+Drag: Move selected node.") + "\n" + keycode_get_string((Key)KeyModifierMask::CMD) + TTR("Alt+Drag: Scale selected node.") + "\n" + TTR("V: Set selected node's pivot position.") + "\n" + TTR("Alt+RMB: Show list of all nodes at position clicked, including locked.") + "\n" + keycode_get_string((Key)KeyModifierMask::CMD) + TTR("RMB: Add node at position clicked.")); hb->add_child(memnew(VSeparator)); @@ -5296,7 +5305,7 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) { scale_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_button_tool_select), make_binds(TOOL_SCALE)); scale_button->set_shortcut(ED_SHORTCUT("canvas_item_editor/scale_mode", TTR("Scale Mode"), Key::S)); scale_button->set_shortcut_context(this); - scale_button->set_tooltip(TTR("Scale Mode")); + scale_button->set_tooltip(TTR("Shift: Scale proportionally.")); hb->add_child(memnew(VSeparator)); @@ -5834,7 +5843,7 @@ bool CanvasItemEditorViewport::_create_instance(Node *parent, String &path, cons return false; } - if (editor->get_edited_scene()->get_scene_file_path() != "") { // cyclical instancing + if (!editor->get_edited_scene()->get_scene_file_path().is_empty()) { // cyclical instancing if (_cyclical_dependency_exists(editor->get_edited_scene()->get_scene_file_path(), instantiated_scene)) { memdelete(instantiated_scene); return false; diff --git a/editor/plugins/canvas_item_editor_plugin.h b/editor/plugins/canvas_item_editor_plugin.h index b6576b7144..8bba5130d4 100644 --- a/editor/plugins/canvas_item_editor_plugin.h +++ b/editor/plugins/canvas_item_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/collision_polygon_2d_editor_plugin.cpp b/editor/plugins/collision_polygon_2d_editor_plugin.cpp index 8e340b28ef..22d3768a97 100644 --- a/editor/plugins/collision_polygon_2d_editor_plugin.cpp +++ b/editor/plugins/collision_polygon_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/collision_polygon_2d_editor_plugin.h b/editor/plugins/collision_polygon_2d_editor_plugin.h index e78c486a39..cf2e452937 100644 --- a/editor/plugins/collision_polygon_2d_editor_plugin.h +++ b/editor/plugins/collision_polygon_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/collision_polygon_3d_editor_plugin.cpp b/editor/plugins/collision_polygon_3d_editor_plugin.cpp index 4c728ff757..bf6485f9ec 100644 --- a/editor/plugins/collision_polygon_3d_editor_plugin.cpp +++ b/editor/plugins/collision_polygon_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/collision_polygon_3d_editor_plugin.h b/editor/plugins/collision_polygon_3d_editor_plugin.h index 10b0adf76c..cd8c857398 100644 --- a/editor/plugins/collision_polygon_3d_editor_plugin.h +++ b/editor/plugins/collision_polygon_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/collision_shape_2d_editor_plugin.cpp b/editor/plugins/collision_shape_2d_editor_plugin.cpp index 94fd9a5a08..8a5df6ac50 100644 --- a/editor/plugins/collision_shape_2d_editor_plugin.cpp +++ b/editor/plugins/collision_shape_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/collision_shape_2d_editor_plugin.h b/editor/plugins/collision_shape_2d_editor_plugin.h index ab95600a52..1c01b7019f 100644 --- a/editor/plugins/collision_shape_2d_editor_plugin.h +++ b/editor/plugins/collision_shape_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/cpu_particles_2d_editor_plugin.cpp b/editor/plugins/cpu_particles_2d_editor_plugin.cpp index fb9f8696fe..e0364dc952 100644 --- a/editor/plugins/cpu_particles_2d_editor_plugin.cpp +++ b/editor/plugins/cpu_particles_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/cpu_particles_2d_editor_plugin.h b/editor/plugins/cpu_particles_2d_editor_plugin.h index b188df8e96..e54e1651bd 100644 --- a/editor/plugins/cpu_particles_2d_editor_plugin.h +++ b/editor/plugins/cpu_particles_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/cpu_particles_3d_editor_plugin.cpp b/editor/plugins/cpu_particles_3d_editor_plugin.cpp index fc52cd0f99..bb10c04e8f 100644 --- a/editor/plugins/cpu_particles_3d_editor_plugin.cpp +++ b/editor/plugins/cpu_particles_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/cpu_particles_3d_editor_plugin.h b/editor/plugins/cpu_particles_3d_editor_plugin.h index 9dced3ea86..67cc156680 100644 --- a/editor/plugins/cpu_particles_3d_editor_plugin.h +++ b/editor/plugins/cpu_particles_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/curve_editor_plugin.cpp b/editor/plugins/curve_editor_plugin.cpp index daf34903e6..81fb36276f 100644 --- a/editor/plugins/curve_editor_plugin.cpp +++ b/editor/plugins/curve_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -117,7 +117,7 @@ void CurveEditor::gui_input(const Ref<InputEvent> &p_event) { switch (mb.get_button_index()) { case MouseButton::RIGHT: _context_click_pos = mpos; - open_context_menu(get_global_transform().xform(mpos)); + open_context_menu(get_screen_position() + mpos); break; case MouseButton::MIDDLE: @@ -460,7 +460,7 @@ void CurveEditor::remove_point(int index) { Curve::Point p = _curve_ref->get_point(index); ur.add_do_method(*_curve_ref, "remove_point", index); - ur.add_undo_method(*_curve_ref, "add_point", p.pos, p.left_tangent, p.right_tangent, p.left_mode, p.right_mode); + ur.add_undo_method(*_curve_ref, "add_point", p.position, p.left_tangent, p.right_tangent, p.left_mode, p.right_mode); if (index == _selected_point) { set_selected_point(-1); @@ -675,11 +675,11 @@ void CurveEditor::_draw() { // X axis float y = curve.get_min_value(); Vector2 off(0, font_height - 1); - draw_string(font, get_view_pos(Vector2(0, y)) + off, "0.0", HALIGN_LEFT, -1, font_size, text_color); - draw_string(font, get_view_pos(Vector2(0.25, y)) + off, "0.25", HALIGN_LEFT, -1, font_size, text_color); - draw_string(font, get_view_pos(Vector2(0.5, y)) + off, "0.5", HALIGN_LEFT, -1, font_size, text_color); - draw_string(font, get_view_pos(Vector2(0.75, y)) + off, "0.75", HALIGN_LEFT, -1, font_size, text_color); - draw_string(font, get_view_pos(Vector2(1, y)) + off, "1.0", HALIGN_LEFT, -1, font_size, text_color); + draw_string(font, get_view_pos(Vector2(0, y)) + off, "0.0", HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, text_color); + draw_string(font, get_view_pos(Vector2(0.25, y)) + off, "0.25", HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, text_color); + draw_string(font, get_view_pos(Vector2(0.5, y)) + off, "0.5", HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, text_color); + draw_string(font, get_view_pos(Vector2(0.75, y)) + off, "0.75", HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, text_color); + draw_string(font, get_view_pos(Vector2(1, y)) + off, "1.0", HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, text_color); } { @@ -688,9 +688,9 @@ void CurveEditor::_draw() { float m1 = 0.5 * (curve.get_min_value() + curve.get_max_value()); float m2 = curve.get_max_value(); Vector2 off(1, -1); - draw_string(font, get_view_pos(Vector2(0, m0)) + off, String::num(m0, 2), HALIGN_LEFT, -1, font_size, text_color); - draw_string(font, get_view_pos(Vector2(0, m1)) + off, String::num(m1, 2), HALIGN_LEFT, -1, font_size, text_color); - draw_string(font, get_view_pos(Vector2(0, m2)) + off, String::num(m2, 3), HALIGN_LEFT, -1, font_size, text_color); + draw_string(font, get_view_pos(Vector2(0, m0)) + off, String::num(m0, 2), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, text_color); + draw_string(font, get_view_pos(Vector2(0, m1)) + off, String::num(m1, 2), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, text_color); + draw_string(font, get_view_pos(Vector2(0, m2)) + off, String::num(m2, 3), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, text_color); } // Draw tangents for current point @@ -750,10 +750,10 @@ void CurveEditor::_draw() { if (_selected_point > 0 && _selected_point + 1 < curve.get_point_count()) { text_color.a *= 0.4; - draw_string(font, Vector2(50 * EDSCALE, font_height), TTR("Hold Shift to edit tangents individually"), HALIGN_LEFT, -1, font_size, text_color); + draw_string(font, Vector2(50 * EDSCALE, font_height), TTR("Hold Shift to edit tangents individually"), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, text_color); } else if (curve.get_point_count() == 0) { text_color.a *= 0.4; - draw_string(font, Vector2(50 * EDSCALE, font_height), TTR("Right click to add point"), HALIGN_LEFT, -1, font_size, text_color); + draw_string(font, Vector2(50 * EDSCALE, font_height), TTR("Right click to add point"), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, text_color); } } diff --git a/editor/plugins/curve_editor_plugin.h b/editor/plugins/curve_editor_plugin.h index c351f6ebe9..c7e8dea75a 100644 --- a/editor/plugins/curve_editor_plugin.h +++ b/editor/plugins/curve_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/debugger_editor_plugin.cpp b/editor/plugins/debugger_editor_plugin.cpp index 51e1b639a4..6e43130a92 100644 --- a/editor/plugins/debugger_editor_plugin.cpp +++ b/editor/plugins/debugger_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/debugger_editor_plugin.h b/editor/plugins/debugger_editor_plugin.h index a6fab01c29..6fc83cd438 100644 --- a/editor/plugins/debugger_editor_plugin.h +++ b/editor/plugins/debugger_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/editor_debugger_plugin.cpp b/editor/plugins/editor_debugger_plugin.cpp index 5f3b11ac42..4ce3d7cfd5 100644 --- a/editor/plugins/editor_debugger_plugin.cpp +++ b/editor/plugins/editor_debugger_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/editor_debugger_plugin.h b/editor/plugins/editor_debugger_plugin.h index 5995d790c5..b602c36912 100644 --- a/editor/plugins/editor_debugger_plugin.h +++ b/editor/plugins/editor_debugger_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/editor_preview_plugins.cpp b/editor/plugins/editor_preview_plugins.cpp index 9702c7e734..2053194dc1 100644 --- a/editor/plugins/editor_preview_plugins.cpp +++ b/editor/plugins/editor_preview_plugins.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -477,7 +477,7 @@ Ref<Texture2D> EditorScriptPreviewPlugin::generate(const RES &p_from, const Size } String code = scr->get_source_code().strip_edges(); - if (code == "") { + if (code.is_empty()) { return Ref<Texture2D>(); } @@ -824,6 +824,7 @@ bool EditorFontPreviewPlugin::handles(const String &p_type) const { Ref<Texture2D> EditorFontPreviewPlugin::generate_from_path(const String &p_path, const Size2 &p_size) const { RES res = ResourceLoader::load(p_path); + ERR_FAIL_COND_V(res.is_null(), Ref<Texture2D>()); Ref<Font> sampled_font; if (res->is_class("Font")) { sampled_font = res->duplicate(); @@ -851,7 +852,9 @@ Ref<Texture2D> EditorFontPreviewPlugin::generate_from_path(const String &p_path, Ref<Font> font = sampled_font; - font->draw_string(canvas_item, pos, sample, HALIGN_LEFT, -1.f, 50, Color(1, 1, 1)); + const Color c = GLOBAL_GET("rendering/environment/defaults/default_clear_color"); + const float fg = c.get_luminance() < 0.5 ? 1.0 : 0.0; + font->draw_string(canvas_item, pos, sample, HORIZONTAL_ALIGNMENT_LEFT, -1.f, 50, Color(fg, fg, fg)); RS::get_singleton()->connect(SNAME("frame_pre_draw"), callable_mp(const_cast<EditorFontPreviewPlugin *>(this), &EditorFontPreviewPlugin::_generate_frame_started), Vector<Variant>(), Object::CONNECT_ONESHOT); diff --git a/editor/plugins/editor_preview_plugins.h b/editor/plugins/editor_preview_plugins.h index bf52f5771d..dd64918d41 100644 --- a/editor/plugins/editor_preview_plugins.h +++ b/editor/plugins/editor_preview_plugins.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/font_editor_plugin.cpp b/editor/plugins/font_editor_plugin.cpp index 52fb5b69ea..73a6781774 100644 --- a/editor/plugins/font_editor_plugin.cpp +++ b/editor/plugins/font_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/font_editor_plugin.h b/editor/plugins/font_editor_plugin.h index 3530815872..736137121a 100644 --- a/editor/plugins/font_editor_plugin.h +++ b/editor/plugins/font_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/gpu_particles_2d_editor_plugin.cpp b/editor/plugins/gpu_particles_2d_editor_plugin.cpp index 44c789b145..6b93a1872d 100644 --- a/editor/plugins/gpu_particles_2d_editor_plugin.cpp +++ b/editor/plugins/gpu_particles_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -57,6 +57,27 @@ void GPUParticles2DEditorPlugin::_file_selected(const String &p_file) { emission_mask->popup_centered(); } +void GPUParticles2DEditorPlugin::_selection_changed() { + List<Node *> selected_nodes = editor->get_editor_selection()->get_selected_node_list(); + + if (selected_particles.is_empty() && selected_nodes.is_empty()) { + return; + } + + for (GPUParticles2D *SP : selected_particles) { + SP->set_show_visibility_rect(false); + } + selected_particles.clear(); + + for (Node *P : selected_nodes) { + GPUParticles2D *selected_particle = Object::cast_to<GPUParticles2D>(P); + if (selected_particle != nullptr) { + selected_particle->set_show_visibility_rect(true); + selected_particles.push_back(selected_particle); + } + } +} + void GPUParticles2DEditorPlugin::_menu_callback(int p_idx) { switch (p_idx) { case MENU_GENERATE_VISIBILITY_RECT: { @@ -334,6 +355,7 @@ void GPUParticles2DEditorPlugin::_notification(int p_what) { menu->get_popup()->connect("id_pressed", callable_mp(this, &GPUParticles2DEditorPlugin::_menu_callback)); menu->set_icon(menu->get_theme_icon(SNAME("GPUParticles2D"), SNAME("EditorIcons"))); file->connect("file_selected", callable_mp(this, &GPUParticles2DEditorPlugin::_file_selected)); + EditorNode::get_singleton()->get_editor_selection()->connect("selection_changed", callable_mp(this, &GPUParticles2DEditorPlugin::_selection_changed)); } } diff --git a/editor/plugins/gpu_particles_2d_editor_plugin.h b/editor/plugins/gpu_particles_2d_editor_plugin.h index 0b2028b745..55e455e252 100644 --- a/editor/plugins/gpu_particles_2d_editor_plugin.h +++ b/editor/plugins/gpu_particles_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -56,6 +56,7 @@ class GPUParticles2DEditorPlugin : public EditorPlugin { }; GPUParticles2D *particles; + List<GPUParticles2D *> selected_particles; EditorFileDialog *file; EditorNode *editor; @@ -79,6 +80,7 @@ class GPUParticles2DEditorPlugin : public EditorPlugin { void _menu_callback(int p_idx); void _generate_visibility_rect(); void _generate_emission_mask(); + void _selection_changed(); protected: void _notification(int p_what); diff --git a/editor/plugins/gpu_particles_3d_editor_plugin.cpp b/editor/plugins/gpu_particles_3d_editor_plugin.cpp index 5ac58795d1..0057566603 100644 --- a/editor/plugins/gpu_particles_3d_editor_plugin.cpp +++ b/editor/plugins/gpu_particles_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/gpu_particles_3d_editor_plugin.h b/editor/plugins/gpu_particles_3d_editor_plugin.h index bd10895459..f7e4244ba4 100644 --- a/editor/plugins/gpu_particles_3d_editor_plugin.h +++ b/editor/plugins/gpu_particles_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/gpu_particles_collision_sdf_editor_plugin.cpp b/editor/plugins/gpu_particles_collision_sdf_editor_plugin.cpp index 6df2e34ceb..1b4c944876 100644 --- a/editor/plugins/gpu_particles_collision_sdf_editor_plugin.cpp +++ b/editor/plugins/gpu_particles_collision_sdf_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -30,11 +30,11 @@ #include "gpu_particles_collision_sdf_editor_plugin.h" -void GPUParticlesCollisionSDFEditorPlugin::_bake() { +void GPUParticlesCollisionSDF3DEditorPlugin::_bake() { if (col_sdf) { if (col_sdf->get_texture().is_null() || !col_sdf->get_texture()->get_path().is_resource_file()) { String path = get_tree()->get_edited_scene_root()->get_scene_file_path(); - if (path == String()) { + if (path.is_empty()) { path = "res://" + col_sdf->get_name() + "_data.exr"; } else { String ext = path.get_extension(); @@ -49,8 +49,8 @@ void GPUParticlesCollisionSDFEditorPlugin::_bake() { } } -void GPUParticlesCollisionSDFEditorPlugin::edit(Object *p_object) { - GPUParticlesCollisionSDF *s = Object::cast_to<GPUParticlesCollisionSDF>(p_object); +void GPUParticlesCollisionSDF3DEditorPlugin::edit(Object *p_object) { + GPUParticlesCollisionSDF3D *s = Object::cast_to<GPUParticlesCollisionSDF3D>(p_object); if (!s) { return; } @@ -58,46 +58,50 @@ void GPUParticlesCollisionSDFEditorPlugin::edit(Object *p_object) { col_sdf = s; } -bool GPUParticlesCollisionSDFEditorPlugin::handles(Object *p_object) const { - return p_object->is_class("GPUParticlesCollisionSDF"); +bool GPUParticlesCollisionSDF3DEditorPlugin::handles(Object *p_object) const { + return p_object->is_class("GPUParticlesCollisionSDF3D"); } -void GPUParticlesCollisionSDFEditorPlugin::_notification(int p_what) { +void GPUParticlesCollisionSDF3DEditorPlugin::_notification(int p_what) { if (p_what == NOTIFICATION_PROCESS) { if (!col_sdf) { return; } + // Set information tooltip on the Bake button. This information is useful + // to optimize performance (video RAM size) and reduce collision tunneling (individual cell size). + const Vector3i size = col_sdf->get_estimated_cell_size(); - String text = vformat(String::utf8("%d × %d × %d"), size.x, size.y, size.z); - int data_size = 2; - const double size_mb = size.x * size.y * size.z * data_size / (1024.0 * 1024.0); - text += " - " + vformat(TTR("VRAM Size: %s MB"), String::num(size_mb, 2)); + const Vector3 extents = col_sdf->get_extents(); - if (bake_info->get_text() == text) { - return; + int data_size = 2; + const double size_mb = size.x * size.y * size.z * data_size / (1024.0 * 1024.0); + // Add a qualitative measurement to help the user assess whether a GPUParticlesCollisionSDF3D node is using a lot of VRAM. + String size_quality; + if (size_mb < 8.0) { + size_quality = TTR("Low"); + } else if (size_mb < 32.0) { + size_quality = TTR("Moderate"); + } else { + size_quality = TTR("High"); } - // Color the label depending on the estimated performance level. - Color color; - if (size_mb <= 16.0 + CMP_EPSILON) { - // Fast. - color = bake_info->get_theme_color(SNAME("success_color"), SNAME("Editor")); - } else if (size_mb <= 64.0 + CMP_EPSILON) { - // Medium. - color = bake_info->get_theme_color(SNAME("warning_color"), SNAME("Editor")); - } else { - // Slow. - color = bake_info->get_theme_color(SNAME("error_color"), SNAME("Editor")); + String text; + text += vformat(TTR("Subdivisions: %s"), vformat(String::utf8("%d × %d × %d"), size.x, size.y, size.z)) + "\n"; + text += vformat(TTR("Cell size: %s"), vformat(String::utf8("%.3f × %.3f × %.3f"), extents.x / size.x, extents.y / size.y, extents.z / size.z)) + "\n"; + text += vformat(TTR("Video RAM size: %s MB (%s)"), String::num(size_mb, 2), size_quality); + + // Only update the tooltip when needed to avoid constant redrawing. + if (bake->get_tooltip(Point2()) == text) { + return; } - bake_info->add_theme_color_override("font_color", color); - bake_info->set_text(text); + bake->set_tooltip(text); } } -void GPUParticlesCollisionSDFEditorPlugin::make_visible(bool p_visible) { +void GPUParticlesCollisionSDF3DEditorPlugin::make_visible(bool p_visible) { if (p_visible) { bake_hb->show(); set_process(true); @@ -107,26 +111,26 @@ void GPUParticlesCollisionSDFEditorPlugin::make_visible(bool p_visible) { } } -EditorProgress *GPUParticlesCollisionSDFEditorPlugin::tmp_progress = nullptr; +EditorProgress *GPUParticlesCollisionSDF3DEditorPlugin::tmp_progress = nullptr; -void GPUParticlesCollisionSDFEditorPlugin::bake_func_begin(int p_steps) { +void GPUParticlesCollisionSDF3DEditorPlugin::bake_func_begin(int p_steps) { ERR_FAIL_COND(tmp_progress != nullptr); tmp_progress = memnew(EditorProgress("bake_sdf", TTR("Bake SDF"), p_steps)); } -void GPUParticlesCollisionSDFEditorPlugin::bake_func_step(int p_step, const String &p_description) { +void GPUParticlesCollisionSDF3DEditorPlugin::bake_func_step(int p_step, const String &p_description) { ERR_FAIL_COND(tmp_progress == nullptr); tmp_progress->step(p_description, p_step, false); } -void GPUParticlesCollisionSDFEditorPlugin::bake_func_end() { +void GPUParticlesCollisionSDF3DEditorPlugin::bake_func_end() { ERR_FAIL_COND(tmp_progress == nullptr); memdelete(tmp_progress); tmp_progress = nullptr; } -void GPUParticlesCollisionSDFEditorPlugin::_sdf_save_path_and_bake(const String &p_path) { +void GPUParticlesCollisionSDF3DEditorPlugin::_sdf_save_path_and_bake(const String &p_path) { probe_file->hide(); if (col_sdf) { Ref<Image> bake_img = col_sdf->bake(); @@ -164,10 +168,10 @@ void GPUParticlesCollisionSDFEditorPlugin::_sdf_save_path_and_bake(const String } } -void GPUParticlesCollisionSDFEditorPlugin::_bind_methods() { +void GPUParticlesCollisionSDF3DEditorPlugin::_bind_methods() { } -GPUParticlesCollisionSDFEditorPlugin::GPUParticlesCollisionSDFEditorPlugin(EditorNode *p_node) { +GPUParticlesCollisionSDF3DEditorPlugin::GPUParticlesCollisionSDF3DEditorPlugin(EditorNode *p_node) { editor = p_node; bake_hb = memnew(HBoxContainer); bake_hb->set_h_size_flags(Control::SIZE_EXPAND_FILL); @@ -176,26 +180,22 @@ GPUParticlesCollisionSDFEditorPlugin::GPUParticlesCollisionSDFEditorPlugin(Edito bake->set_flat(true); bake->set_icon(editor->get_gui_base()->get_theme_icon(SNAME("Bake"), SNAME("EditorIcons"))); bake->set_text(TTR("Bake SDF")); - bake->connect("pressed", callable_mp(this, &GPUParticlesCollisionSDFEditorPlugin::_bake)); + bake->connect("pressed", callable_mp(this, &GPUParticlesCollisionSDF3DEditorPlugin::_bake)); bake_hb->add_child(bake); - bake_info = memnew(Label); - bake_info->set_h_size_flags(Control::SIZE_EXPAND_FILL); - bake_info->set_clip_text(true); - bake_hb->add_child(bake_info); add_control_to_container(CONTAINER_SPATIAL_EDITOR_MENU, bake_hb); col_sdf = nullptr; probe_file = memnew(EditorFileDialog); probe_file->set_file_mode(EditorFileDialog::FILE_MODE_SAVE_FILE); probe_file->add_filter("*.exr"); - probe_file->connect("file_selected", callable_mp(this, &GPUParticlesCollisionSDFEditorPlugin::_sdf_save_path_and_bake)); + probe_file->connect("file_selected", callable_mp(this, &GPUParticlesCollisionSDF3DEditorPlugin::_sdf_save_path_and_bake)); get_editor_interface()->get_base_control()->add_child(probe_file); probe_file->set_title(TTR("Select path for SDF Texture")); - GPUParticlesCollisionSDF::bake_begin_function = bake_func_begin; - GPUParticlesCollisionSDF::bake_step_function = bake_func_step; - GPUParticlesCollisionSDF::bake_end_function = bake_func_end; + GPUParticlesCollisionSDF3D::bake_begin_function = bake_func_begin; + GPUParticlesCollisionSDF3D::bake_step_function = bake_func_step; + GPUParticlesCollisionSDF3D::bake_end_function = bake_func_end; } -GPUParticlesCollisionSDFEditorPlugin::~GPUParticlesCollisionSDFEditorPlugin() { +GPUParticlesCollisionSDF3DEditorPlugin::~GPUParticlesCollisionSDF3DEditorPlugin() { } diff --git a/editor/plugins/gpu_particles_collision_sdf_editor_plugin.h b/editor/plugins/gpu_particles_collision_sdf_editor_plugin.h index 5a71fc44ef..d74986f22b 100644 --- a/editor/plugins/gpu_particles_collision_sdf_editor_plugin.h +++ b/editor/plugins/gpu_particles_collision_sdf_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -36,13 +36,12 @@ #include "scene/3d/gpu_particles_collision_3d.h" #include "scene/resources/material.h" -class GPUParticlesCollisionSDFEditorPlugin : public EditorPlugin { - GDCLASS(GPUParticlesCollisionSDFEditorPlugin, EditorPlugin); +class GPUParticlesCollisionSDF3DEditorPlugin : public EditorPlugin { + GDCLASS(GPUParticlesCollisionSDF3DEditorPlugin, EditorPlugin); - GPUParticlesCollisionSDF *col_sdf; + GPUParticlesCollisionSDF3D *col_sdf; HBoxContainer *bake_hb; - Label *bake_info; Button *bake; EditorNode *editor; @@ -61,14 +60,14 @@ protected: void _notification(int p_what); public: - virtual String get_name() const override { return "GPUParticlesCollisionSDF"; } + virtual String get_name() const override { return "GPUParticlesCollisionSDF3D"; } bool has_main_screen() const override { return false; } virtual void edit(Object *p_object) override; virtual bool handles(Object *p_object) const override; virtual void make_visible(bool p_visible) override; - GPUParticlesCollisionSDFEditorPlugin(EditorNode *p_node); - ~GPUParticlesCollisionSDFEditorPlugin(); + GPUParticlesCollisionSDF3DEditorPlugin(EditorNode *p_node); + ~GPUParticlesCollisionSDF3DEditorPlugin(); }; #endif // GPU_PARTICLES_COLLISION_SDF_EDITOR_PLUGIN_H diff --git a/editor/plugins/gradient_editor_plugin.cpp b/editor/plugins/gradient_editor_plugin.cpp index da050abc02..5e300d3de9 100644 --- a/editor/plugins/gradient_editor_plugin.cpp +++ b/editor/plugins/gradient_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -118,6 +118,9 @@ void EditorInspectorPluginGradient::parse_begin(Object *p_object) { editor->set_gradient(g); add_custom_control(editor); + int picker_shape = EDITOR_GET("interface/inspector/default_color_picker_shape"); + editor->get_picker()->set_picker_shape((ColorPicker::PickerShapeType)picker_shape); + reverse_btn = memnew(GradientReverseButton); gradient_tools_hbox = memnew(HBoxContainer); diff --git a/editor/plugins/gradient_editor_plugin.h b/editor/plugins/gradient_editor_plugin.h index 95b7b466c9..8239711667 100644 --- a/editor/plugins/gradient_editor_plugin.h +++ b/editor/plugins/gradient_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/input_event_editor_plugin.cpp b/editor/plugins/input_event_editor_plugin.cpp index d3d2de92f5..b0ee88479a 100644 --- a/editor/plugins/input_event_editor_plugin.cpp +++ b/editor/plugins/input_event_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/input_event_editor_plugin.h b/editor/plugins/input_event_editor_plugin.h index bc8293c9e5..ed26890229 100644 --- a/editor/plugins/input_event_editor_plugin.h +++ b/editor/plugins/input_event_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/light_occluder_2d_editor_plugin.cpp b/editor/plugins/light_occluder_2d_editor_plugin.cpp index 3d555d7eba..94ab89e2f6 100644 --- a/editor/plugins/light_occluder_2d_editor_plugin.cpp +++ b/editor/plugins/light_occluder_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/light_occluder_2d_editor_plugin.h b/editor/plugins/light_occluder_2d_editor_plugin.h index eb1ce04788..1a0cd3514b 100644 --- a/editor/plugins/light_occluder_2d_editor_plugin.h +++ b/editor/plugins/light_occluder_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/lightmap_gi_editor_plugin.cpp b/editor/plugins/lightmap_gi_editor_plugin.cpp index 123087446c..be17fc238a 100644 --- a/editor/plugins/lightmap_gi_editor_plugin.cpp +++ b/editor/plugins/lightmap_gi_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -44,10 +44,10 @@ void LightmapGIEditorPlugin::_bake_select_file(const String &p_file) { switch (err) { case LightmapGI::BAKE_ERROR_NO_SAVE_PATH: { String scene_path = lightmap->get_scene_file_path(); - if (scene_path == String()) { + if (scene_path.is_empty()) { scene_path = lightmap->get_owner()->get_scene_file_path(); } - if (scene_path == String()) { + if (scene_path.is_empty()) { EditorNode::get_singleton()->show_warning(TTR("Can't determine a save path for lightmap images.\nSave your scene and try again.")); break; } diff --git a/editor/plugins/lightmap_gi_editor_plugin.h b/editor/plugins/lightmap_gi_editor_plugin.h index 12d080d6be..d0edf9f324 100644 --- a/editor/plugins/lightmap_gi_editor_plugin.h +++ b/editor/plugins/lightmap_gi_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/line_2d_editor_plugin.cpp b/editor/plugins/line_2d_editor_plugin.cpp index 08c5ef02a4..9d7e22278e 100644 --- a/editor/plugins/line_2d_editor_plugin.cpp +++ b/editor/plugins/line_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/line_2d_editor_plugin.h b/editor/plugins/line_2d_editor_plugin.h index 769109583a..4497307747 100644 --- a/editor/plugins/line_2d_editor_plugin.h +++ b/editor/plugins/line_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/material_editor_plugin.cpp b/editor/plugins/material_editor_plugin.cpp index 140d2952dd..576e91e544 100644 --- a/editor/plugins/material_editor_plugin.cpp +++ b/editor/plugins/material_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -69,8 +69,24 @@ void MaterialEditor::edit(Ref<Material> p_material, const Ref<Environment> &p_en material = p_material; camera->set_environment(p_env); if (!material.is_null()) { - sphere_instance->set_material_override(material); - box_instance->set_material_override(material); + Shader::Mode mode = p_material->get_shader_mode(); + switch (mode) { + case Shader::MODE_CANVAS_ITEM: + layout_3d->hide(); + layout_2d->show(); + vc->hide(); + rect_instance->set_material(material); + break; + case Shader::MODE_SPATIAL: + layout_2d->hide(); + layout_3d->show(); + vc->show(); + sphere_instance->set_material_override(material); + box_instance->set_material_override(material); + break; + default: + break; + } } else { hide(); } @@ -106,6 +122,21 @@ void MaterialEditor::_bind_methods() { } MaterialEditor::MaterialEditor() { + // canvas item + + layout_2d = memnew(HBoxContainer); + layout_2d->set_alignment(BoxContainer::ALIGNMENT_CENTER); + add_child(layout_2d); + layout_2d->set_anchors_and_offsets_preset(PRESET_WIDE); + + rect_instance = memnew(ColorRect); + layout_2d->add_child(rect_instance); + rect_instance->set_custom_minimum_size(Size2(150, 150) * EDSCALE); + + layout_2d->set_visible(false); + + // spatial + vc = memnew(SubViewportContainer); vc->set_stretch(true); add_child(vc); @@ -154,12 +185,12 @@ MaterialEditor::MaterialEditor() { set_custom_minimum_size(Size2(1, 150) * EDSCALE); - HBoxContainer *hb = memnew(HBoxContainer); - add_child(hb); - hb->set_anchors_and_offsets_preset(Control::PRESET_WIDE, Control::PRESET_MODE_MINSIZE, 2); + layout_3d = memnew(HBoxContainer); + add_child(layout_3d); + layout_3d->set_anchors_and_offsets_preset(Control::PRESET_WIDE, Control::PRESET_MODE_MINSIZE, 2); VBoxContainer *vb_shape = memnew(VBoxContainer); - hb->add_child(vb_shape); + layout_3d->add_child(vb_shape); sphere_switch = memnew(TextureButton); sphere_switch->set_toggle_mode(true); @@ -173,10 +204,10 @@ MaterialEditor::MaterialEditor() { vb_shape->add_child(box_switch); box_switch->connect("pressed", callable_mp(this, &MaterialEditor::_button_pressed), varray(box_switch)); - hb->add_spacer(); + layout_3d->add_spacer(); VBoxContainer *vb_light = memnew(VBoxContainer); - hb->add_child(vb_light); + layout_3d->add_child(vb_light); light_1_switch = memnew(TextureButton); light_1_switch->set_toggle_mode(true); @@ -207,8 +238,8 @@ bool EditorInspectorPluginMaterial::can_handle(Object *p_object) { if (!material) { return false; } - - return material->get_shader_mode() == Shader::MODE_SPATIAL; + Shader::Mode mode = material->get_shader_mode(); + return mode == Shader::MODE_SPATIAL || mode == Shader::MODE_CANVAS_ITEM; } void EditorInspectorPluginMaterial::parse_begin(Object *p_object) { diff --git a/editor/plugins/material_editor_plugin.h b/editor/plugins/material_editor_plugin.h index 62549843f7..36c2df191d 100644 --- a/editor/plugins/material_editor_plugin.h +++ b/editor/plugins/material_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -39,6 +39,7 @@ #include "scene/3d/camera_3d.h" #include "scene/3d/light_3d.h" #include "scene/3d/mesh_instance_3d.h" +#include "scene/gui/color_rect.h" #include "scene/resources/material.h" class SubViewportContainer; @@ -46,22 +47,27 @@ class SubViewportContainer; class MaterialEditor : public Control { GDCLASS(MaterialEditor, Control); - SubViewportContainer *vc; - SubViewport *viewport; - MeshInstance3D *sphere_instance; - MeshInstance3D *box_instance; - DirectionalLight3D *light1; - DirectionalLight3D *light2; - Camera3D *camera; + HBoxContainer *layout_2d = nullptr; + ColorRect *rect_instance = nullptr; + + SubViewportContainer *vc = nullptr; + SubViewport *viewport = nullptr; + MeshInstance3D *sphere_instance = nullptr; + MeshInstance3D *box_instance = nullptr; + DirectionalLight3D *light1 = nullptr; + DirectionalLight3D *light2 = nullptr; + Camera3D *camera = nullptr; Ref<SphereMesh> sphere_mesh; Ref<BoxMesh> box_mesh; - TextureButton *sphere_switch; - TextureButton *box_switch; + HBoxContainer *layout_3d = nullptr; + + TextureButton *sphere_switch = nullptr; + TextureButton *box_switch = nullptr; - TextureButton *light_1_switch; - TextureButton *light_2_switch; + TextureButton *light_1_switch = nullptr; + TextureButton *light_2_switch = nullptr; Ref<Material> material; diff --git a/editor/plugins/mesh_editor_plugin.cpp b/editor/plugins/mesh_editor_plugin.cpp index 4b18ac6e9f..daf68f247d 100644 --- a/editor/plugins/mesh_editor_plugin.cpp +++ b/editor/plugins/mesh_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/mesh_editor_plugin.h b/editor/plugins/mesh_editor_plugin.h index 1e88b70202..613680e870 100644 --- a/editor/plugins/mesh_editor_plugin.h +++ b/editor/plugins/mesh_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/mesh_instance_3d_editor_plugin.cpp b/editor/plugins/mesh_instance_3d_editor_plugin.cpp index 7a85c5167b..75e9cc23a1 100644 --- a/editor/plugins/mesh_instance_3d_editor_plugin.cpp +++ b/editor/plugins/mesh_instance_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -398,7 +398,7 @@ void MeshInstance3DEditor::_create_outline_mesh() { } if (mesh->get_surface_count() == 0) { - err_dialog->set_text(TTR("Mesh has not surface to create outlines from.")); + err_dialog->set_text(TTR("Mesh has no surface to create outlines from.")); err_dialog->popup_centered(); return; } else if (mesh->get_surface_count() == 1 && mesh->surface_get_primitive_type(0) != Mesh::PRIMITIVE_TRIANGLES) { diff --git a/editor/plugins/mesh_instance_3d_editor_plugin.h b/editor/plugins/mesh_instance_3d_editor_plugin.h index 98b667c978..1df72d107c 100644 --- a/editor/plugins/mesh_instance_3d_editor_plugin.h +++ b/editor/plugins/mesh_instance_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/mesh_library_editor_plugin.cpp b/editor/plugins/mesh_library_editor_plugin.cpp index 18e7480287..d82d0c6ffc 100644 --- a/editor/plugins/mesh_library_editor_plugin.cpp +++ b/editor/plugins/mesh_library_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -61,7 +61,7 @@ void MeshLibraryEditor::_menu_update_confirm(bool p_apply_xforms) { cd_update->hide(); apply_xforms = p_apply_xforms; String existing = mesh_library->get_meta("_editor_source_scene"); - ERR_FAIL_COND(existing == ""); + ERR_FAIL_COND(existing.is_empty()); _import_scene_cbk(existing); } diff --git a/editor/plugins/mesh_library_editor_plugin.h b/editor/plugins/mesh_library_editor_plugin.h index 9e225ffb9b..7144f87ba6 100644 --- a/editor/plugins/mesh_library_editor_plugin.h +++ b/editor/plugins/mesh_library_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/multimesh_editor_plugin.cpp b/editor/plugins/multimesh_editor_plugin.cpp index 5514bccabb..4ec65ea257 100644 --- a/editor/plugins/multimesh_editor_plugin.cpp +++ b/editor/plugins/multimesh_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -48,7 +48,7 @@ void MultiMeshEditor::_populate() { Ref<Mesh> mesh; - if (mesh_source->get_text() == "") { + if (mesh_source->get_text().is_empty()) { Ref<MultiMesh> multimesh; multimesh = node->get_multimesh(); if (multimesh.is_null()) { @@ -89,7 +89,7 @@ void MultiMeshEditor::_populate() { } } - if (surface_source->get_text() == "") { + if (surface_source->get_text().is_empty()) { err_dialog->set_text(TTR("No surface source specified.")); err_dialog->popup_centered(); return; diff --git a/editor/plugins/multimesh_editor_plugin.h b/editor/plugins/multimesh_editor_plugin.h index 2cdd7cf504..ae18edd90a 100644 --- a/editor/plugins/multimesh_editor_plugin.h +++ b/editor/plugins/multimesh_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/navigation_polygon_editor_plugin.cpp b/editor/plugins/navigation_polygon_editor_plugin.cpp index 9971d3111d..e9e2a843cd 100644 --- a/editor/plugins/navigation_polygon_editor_plugin.cpp +++ b/editor/plugins/navigation_polygon_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/navigation_polygon_editor_plugin.h b/editor/plugins/navigation_polygon_editor_plugin.h index 0f5928d416..446083902c 100644 --- a/editor/plugins/navigation_polygon_editor_plugin.h +++ b/editor/plugins/navigation_polygon_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/node_3d_editor_gizmos.cpp b/editor/plugins/node_3d_editor_gizmos.cpp index 74fbef3caf..474e84cae8 100644 --- a/editor/plugins/node_3d_editor_gizmos.cpp +++ b/editor/plugins/node_3d_editor_gizmos.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -244,8 +244,10 @@ void EditorNode3DGizmo::Instance::create_instance(Node3D *p_base, bool p_hidden) RS::get_singleton()->instance_geometry_set_flag(instance, RS::INSTANCE_FLAG_IGNORE_OCCLUSION_CULLING, true); } -void EditorNode3DGizmo::add_mesh(const Ref<ArrayMesh> &p_mesh, const Ref<Material> &p_material, const Transform3D &p_xform, const Ref<SkinReference> &p_skin_reference) { +void EditorNode3DGizmo::add_mesh(const Ref<Mesh> &p_mesh, const Ref<Material> &p_material, const Transform3D &p_xform, const Ref<SkinReference> &p_skin_reference) { ERR_FAIL_COND(!spatial_node); + ERR_FAIL_COND_MSG(!p_mesh.is_valid(), "EditorNode3DGizmo.add_mesh() requires a valid Mesh resource."); + Instance ins; ins.mesh = p_mesh; @@ -2579,7 +2581,7 @@ void CPUParticles3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) { GPUParticles3DGizmoPlugin::GPUParticles3DGizmoPlugin() { Color gizmo_color = EDITOR_DEF("editors/3d_gizmos/gizmo_colors/particles", Color(0.8, 0.7, 0.4)); create_material("particles_material", gizmo_color); - gizmo_color.a = 0.1; + gizmo_color.a = MAX((gizmo_color.a - 0.2) * 0.02, 0.0); create_material("particles_solid_material", gizmo_color); create_icon_material("particles_icon", Node3DEditor::get_singleton()->get_theme_icon(SNAME("GizmoGPUParticles3D"), SNAME("EditorIcons"))); create_handle_material("handles"); @@ -2765,11 +2767,11 @@ int GPUParticlesCollision3DGizmoPlugin::get_priority() const { String GPUParticlesCollision3DGizmoPlugin::get_handle_name(const EditorNode3DGizmo *p_gizmo, int p_id) const { const Node3D *cs = p_gizmo->get_spatial_node(); - if (Object::cast_to<GPUParticlesCollisionSphere>(cs) || Object::cast_to<GPUParticlesAttractorSphere>(cs)) { + if (Object::cast_to<GPUParticlesCollisionSphere3D>(cs) || Object::cast_to<GPUParticlesAttractorSphere3D>(cs)) { return "Radius"; } - if (Object::cast_to<GPUParticlesCollisionBox>(cs) || Object::cast_to<GPUParticlesAttractorBox>(cs) || Object::cast_to<GPUParticlesAttractorVectorField>(cs) || Object::cast_to<GPUParticlesCollisionSDF>(cs) || Object::cast_to<GPUParticlesCollisionHeightField>(cs)) { + if (Object::cast_to<GPUParticlesCollisionBox3D>(cs) || Object::cast_to<GPUParticlesAttractorBox3D>(cs) || Object::cast_to<GPUParticlesAttractorVectorField3D>(cs) || Object::cast_to<GPUParticlesCollisionSDF3D>(cs) || Object::cast_to<GPUParticlesCollisionHeightField3D>(cs)) { return "Extents"; } @@ -2779,11 +2781,11 @@ String GPUParticlesCollision3DGizmoPlugin::get_handle_name(const EditorNode3DGiz Variant GPUParticlesCollision3DGizmoPlugin::get_handle_value(const EditorNode3DGizmo *p_gizmo, int p_id) const { const Node3D *cs = p_gizmo->get_spatial_node(); - if (Object::cast_to<GPUParticlesCollisionSphere>(cs) || Object::cast_to<GPUParticlesAttractorSphere>(cs)) { + if (Object::cast_to<GPUParticlesCollisionSphere3D>(cs) || Object::cast_to<GPUParticlesAttractorSphere3D>(cs)) { return p_gizmo->get_spatial_node()->call("get_radius"); } - if (Object::cast_to<GPUParticlesCollisionBox>(cs) || Object::cast_to<GPUParticlesAttractorBox>(cs) || Object::cast_to<GPUParticlesAttractorVectorField>(cs) || Object::cast_to<GPUParticlesCollisionSDF>(cs) || Object::cast_to<GPUParticlesCollisionHeightField>(cs)) { + if (Object::cast_to<GPUParticlesCollisionBox3D>(cs) || Object::cast_to<GPUParticlesAttractorBox3D>(cs) || Object::cast_to<GPUParticlesAttractorVectorField3D>(cs) || Object::cast_to<GPUParticlesCollisionSDF3D>(cs) || Object::cast_to<GPUParticlesCollisionHeightField3D>(cs)) { return Vector3(p_gizmo->get_spatial_node()->call("get_extents")); } @@ -2801,7 +2803,7 @@ void GPUParticlesCollision3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_g Vector3 sg[2] = { gi.xform(ray_from), gi.xform(ray_from + ray_dir * 4096) }; - if (Object::cast_to<GPUParticlesCollisionSphere>(sn) || Object::cast_to<GPUParticlesAttractorSphere>(sn)) { + if (Object::cast_to<GPUParticlesCollisionSphere3D>(sn) || Object::cast_to<GPUParticlesAttractorSphere3D>(sn)) { Vector3 ra, rb; Geometry3D::get_closest_points_between_segments(Vector3(), Vector3(4096, 0, 0), sg[0], sg[1], ra, rb); float d = ra.x; @@ -2816,7 +2818,7 @@ void GPUParticlesCollision3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_g sn->call("set_radius", d); } - if (Object::cast_to<GPUParticlesCollisionBox>(sn) || Object::cast_to<GPUParticlesAttractorBox>(sn) || Object::cast_to<GPUParticlesAttractorVectorField>(sn) || Object::cast_to<GPUParticlesCollisionSDF>(sn) || Object::cast_to<GPUParticlesCollisionHeightField>(sn)) { + if (Object::cast_to<GPUParticlesCollisionBox3D>(sn) || Object::cast_to<GPUParticlesAttractorBox3D>(sn) || Object::cast_to<GPUParticlesAttractorVectorField3D>(sn) || Object::cast_to<GPUParticlesCollisionSDF3D>(sn) || Object::cast_to<GPUParticlesCollisionHeightField3D>(sn)) { Vector3 axis; axis[p_id] = 1.0; Vector3 ra, rb; @@ -2839,7 +2841,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) { Node3D *sn = p_gizmo->get_spatial_node(); - if (Object::cast_to<GPUParticlesCollisionSphere>(sn) || Object::cast_to<GPUParticlesAttractorSphere>(sn)) { + if (Object::cast_to<GPUParticlesCollisionSphere3D>(sn) || Object::cast_to<GPUParticlesAttractorSphere3D>(sn)) { if (p_cancel) { sn->call("set_radius", p_restore); return; @@ -2852,7 +2854,7 @@ void GPUParticlesCollision3DGizmoPlugin::commit_handle(const EditorNode3DGizmo * ur->commit_action(); } - if (Object::cast_to<GPUParticlesCollisionBox>(sn) || Object::cast_to<GPUParticlesAttractorBox>(sn) || Object::cast_to<GPUParticlesAttractorVectorField>(sn) || Object::cast_to<GPUParticlesCollisionSDF>(sn) || Object::cast_to<GPUParticlesCollisionHeightField>(sn)) { + if (Object::cast_to<GPUParticlesCollisionBox3D>(sn) || Object::cast_to<GPUParticlesAttractorBox3D>(sn) || Object::cast_to<GPUParticlesAttractorVectorField3D>(sn) || Object::cast_to<GPUParticlesCollisionSDF3D>(sn) || Object::cast_to<GPUParticlesCollisionHeightField3D>(sn)) { if (p_cancel) { sn->call("set_extents", p_restore); return; @@ -2869,7 +2871,6 @@ void GPUParticlesCollision3DGizmoPlugin::commit_handle(const EditorNode3DGizmo * void GPUParticlesCollision3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) { Node3D *cs = p_gizmo->get_spatial_node(); - print_line("redraw request " + itos(cs != nullptr)); p_gizmo->clear(); const Ref<Material> material = @@ -2879,7 +2880,7 @@ void GPUParticlesCollision3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) { Ref<Material> handles_material = get_material("handles"); - if (Object::cast_to<GPUParticlesCollisionSphere>(cs) || Object::cast_to<GPUParticlesAttractorSphere>(cs)) { + if (Object::cast_to<GPUParticlesCollisionSphere3D>(cs) || Object::cast_to<GPUParticlesAttractorSphere3D>(cs)) { float r = cs->call("get_radius"); Vector<Vector3> points; @@ -2921,7 +2922,7 @@ void GPUParticlesCollision3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) { p_gizmo->add_handles(handles, handles_material); } - if (Object::cast_to<GPUParticlesCollisionBox>(cs) || Object::cast_to<GPUParticlesAttractorBox>(cs) || Object::cast_to<GPUParticlesAttractorVectorField>(cs) || Object::cast_to<GPUParticlesCollisionSDF>(cs) || Object::cast_to<GPUParticlesCollisionHeightField>(cs)) { + if (Object::cast_to<GPUParticlesCollisionBox3D>(cs) || Object::cast_to<GPUParticlesAttractorBox3D>(cs) || Object::cast_to<GPUParticlesAttractorVectorField3D>(cs) || Object::cast_to<GPUParticlesCollisionSDF3D>(cs) || Object::cast_to<GPUParticlesCollisionHeightField3D>(cs)) { Vector<Vector3> lines; AABB aabb; aabb.position = -cs->call("get_extents").operator Vector3(); @@ -2946,9 +2947,9 @@ void GPUParticlesCollision3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) { p_gizmo->add_collision_segments(lines); p_gizmo->add_handles(handles, handles_material); - GPUParticlesCollisionSDF *col_sdf = Object::cast_to<GPUParticlesCollisionSDF>(cs); + GPUParticlesCollisionSDF3D *col_sdf = Object::cast_to<GPUParticlesCollisionSDF3D>(cs); if (col_sdf) { - static const int subdivs[GPUParticlesCollisionSDF::RESOLUTION_MAX] = { 16, 32, 64, 128, 256, 512 }; + static const int subdivs[GPUParticlesCollisionSDF3D::RESOLUTION_MAX] = { 16, 32, 64, 128, 256, 512 }; int subdiv = subdivs[col_sdf->get_resolution()]; float cell_size = aabb.get_longest_axis_size() / subdiv; diff --git a/editor/plugins/node_3d_editor_gizmos.h b/editor/plugins/node_3d_editor_gizmos.h index 56e4ad5518..a8383aefed 100644 --- a/editor/plugins/node_3d_editor_gizmos.h +++ b/editor/plugins/node_3d_editor_gizmos.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -45,7 +45,7 @@ class EditorNode3DGizmo : public Node3DGizmo { struct Instance { RID instance; - Ref<ArrayMesh> mesh; + Ref<Mesh> mesh; Ref<Material> material; Ref<SkinReference> skin_reference; bool extra_margin = false; @@ -95,7 +95,7 @@ protected: public: void add_lines(const Vector<Vector3> &p_lines, const Ref<Material> &p_material, bool p_billboard = false, const Color &p_modulate = Color(1, 1, 1)); void add_vertices(const Vector<Vector3> &p_vertices, const Ref<Material> &p_material, Mesh::PrimitiveType p_primitive_type, bool p_billboard = false, const Color &p_modulate = Color(1, 1, 1)); - void add_mesh(const Ref<ArrayMesh> &p_mesh, const Ref<Material> &p_material = Ref<Material>(), const Transform3D &p_xform = Transform3D(), const Ref<SkinReference> &p_skin_reference = Ref<SkinReference>()); + void add_mesh(const Ref<Mesh> &p_mesh, const Ref<Material> &p_material = Ref<Material>(), const Transform3D &p_xform = Transform3D(), const Ref<SkinReference> &p_skin_reference = Ref<SkinReference>()); void add_collision_segments(const Vector<Vector3> &p_lines); void add_collision_triangles(const Ref<TriangleMesh> &p_tmesh); void add_unscaled_billboard(const Ref<Material> &p_material, real_t p_scale = 1, const Color &p_modulate = Color(1, 1, 1)); diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp index 0a8cfa3815..1a466d4046 100644 --- a/editor/plugins/node_3d_editor_plugin.cpp +++ b/editor/plugins/node_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1291,7 +1291,8 @@ void Node3DEditorViewport::_list_select(Ref<InputEventMouseButton> b) { selection_menu->set_item_tooltip(i, String(spat->get_name()) + "\nType: " + spat->get_class() + "\nPath: " + node_path); } - selection_menu->set_position(get_screen_transform().xform(b->get_position())); + selection_menu->set_position(get_screen_position() + b->get_position()); + selection_menu->reset_size(); selection_menu->popup(); } } @@ -2438,7 +2439,8 @@ void Node3DEditorViewport::_nav_look(Ref<InputEventWithModifiers> p_event, const _menu_option(VIEW_PERSPECTIVE); } - const real_t degrees_per_pixel = EditorSettings::get_singleton()->get("editors/3d/freelook/freelook_sensitivity"); + // Scale mouse sensitivity with camera FOV scale when zoomed in to make it easier to point at things. + const real_t degrees_per_pixel = real_t(EditorSettings::get_singleton()->get("editors/3d/freelook/freelook_sensitivity")) * MIN(1.0, cursor.fov_scale); const real_t radians_per_pixel = Math::deg2rad(degrees_per_pixel); const bool invert_y_axis = EditorSettings::get_singleton()->get("editors/3d/navigation/invert_y_axis"); @@ -2986,7 +2988,7 @@ static void draw_indicator_bar(Control &surface, real_t fill, const Ref<Texture2 surface.draw_texture(icon, icon_pos); // Draw text below the bar (for speed/zoom information). - surface.draw_string(font, Vector2(icon_pos.x, icon_pos.y + icon_size.y + 16 * EDSCALE), text, HALIGN_LEFT, -1.f, font_size); + surface.draw_string(font, Vector2(icon_pos.x, icon_pos.y + icon_size.y + 16 * EDSCALE), text, HORIZONTAL_ALIGNMENT_LEFT, -1.f, font_size); } void Node3DEditorViewport::_draw() { @@ -3026,9 +3028,9 @@ void Node3DEditorViewport::_draw() { Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label")); int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label")); Point2 msgpos = Point2(5, get_size().y - 20); - font->draw_string(ci, msgpos + Point2(1, 1), message, HALIGN_LEFT, -1, font_size, Color(0, 0, 0, 0.8)); - font->draw_string(ci, msgpos + Point2(-1, -1), message, HALIGN_LEFT, -1, font_size, Color(0, 0, 0, 0.8)); - font->draw_string(ci, msgpos, message, HALIGN_LEFT, -1, font_size, Color(1, 1, 1, 1)); + font->draw_string(ci, msgpos + Point2(1, 1), message, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, Color(0, 0, 0, 0.8)); + font->draw_string(ci, msgpos + Point2(-1, -1), message, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, Color(0, 0, 0, 0.8)); + font->draw_string(ci, msgpos, message, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, Color(1, 1, 1, 1)); } if (_edit.mode == TRANSFORM_ROTATE) { @@ -3389,6 +3391,7 @@ void Node3DEditorViewport::_menu_option(int p_option) { case VIEW_DISPLAY_DEBUG_VOXEL_GI_EMISSION: case VIEW_DISPLAY_DEBUG_SCENE_LUMINANCE: case VIEW_DISPLAY_DEBUG_SSAO: + case VIEW_DISPLAY_DEBUG_SSIL: case VIEW_DISPLAY_DEBUG_PSSM_SPLITS: case VIEW_DISPLAY_DEBUG_DECAL_ATLAS: case VIEW_DISPLAY_DEBUG_SDFGI: @@ -3415,6 +3418,7 @@ void Node3DEditorViewport::_menu_option(int p_option) { VIEW_DISPLAY_DEBUG_VOXEL_GI_EMISSION, VIEW_DISPLAY_DEBUG_SCENE_LUMINANCE, VIEW_DISPLAY_DEBUG_SSAO, + VIEW_DISPLAY_DEBUG_SSIL, VIEW_DISPLAY_DEBUG_GI_BUFFER, VIEW_DISPLAY_DEBUG_DISABLE_LOD, VIEW_DISPLAY_DEBUG_PSSM_SPLITS, @@ -3443,6 +3447,7 @@ void Node3DEditorViewport::_menu_option(int p_option) { Viewport::DEBUG_DRAW_VOXEL_GI_EMISSION, Viewport::DEBUG_DRAW_SCENE_LUMINANCE, Viewport::DEBUG_DRAW_SSAO, + Viewport::DEBUG_DRAW_SSIL, Viewport::DEBUG_DRAW_GI_BUFFER, Viewport::DEBUG_DRAW_DISABLE_LOD, Viewport::DEBUG_DRAW_PSSM_SPLITS, @@ -4048,7 +4053,23 @@ bool Node3DEditorViewport::_create_instance(Node *parent, String &path, const Po if (mesh != nullptr) { MeshInstance3D *mesh_instance = memnew(MeshInstance3D); mesh_instance->set_mesh(mesh); - mesh_instance->set_name(path.get_file().get_basename()); + + // Adjust casing according to project setting. The file name is expected to be in snake_case, but will work for others. + String name = path.get_file().get_basename(); + switch (ProjectSettings::get_singleton()->get("editor/node_naming/name_casing").operator int()) { + case NAME_CASING_PASCAL_CASE: + name = name.capitalize().replace(" ", ""); + break; + case NAME_CASING_CAMEL_CASE: + name = name.capitalize().replace(" ", ""); + name[0] = name.to_lower()[0]; + break; + case NAME_CASING_SNAKE_CASE: + name = name.capitalize().replace(" ", "_").to_lower(); + break; + } + mesh_instance->set_name(name); + instantiated_scene = mesh_instance; } else { if (!scene.is_valid()) { // invalid scene @@ -4063,7 +4084,7 @@ bool Node3DEditorViewport::_create_instance(Node *parent, String &path, const Po return false; } - if (editor->get_edited_scene()->get_scene_file_path() != "") { // cyclical instancing + if (!editor->get_edited_scene()->get_scene_file_path().is_empty()) { // cyclical instancing if (_cyclical_dependency_exists(editor->get_edited_scene()->get_scene_file_path(), instantiated_scene)) { memdelete(instantiated_scene); return false; @@ -4221,10 +4242,9 @@ void Node3DEditorViewport::drop_data_fw(const Point2 &p_point, const Variant &p_ if (root_node) { target_node = root_node; } else { - accept->set_text(TTR("Cannot drag and drop into scene with no root node.")); - accept->popup_centered(); - _remove_preview(); - return; + // Create a root node so we can add child nodes to it. + EditorNode::get_singleton()->get_scene_tree_dock()->add_root_node(memnew(Node3D)); + target_node = get_tree()->get_edited_scene_root(); } } else { accept->set_text(TTR("Cannot drag and drop into multiple selected nodes.")); @@ -4335,6 +4355,7 @@ Node3DEditorViewport::Node3DEditorViewport(Node3DEditor *p_spatial_editor, Edito display_submenu->add_radio_check_item(TTR("Scene Luminance"), VIEW_DISPLAY_DEBUG_SCENE_LUMINANCE); display_submenu->add_separator(); display_submenu->add_radio_check_item(TTR("SSAO"), VIEW_DISPLAY_DEBUG_SSAO); + display_submenu->add_radio_check_item(TTR("SSIL"), VIEW_DISPLAY_DEBUG_SSIL); display_submenu->add_separator(); display_submenu->add_radio_check_item(TTR("GI Buffer"), VIEW_DISPLAY_DEBUG_GI_BUFFER); display_submenu->add_separator(); @@ -4428,7 +4449,7 @@ Node3DEditorViewport::Node3DEditorViewport(Node3DEditor *p_spatial_editor, Edito cinema_label = memnew(Label); cinema_label->set_anchor_and_offset(SIDE_TOP, ANCHOR_BEGIN, 10 * EDSCALE); cinema_label->set_h_grow_direction(GROW_DIRECTION_END); - cinema_label->set_align(Label::ALIGN_CENTER); + cinema_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); surface->add_child(cinema_label); cinema_label->set_text(TTR("Cinematic Preview")); cinema_label->hide(); @@ -4439,7 +4460,7 @@ Node3DEditorViewport::Node3DEditorViewport(Node3DEditor *p_spatial_editor, Edito locked_label->set_anchor_and_offset(SIDE_BOTTOM, ANCHOR_END, -10 * EDSCALE); locked_label->set_h_grow_direction(GROW_DIRECTION_END); locked_label->set_v_grow_direction(GROW_DIRECTION_BEGIN); - locked_label->set_align(Label::ALIGN_CENTER); + locked_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); surface->add_child(locked_label); locked_label->set_text(TTR("View Rotation Locked")); locked_label->hide(); @@ -6631,6 +6652,7 @@ void Node3DEditor::unhandled_key_input(const Ref<InputEvent> &p_event) { void Node3DEditor::_sun_environ_settings_pressed() { Vector2 pos = sun_environ_settings->get_screen_position() + sun_environ_settings->get_size(); sun_environ_popup->set_position(pos - Vector2(sun_environ_popup->get_contents_minimum_size().width / 2, 0)); + sun_environ_popup->reset_size(); sun_environ_popup->popup(); } @@ -7644,7 +7666,7 @@ Node3DEditor::Node3DEditor(EditorNode *p_editor) { sun_title->set_theme_type_variation("HeaderSmall"); sun_vb->add_child(sun_title); sun_title->set_text(TTR("Preview Sun")); - sun_title->set_align(Label::ALIGN_CENTER); + sun_title->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); CenterContainer *sun_direction_center = memnew(CenterContainer); sun_direction = memnew(Control); @@ -7732,8 +7754,8 @@ void fragment() { sun_state = memnew(Label); sun_environ_hb->add_child(sun_state); - sun_state->set_align(Label::ALIGN_CENTER); - sun_state->set_valign(Label::VALIGN_CENTER); + sun_state->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); + sun_state->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER); sun_state->set_h_size_flags(SIZE_EXPAND_FILL); VSeparator *sc = memnew(VSeparator); @@ -7751,7 +7773,7 @@ void fragment() { environ_vb->add_child(environ_title); environ_title->set_text(TTR("Preview Environment")); - environ_title->set_align(Label::ALIGN_CENTER); + environ_title->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); environ_sky_color = memnew(ColorPickerButton); environ_sky_color->set_edit_alpha(false); @@ -7799,8 +7821,8 @@ void fragment() { environ_state = memnew(Label); sun_environ_hb->add_child(environ_state); - environ_state->set_align(Label::ALIGN_CENTER); - environ_state->set_valign(Label::VALIGN_CENTER); + environ_state->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); + environ_state->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER); environ_state->set_h_size_flags(SIZE_EXPAND_FILL); preview_sun = memnew(DirectionalLight3D); diff --git a/editor/plugins/node_3d_editor_plugin.h b/editor/plugins/node_3d_editor_plugin.h index 8d647808ba..da28e6314f 100644 --- a/editor/plugins/node_3d_editor_plugin.h +++ b/editor/plugins/node_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -125,6 +125,7 @@ class Node3DEditorViewport : public Control { VIEW_DISPLAY_DEBUG_VOXEL_GI_EMISSION, VIEW_DISPLAY_DEBUG_SCENE_LUMINANCE, VIEW_DISPLAY_DEBUG_SSAO, + VIEW_DISPLAY_DEBUG_SSIL, VIEW_DISPLAY_DEBUG_PSSM_SPLITS, VIEW_DISPLAY_DEBUG_DECAL_ATLAS, VIEW_DISPLAY_DEBUG_SDFGI, diff --git a/editor/plugins/occluder_instance_3d_editor_plugin.cpp b/editor/plugins/occluder_instance_3d_editor_plugin.cpp index 0328b1bea6..2dd760275e 100644 --- a/editor/plugins/occluder_instance_3d_editor_plugin.cpp +++ b/editor/plugins/occluder_instance_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -42,10 +42,10 @@ void OccluderInstance3DEditorPlugin::_bake_select_file(const String &p_file) { switch (err) { case OccluderInstance3D::BAKE_ERROR_NO_SAVE_PATH: { String scene_path = occluder_instance->get_scene_file_path(); - if (scene_path == String()) { + if (scene_path.is_empty()) { scene_path = occluder_instance->get_owner()->get_scene_file_path(); } - if (scene_path == String()) { + if (scene_path.is_empty()) { EditorNode::get_singleton()->show_warning(TTR("Can't determine a save path for the occluder.\nSave your scene and try again.")); break; } diff --git a/editor/plugins/occluder_instance_3d_editor_plugin.h b/editor/plugins/occluder_instance_3d_editor_plugin.h index 161b17811c..a9aa0b74e3 100644 --- a/editor/plugins/occluder_instance_3d_editor_plugin.h +++ b/editor/plugins/occluder_instance_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/ot_features_plugin.cpp b/editor/plugins/ot_features_plugin.cpp index c949621e28..d2daa4fa8d 100644 --- a/editor/plugins/ot_features_plugin.cpp +++ b/editor/plugins/ot_features_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -136,6 +136,7 @@ void OpenTypeFeaturesAdd::update_property() { void OpenTypeFeaturesAdd::_features_menu() { Size2 size = get_size(); menu->set_position(get_screen_position() + Size2(0, size.height * get_global_transform().get_scale().y)); + menu->reset_size(); menu->popup(); } diff --git a/editor/plugins/ot_features_plugin.h b/editor/plugins/ot_features_plugin.h index add491ed48..073fe53a52 100644 --- a/editor/plugins/ot_features_plugin.h +++ b/editor/plugins/ot_features_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/packed_scene_translation_parser_plugin.cpp b/editor/plugins/packed_scene_translation_parser_plugin.cpp index 53c5b8dd70..b492c27f41 100644 --- a/editor/plugins/packed_scene_translation_parser_plugin.cpp +++ b/editor/plugins/packed_scene_translation_parser_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/packed_scene_translation_parser_plugin.h b/editor/plugins/packed_scene_translation_parser_plugin.h index af0291b69c..fc19496eb6 100644 --- a/editor/plugins/packed_scene_translation_parser_plugin.h +++ b/editor/plugins/packed_scene_translation_parser_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/path_2d_editor_plugin.cpp b/editor/plugins/path_2d_editor_plugin.cpp index 79f8ce95cd..c50673559c 100644 --- a/editor/plugins/path_2d_editor_plugin.cpp +++ b/editor/plugins/path_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/path_2d_editor_plugin.h b/editor/plugins/path_2d_editor_plugin.h index 867e0ce74f..210a5a140d 100644 --- a/editor/plugins/path_2d_editor_plugin.h +++ b/editor/plugins/path_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/path_3d_editor_plugin.cpp b/editor/plugins/path_3d_editor_plugin.cpp index e83f6481f9..c31b893498 100644 --- a/editor/plugins/path_3d_editor_plugin.cpp +++ b/editor/plugins/path_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/path_3d_editor_plugin.h b/editor/plugins/path_3d_editor_plugin.h index 974234ba8f..a7da2c07e5 100644 --- a/editor/plugins/path_3d_editor_plugin.h +++ b/editor/plugins/path_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/physical_bone_3d_editor_plugin.cpp b/editor/plugins/physical_bone_3d_editor_plugin.cpp index b1e104e680..9d69bbaa0b 100644 --- a/editor/plugins/physical_bone_3d_editor_plugin.cpp +++ b/editor/plugins/physical_bone_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -51,7 +51,7 @@ PhysicalBone3DEditor::PhysicalBone3DEditor(EditorNode *p_editor) : editor(p_editor) { spatial_editor_hb = memnew(HBoxContainer); spatial_editor_hb->set_h_size_flags(Control::SIZE_EXPAND_FILL); - spatial_editor_hb->set_alignment(BoxContainer::ALIGN_BEGIN); + spatial_editor_hb->set_alignment(BoxContainer::ALIGNMENT_BEGIN); Node3DEditor::get_singleton()->add_control_to_menu_panel(spatial_editor_hb); spatial_editor_hb->add_child(memnew(VSeparator)); diff --git a/editor/plugins/physical_bone_3d_editor_plugin.h b/editor/plugins/physical_bone_3d_editor_plugin.h index 248aad9298..d30222d7e6 100644 --- a/editor/plugins/physical_bone_3d_editor_plugin.h +++ b/editor/plugins/physical_bone_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/polygon_2d_editor_plugin.cpp b/editor/plugins/polygon_2d_editor_plugin.cpp index 79cfcbec64..e272b96778 100644 --- a/editor/plugins/polygon_2d_editor_plugin.cpp +++ b/editor/plugins/polygon_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -170,7 +170,7 @@ void Polygon2DEditor::_update_bone_list() { if (np.get_name_count()) { name = np.get_name(np.get_name_count() - 1); } - if (name == String()) { + if (name.is_empty()) { name = "Bone " + itos(i); } cb->set_text(name); diff --git a/editor/plugins/polygon_2d_editor_plugin.h b/editor/plugins/polygon_2d_editor_plugin.h index cbe7ecf360..a04179dcad 100644 --- a/editor/plugins/polygon_2d_editor_plugin.h +++ b/editor/plugins/polygon_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/resource_preloader_editor_plugin.cpp b/editor/plugins/resource_preloader_editor_plugin.cpp index eae6916a92..d5287bc2fb 100644 --- a/editor/plugins/resource_preloader_editor_plugin.cpp +++ b/editor/plugins/resource_preloader_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -110,7 +110,7 @@ void ResourcePreloaderEditor::_item_edited() { return; } - if (new_name == "" || new_name.find("\\") != -1 || new_name.find("/") != -1 || preloader->has_resource(new_name)) { + if (new_name.is_empty() || new_name.find("\\") != -1 || new_name.find("/") != -1 || preloader->has_resource(new_name)) { s->set_text(0, old_name); return; } @@ -147,10 +147,10 @@ void ResourcePreloaderEditor::_paste_pressed() { } String name = r->get_name(); - if (name == "") { + if (name.is_empty()) { name = r->get_path().get_file(); } - if (name == "") { + if (name.is_empty()) { name = r->get_class(); } @@ -300,7 +300,7 @@ void ResourcePreloaderEditor::drop_data_fw(const Point2 &p_point, const Variant if (r.is_valid()) { String basename; - if (r->get_name() != "") { + if (!r->get_name().is_empty()) { basename = r->get_name(); } else if (r->get_path().is_resource_file()) { basename = r->get_path().get_basename(); diff --git a/editor/plugins/resource_preloader_editor_plugin.h b/editor/plugins/resource_preloader_editor_plugin.h index 943765d4e0..838d72df41 100644 --- a/editor/plugins/resource_preloader_editor_plugin.h +++ b/editor/plugins/resource_preloader_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/root_motion_editor_plugin.cpp b/editor/plugins/root_motion_editor_plugin.cpp index 0f3c50a861..34b39d2a17 100644 --- a/editor/plugins/root_motion_editor_plugin.cpp +++ b/editor/plugins/root_motion_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -89,7 +89,7 @@ void EditorPropertyRootMotion::_node_assign() { String accum; for (int i = 0; i < path.get_name_count(); i++) { String name = path.get_name(i); - if (accum != String()) { + if (!accum.is_empty()) { accum += "/"; } accum += name; @@ -277,7 +277,7 @@ bool EditorInspectorRootMotionPlugin::can_handle(Object *p_object) { bool EditorInspectorRootMotionPlugin::parse_property(Object *p_object, const Variant::Type p_type, const String &p_path, const PropertyHint p_hint, const String &p_hint_text, const uint32_t p_usage, const bool p_wide) { if (p_path == "root_motion_track" && p_object->is_class("AnimationTree") && p_type == Variant::NODE_PATH) { EditorPropertyRootMotion *editor = memnew(EditorPropertyRootMotion); - if (p_hint == PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE && p_hint_text != String()) { + if (p_hint == PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE && !p_hint_text.is_empty()) { editor->setup(p_hint_text); } add_property_editor(p_path, editor); diff --git a/editor/plugins/root_motion_editor_plugin.h b/editor/plugins/root_motion_editor_plugin.h index c05975b6c3..c2866f269b 100644 --- a/editor/plugins/root_motion_editor_plugin.h +++ b/editor/plugins/root_motion_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp index aeb6ba13d5..03ed0e0ef2 100644 --- a/editor/plugins/script_editor_plugin.cpp +++ b/editor/plugins/script_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -179,7 +179,7 @@ void EditorStandardSyntaxHighlighter::_update_cache() { for (const String &comment : comments) { String beg = comment.get_slice(" ", 0); String end = comment.get_slice_count(" ") > 1 ? comment.get_slice(" ", 1) : String(); - highlighter->add_color_region(beg, end, comment_color, end == ""); + highlighter->add_color_region(beg, end, comment_color, end.is_empty()); } /* Strings */ @@ -189,7 +189,7 @@ void EditorStandardSyntaxHighlighter::_update_cache() { for (const String &string : strings) { String beg = string.get_slice(" ", 0); String end = string.get_slice_count(" ") > 1 ? string.get_slice(" ", 1) : String(); - highlighter->add_color_region(beg, end, string_color, end == ""); + highlighter->add_color_region(beg, end, string_color, end.is_empty()); } } } @@ -321,7 +321,7 @@ void ScriptEditorQuickOpen::_update_search() { for (int i = 0; i < functions.size(); i++) { String file = functions[i]; - if ((search_box->get_text() == "" || file.findn(search_box->get_text()) != -1)) { + if ((search_box->get_text().is_empty() || file.findn(search_box->get_text()) != -1)) { TreeItem *ti = search_options->create_item(root); ti->set_text(0, file); if (root->get_first_child() == ti) { @@ -392,7 +392,7 @@ ScriptEditor *ScriptEditor::script_editor = nullptr; String ScriptEditor::_get_debug_tooltip(const String &p_text, Node *_se) { String val = EditorDebuggerNode::get_singleton()->get_var_value(p_text); - if (val != String()) { + if (!val.is_empty()) { return p_text + ": " + val; } else { return String(); @@ -1679,7 +1679,7 @@ void ScriptEditor::get_breakpoints(List<String> *p_breakpoints) { String base = script->get_path(); loaded_scripts.insert(base); - if (base.begins_with("local://") || base == "") { + if (base.begins_with("local://") || base.is_empty()) { continue; } @@ -1831,7 +1831,7 @@ void ScriptEditor::_update_members_overview() { for (int i = 0; i < functions.size(); i++) { String filter = filter_methods->get_text(); String name = functions[i].get_slice(":", 0); - if (filter == "" || filter.is_subsequence_ofi(name)) { + if (filter.is_empty() || filter.is_subsequence_ofi(name)) { members_overview->add_item(name); members_overview->set_item_metadata(members_overview->get_item_count() - 1, functions[i].get_slice(":", 1).to_int() - 1); } @@ -2076,7 +2076,7 @@ void ScriptEditor::_update_script_names() { Vector<_ScriptEditorItemData> sedata_filtered; for (int i = 0; i < sedata.size(); i++) { String filter = filter_scripts->get_text(); - if (filter == "" || filter.is_subsequence_ofi(sedata[i].name)) { + if (filter.is_empty() || filter.is_subsequence_ofi(sedata[i].name)) { sedata_filtered.push_back(sedata[i]); } } @@ -2648,7 +2648,7 @@ void ScriptEditor::_editor_settings_changed() { _update_autosave_timer(); - if (current_theme == "") { + if (current_theme.is_empty()) { current_theme = EditorSettings::get_singleton()->get("text_editor/theme/color_theme"); } else if (current_theme != String(EditorSettings::get_singleton()->get("text_editor/theme/color_theme"))) { current_theme = EditorSettings::get_singleton()->get("text_editor/theme/color_theme"); @@ -2840,7 +2840,7 @@ bool ScriptEditor::can_drop_data_fw(const Point2 &p_point, const Variant &p_data for (int i = 0; i < files.size(); i++) { String file = files[i]; - if (file == "" || !FileAccess::exists(file)) { + if (file.is_empty() || !FileAccess::exists(file)) { continue; } if (ResourceLoader::exists(file, "Script")) { @@ -2920,7 +2920,7 @@ void ScriptEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data, Co int num_tabs_before = tab_container->get_child_count(); for (int i = 0; i < files.size(); i++) { String file = files[i]; - if (file == "" || !FileAccess::exists(file)) { + if (file.is_empty() || !FileAccess::exists(file)) { continue; } @@ -3055,7 +3055,7 @@ void ScriptEditor::_make_script_list_context_menu() { context_menu->add_shortcut(ED_GET_SHORTCUT("script_editor/window_sort"), WINDOW_SORT); context_menu->add_shortcut(ED_GET_SHORTCUT("script_editor/toggle_scripts_panel"), TOGGLE_SCRIPTS_PANEL); - context_menu->set_position(get_global_transform().xform(get_local_mouse_position())); + context_menu->set_position(get_screen_position() + get_local_mouse_position()); context_menu->reset_size(); context_menu->popup(); } @@ -3126,7 +3126,7 @@ void ScriptEditor::set_window_layout(Ref<ConfigFile> p_layout) { for (int i = 0; i < helps.size(); i++) { String path = helps[i]; - if (path == "") { // invalid, skip + if (path.is_empty()) { // invalid, skip continue; } _help_class_open(path); @@ -3197,7 +3197,7 @@ void ScriptEditor::get_window_layout(Ref<ConfigFile> p_layout) { } void ScriptEditor::_help_class_open(const String &p_class) { - if (p_class == "") { + if (p_class.is_empty()) { return; } diff --git a/editor/plugins/script_editor_plugin.h b/editor/plugins/script_editor_plugin.h index 0adeca031e..ca409e15ca 100644 --- a/editor/plugins/script_editor_plugin.h +++ b/editor/plugins/script_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp index 30a4cef8ca..ab5c9a0ef1 100644 --- a/editor/plugins/script_text_editor.cpp +++ b/editor/plugins/script_text_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -90,7 +90,7 @@ ConnectionInfoDialog::ConnectionInfoDialog() { add_child(vbc); method = memnew(Label); - method->set_align(Label::ALIGN_CENTER); + method->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); vbc->add_child(method); tree = memnew(Tree); @@ -205,7 +205,7 @@ void ScriptTextEditor::_set_theme_for_script() { String beg = string.get_slice(" ", 0); String end = string.get_slice_count(" ") > 1 ? string.get_slice(" ", 1) : String(); if (!text_edit->has_string_delimiter(beg)) { - text_edit->add_string_delimiter(beg, end, end == ""); + text_edit->add_string_delimiter(beg, end, end.is_empty()); } if (!end.is_empty() && !text_edit->has_auto_brace_completion_open_key(beg)) { @@ -219,7 +219,7 @@ void ScriptTextEditor::_set_theme_for_script() { for (const String &comment : comments) { String beg = comment.get_slice(" ", 0); String end = comment.get_slice_count(" ") > 1 ? comment.get_slice(" ", 1) : String(); - text_edit->add_comment_delimiter(beg, end, end == ""); + text_edit->add_comment_delimiter(beg, end, end.is_empty()); if (!end.is_empty() && !text_edit->has_auto_brace_completion_open_key(beg)) { text_edit->add_auto_brace_completion_pair(beg, end); @@ -381,7 +381,7 @@ String ScriptTextEditor::get_name() { name = TTR("[unsaved]"); } else if (script->is_built_in()) { const String &script_name = script->get_name(); - if (script_name != "") { + if (!script_name.is_empty()) { // If the built-in script has a custom resource name defined, // display the built-in script name as follows: `ResourceName (scene_file.tscn)` name = vformat("%s (%s)", script_name, name.get_slice("::", 0)); @@ -990,7 +990,7 @@ void ScriptTextEditor::_gutter_clicked(int p_line, int p_gutter) { } String method = code_editor->get_text_editor()->get_line_gutter_metadata(p_line, p_gutter); - if (method == "") { + if (method.is_empty()) { return; } @@ -1137,7 +1137,7 @@ void ScriptTextEditor::_edit_option(int p_op) { if (expression.parse(line) == OK) { Variant result = expression.execute(Array(), Variant(), false); - if (expression.get_error_text() == "") { + if (expression.get_error_text().is_empty()) { results.push_back(whitespace + result.get_construct_string()); } else { results.push_back(line); @@ -1263,19 +1263,19 @@ void ScriptTextEditor::_edit_option(int p_op) { } break; case HELP_CONTEXTUAL: { String text = tx->get_selected_text(); - if (text == "") { + if (text.is_empty()) { text = tx->get_word_under_caret(); } - if (text != "") { + if (!text.is_empty()) { emit_signal(SNAME("request_help"), text); } } break; case LOOKUP_SYMBOL: { String text = tx->get_word_under_caret(); - if (text == "") { + if (text.is_empty()) { text = tx->get_selected_text(); } - if (text != "") { + if (!text.is_empty()) { _lookup_symbol(text, tx->get_caret_line(), tx->get_caret_column()); } } break; @@ -1560,10 +1560,10 @@ void ScriptTextEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) { } String word_at_pos = tx->get_word_at_pos(local_pos); - if (word_at_pos == "") { + if (word_at_pos.is_empty()) { word_at_pos = tx->get_word_under_caret(); } - if (word_at_pos == "") { + if (word_at_pos.is_empty()) { word_at_pos = tx->get_selected_text(); } @@ -1611,7 +1611,7 @@ void ScriptTextEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) { float alpha = color.size() > 3 ? color[3] : 1.0f; color_picker->set_pick_color(Color(color[0], color[1], color[2], alpha)); } - color_panel->set_position(get_global_transform().xform(local_pos)); + color_panel->set_position(get_screen_position() + local_pos); } else { has_color = false; } @@ -1688,7 +1688,7 @@ void ScriptTextEditor::_make_context_menu(bool p_selection, bool p_color, bool p context_menu->set_item_disabled(context_menu->get_item_index(EDIT_UNDO), !tx->has_undo()); context_menu->set_item_disabled(context_menu->get_item_index(EDIT_REDO), !tx->has_redo()); - context_menu->set_position(get_global_transform().xform(p_pos)); + context_menu->set_position(get_screen_position() + p_pos); context_menu->reset_size(); context_menu->popup(); } diff --git a/editor/plugins/script_text_editor.h b/editor/plugins/script_text_editor.h index afe9a7453d..6e67444489 100644 --- a/editor/plugins/script_text_editor.h +++ b/editor/plugins/script_text_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/shader_editor_plugin.cpp b/editor/plugins/shader_editor_plugin.cpp index 7c1fda77bb..e8bbeb0834 100644 --- a/editor/plugins/shader_editor_plugin.cpp +++ b/editor/plugins/shader_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -138,8 +138,18 @@ void ShaderTextEditor::_load_theme_settings() { } } - for (int i = 0; i < ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(shader->get_mode())).size(); i++) { - built_ins.push_back(ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(shader->get_mode()))[i]); + const Vector<ShaderLanguage::ModeInfo> &modes = ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(shader->get_mode())); + + for (int i = 0; i < modes.size(); i++) { + const ShaderLanguage::ModeInfo &info = modes[i]; + + if (!info.options.is_empty()) { + for (int j = 0; j < info.options.size(); j++) { + built_ins.push_back(String(info.name) + "_" + String(info.options[j])); + } + } else { + built_ins.push_back(String(info.name)); + } } } @@ -204,7 +214,13 @@ void ShaderTextEditor::_code_complete_script(const String &p_code, List<ScriptCo ShaderLanguage sl; String calltip; - sl.complete(p_code, ShaderTypes::get_singleton()->get_functions(RenderingServer::ShaderMode(shader->get_mode())), ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(shader->get_mode())), ShaderLanguage::VaryingFunctionNames(), ShaderTypes::get_singleton()->get_types(), _get_global_variable_type, r_options, calltip); + ShaderLanguage::ShaderCompileInfo info; + info.functions = ShaderTypes::get_singleton()->get_functions(RenderingServer::ShaderMode(shader->get_mode())); + info.render_modes = ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(shader->get_mode())); + info.shader_types = ShaderTypes::get_singleton()->get_types(); + info.global_variable_type_func = _get_global_variable_type; + + sl.complete(p_code, info, r_options, calltip); get_text_editor()->set_code_hint(calltip); } @@ -216,12 +232,18 @@ void ShaderTextEditor::_validate_script() { //List<StringName> params; //shader->get_param_list(¶ms); + ShaderLanguage::ShaderCompileInfo info; + info.functions = ShaderTypes::get_singleton()->get_functions(RenderingServer::ShaderMode(shader->get_mode())); + info.render_modes = ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(shader->get_mode())); + info.shader_types = ShaderTypes::get_singleton()->get_types(); + info.global_variable_type_func = _get_global_variable_type; + ShaderLanguage sl; sl.enable_warning_checking(saved_warnings_enabled); sl.set_warning_flags(saved_warning_flags); - Error err = sl.compile(code, ShaderTypes::get_singleton()->get_functions(RenderingServer::ShaderMode(shader->get_mode())), ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(shader->get_mode())), ShaderLanguage::VaryingFunctionNames(), ShaderTypes::get_singleton()->get_types(), _get_global_variable_type); + Error err = sl.compile(code, info); if (err != OK) { String error_text = "error(" + itos(sl.get_error_line()) + "): " + sl.get_error_text(); @@ -271,15 +293,20 @@ void ShaderTextEditor::_update_warning_panel() { } warning_count++; + int line = w.get_line(); // First cell. warnings_panel->push_cell(); - warnings_panel->push_meta(w.get_line() - 1); warnings_panel->push_color(warnings_panel->get_theme_color(SNAME("warning_color"), SNAME("Editor"))); - warnings_panel->add_text(TTR("Line") + " " + itos(w.get_line())); - warnings_panel->add_text(" (" + w.get_name() + "):"); + if (line != -1) { + warnings_panel->push_meta(line - 1); + warnings_panel->add_text(TTR("Line") + " " + itos(line)); + warnings_panel->add_text(" (" + w.get_name() + "):"); + warnings_panel->pop(); // Meta goto. + } else { + warnings_panel->add_text(w.get_name() + ":"); + } warnings_panel->pop(); // Color. - warnings_panel->pop(); // Meta goto. warnings_panel->pop(); // Cell. // Second cell. @@ -645,7 +672,7 @@ void ShaderEditor::_make_context_menu(bool p_selection, Vector2 p_position) { context_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/toggle_comment"), EDIT_TOGGLE_COMMENT); context_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/toggle_bookmark"), BOOKMARK_TOGGLE); - context_menu->set_position(get_global_transform().xform(p_position)); + context_menu->set_position(get_screen_position() + p_position); context_menu->reset_size(); context_menu->popup(); } diff --git a/editor/plugins/shader_editor_plugin.h b/editor/plugins/shader_editor_plugin.h index 77579754d3..cc90d381a5 100644 --- a/editor/plugins/shader_editor_plugin.h +++ b/editor/plugins/shader_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/shader_file_editor_plugin.cpp b/editor/plugins/shader_file_editor_plugin.cpp index 1e62261244..8250164885 100644 --- a/editor/plugins/shader_file_editor_plugin.cpp +++ b/editor/plugins/shader_file_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -97,7 +97,7 @@ void ShaderFileEditor::_version_selected(int p_option) { error_text->push_font(get_theme_font(SNAME("source"), SNAME("EditorFonts"))); - if (error == String()) { + if (error.is_empty()) { error_text->add_text(TTR("Shader stage compiled without errors.")); } else { error_text->add_text(error); @@ -107,7 +107,7 @@ void ShaderFileEditor::_version_selected(int p_option) { void ShaderFileEditor::_update_options() { ERR_FAIL_COND(shader_file.is_null()); - if (shader_file->get_base_error() != String()) { + if (!shader_file->get_base_error().is_empty()) { stage_hb->hide(); versions->hide(); error_text->clear(); @@ -136,7 +136,7 @@ void ShaderFileEditor::_update_options() { for (int i = 0; i < version_list.size(); i++) { String title = version_list[i]; - if (title == "") { + if (title.is_empty()) { title = "default"; } @@ -148,7 +148,7 @@ void ShaderFileEditor::_update_options() { bool failed = false; for (int j = 0; j < RD::SHADER_STAGE_MAX; j++) { String error = bytecode->get_stage_compile_error(RD::ShaderStage(j)); - if (error != String()) { + if (!error.is_empty()) { failed = true; } } @@ -182,7 +182,7 @@ void ShaderFileEditor::_update_options() { for (int i = 0; i < RD::SHADER_STAGE_MAX; i++) { Vector<uint8_t> bc = bytecode->get_stage_bytecode(RD::ShaderStage(i)); String error = bytecode->get_stage_compile_error(RD::ShaderStage(i)); - bool disable = error == String() && bc.is_empty(); + bool disable = error.is_empty() && bc.is_empty(); stages[i]->set_disabled(disable); if (!disable) { if (stages[i]->is_pressed()) { diff --git a/editor/plugins/shader_file_editor_plugin.h b/editor/plugins/shader_file_editor_plugin.h index 7d6e503b6c..feec0c206e 100644 --- a/editor/plugins/shader_file_editor_plugin.h +++ b/editor/plugins/shader_file_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/skeleton_2d_editor_plugin.cpp b/editor/plugins/skeleton_2d_editor_plugin.cpp index 510e264c48..b6d465ea81 100644 --- a/editor/plugins/skeleton_2d_editor_plugin.cpp +++ b/editor/plugins/skeleton_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/skeleton_2d_editor_plugin.h b/editor/plugins/skeleton_2d_editor_plugin.h index 066888f685..2fa7f02622 100644 --- a/editor/plugins/skeleton_2d_editor_plugin.h +++ b/editor/plugins/skeleton_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/skeleton_3d_editor_plugin.cpp b/editor/plugins/skeleton_3d_editor_plugin.cpp index 5f21c8c881..e1b27cb045 100644 --- a/editor/plugins/skeleton_3d_editor_plugin.cpp +++ b/editor/plugins/skeleton_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -964,6 +964,7 @@ void Skeleton3DEditor::select_bone(int p_idx) { Skeleton3DEditor::~Skeleton3DEditor() { if (skeleton) { + select_bone(-1); #ifdef TOOLS_ENABLED skeleton->disconnect("show_rest_only_changed", callable_mp(this, &Skeleton3DEditor::_update_gizmo_visible)); skeleton->disconnect("bone_enabled_changed", callable_mp(this, &Skeleton3DEditor::_bone_enabled_changed)); @@ -973,6 +974,7 @@ Skeleton3DEditor::~Skeleton3DEditor() { #endif handles_mesh_instance->get_parent()->remove_child(handles_mesh_instance); } + edit_mode_toggled(false); handles_mesh_instance->queue_delete(); @@ -1108,7 +1110,7 @@ void fragment() { )"); selected_mat->set_shader(selected_sh); - // Regist properties in editor settings. + // Register properties in editor settings. EDITOR_DEF("editors/3d_gizmos/gizmo_colors/skeleton", Color(1, 0.8, 0.4)); EDITOR_DEF("editors/3d_gizmos/gizmo_colors/selected_bone", Color(0.8, 0.3, 0.0)); EDITOR_DEF("editors/3d_gizmos/gizmo_settings/bone_axis_length", (float)0.1); diff --git a/editor/plugins/skeleton_3d_editor_plugin.h b/editor/plugins/skeleton_3d_editor_plugin.h index 1dd2d2281d..d0d81d6498 100644 --- a/editor/plugins/skeleton_3d_editor_plugin.h +++ b/editor/plugins/skeleton_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/skeleton_ik_3d_editor_plugin.cpp b/editor/plugins/skeleton_ik_3d_editor_plugin.cpp index 85632cf481..ca8786a385 100644 --- a/editor/plugins/skeleton_ik_3d_editor_plugin.cpp +++ b/editor/plugins/skeleton_ik_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/skeleton_ik_3d_editor_plugin.h b/editor/plugins/skeleton_ik_3d_editor_plugin.h index b0d2138115..edc3f6dda4 100644 --- a/editor/plugins/skeleton_ik_3d_editor_plugin.h +++ b/editor/plugins/skeleton_ik_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/sprite_2d_editor_plugin.cpp b/editor/plugins/sprite_2d_editor_plugin.cpp index eb5e527640..1eac651ed6 100644 --- a/editor/plugins/sprite_2d_editor_plugin.cpp +++ b/editor/plugins/sprite_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -526,8 +526,6 @@ Sprite2DEditor::Sprite2DEditor() { debug_uv_dialog->add_child(vb); ScrollContainer *scroll = memnew(ScrollContainer); scroll->set_custom_minimum_size(Size2(800, 500) * EDSCALE); - scroll->set_enable_h_scroll(true); - scroll->set_enable_v_scroll(true); vb->add_margin_child(TTR("Preview:"), scroll, true); debug_uv = memnew(Control); debug_uv->connect("draw", callable_mp(this, &Sprite2DEditor::_debug_uv_draw)); diff --git a/editor/plugins/sprite_2d_editor_plugin.h b/editor/plugins/sprite_2d_editor_plugin.h index d4a1ef4312..c93ad1610f 100644 --- a/editor/plugins/sprite_2d_editor_plugin.h +++ b/editor/plugins/sprite_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/sprite_frames_editor_plugin.cpp b/editor/plugins/sprite_frames_editor_plugin.cpp index d455f4618b..460eb994e5 100644 --- a/editor/plugins/sprite_frames_editor_plugin.cpp +++ b/editor/plugins/sprite_frames_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1238,8 +1238,6 @@ SpriteFramesEditor::SpriteFramesEditor() { split_sheet_preview->connect("gui_input", callable_mp(this, &SpriteFramesEditor::_sheet_preview_input)); split_sheet_scroll = memnew(ScrollContainer); - split_sheet_scroll->set_enable_h_scroll(true); - split_sheet_scroll->set_enable_v_scroll(true); split_sheet_scroll->connect("gui_input", callable_mp(this, &SpriteFramesEditor::_sheet_scroll_input)); split_sheet_panel->add_child(split_sheet_scroll); CenterContainer *cc = memnew(CenterContainer); diff --git a/editor/plugins/sprite_frames_editor_plugin.h b/editor/plugins/sprite_frames_editor_plugin.h index 9732384000..8767e05a94 100644 --- a/editor/plugins/sprite_frames_editor_plugin.h +++ b/editor/plugins/sprite_frames_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/style_box_editor_plugin.cpp b/editor/plugins/style_box_editor_plugin.cpp index 1c7f319280..5d38352b22 100644 --- a/editor/plugins/style_box_editor_plugin.cpp +++ b/editor/plugins/style_box_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/style_box_editor_plugin.h b/editor/plugins/style_box_editor_plugin.h index d82e5ab05e..898628fd7f 100644 --- a/editor/plugins/style_box_editor_plugin.h +++ b/editor/plugins/style_box_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/sub_viewport_preview_editor_plugin.cpp b/editor/plugins/sub_viewport_preview_editor_plugin.cpp index 75c47bda2e..4498a1d64d 100644 --- a/editor/plugins/sub_viewport_preview_editor_plugin.cpp +++ b/editor/plugins/sub_viewport_preview_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/sub_viewport_preview_editor_plugin.h b/editor/plugins/sub_viewport_preview_editor_plugin.h index 03b8b678d1..7016910ebd 100644 --- a/editor/plugins/sub_viewport_preview_editor_plugin.h +++ b/editor/plugins/sub_viewport_preview_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/text_control_editor_plugin.cpp b/editor/plugins/text_control_editor_plugin.cpp index c878c83430..bef93c161a 100644 --- a/editor/plugins/text_control_editor_plugin.cpp +++ b/editor/plugins/text_control_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/text_control_editor_plugin.h b/editor/plugins/text_control_editor_plugin.h index 7f4aa3754c..d3a4ff5ef9 100644 --- a/editor/plugins/text_control_editor_plugin.h +++ b/editor/plugins/text_control_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/text_editor.cpp b/editor/plugins/text_editor.cpp index e252792c43..12d13571f8 100644 --- a/editor/plugins/text_editor.cpp +++ b/editor/plugins/text_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -71,7 +71,7 @@ String TextEditor::get_name() { name = TTR("[unsaved]"); } else if (text_file->is_built_in()) { const String &text_file_name = text_file->get_name(); - if (text_file_name != "") { + if (!text_file_name.is_empty()) { // If the built-in text_file has a custom resource name defined, // display the built-in text_file name as follows: `ResourceName (scene_file.tscn)` name = vformat("%s (%s)", text_file_name, name.get_slice("::", 0)); @@ -507,7 +507,7 @@ void TextEditor::_make_context_menu(bool p_selection, bool p_can_fold, bool p_is context_menu->set_item_disabled(context_menu->get_item_index(EDIT_UNDO), !tx->has_undo()); context_menu->set_item_disabled(context_menu->get_item_index(EDIT_REDO), !tx->has_redo()); - context_menu->set_position(get_global_transform().xform(p_position)); + context_menu->set_position(get_screen_position() + p_position); context_menu->reset_size(); context_menu->popup(); } diff --git a/editor/plugins/text_editor.h b/editor/plugins/text_editor.h index 7404557f46..d3fb0c0a16 100644 --- a/editor/plugins/text_editor.h +++ b/editor/plugins/text_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/texture_3d_editor_plugin.cpp b/editor/plugins/texture_3d_editor_plugin.cpp index b4e394a1c0..6080f9df87 100644 --- a/editor/plugins/texture_3d_editor_plugin.cpp +++ b/editor/plugins/texture_3d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/texture_3d_editor_plugin.h b/editor/plugins/texture_3d_editor_plugin.h index 855194e644..5a200f6c11 100644 --- a/editor/plugins/texture_3d_editor_plugin.h +++ b/editor/plugins/texture_3d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/texture_editor_plugin.cpp b/editor/plugins/texture_editor_plugin.cpp index e25b0270b4..a07cc299f2 100644 --- a/editor/plugins/texture_editor_plugin.cpp +++ b/editor/plugins/texture_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/texture_editor_plugin.h b/editor/plugins/texture_editor_plugin.h index 60349febd7..5ba077d6fc 100644 --- a/editor/plugins/texture_editor_plugin.h +++ b/editor/plugins/texture_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/texture_layered_editor_plugin.cpp b/editor/plugins/texture_layered_editor_plugin.cpp index 1f536d13cf..a8c37d37fe 100644 --- a/editor/plugins/texture_layered_editor_plugin.cpp +++ b/editor/plugins/texture_layered_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/texture_layered_editor_plugin.h b/editor/plugins/texture_layered_editor_plugin.h index a7fe4b94e9..cd8eba1bfe 100644 --- a/editor/plugins/texture_layered_editor_plugin.h +++ b/editor/plugins/texture_layered_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/texture_region_editor_plugin.cpp b/editor/plugins/texture_region_editor_plugin.cpp index 8e1c81a876..c03e55be69 100644 --- a/editor/plugins/texture_region_editor_plugin.cpp +++ b/editor/plugins/texture_region_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/texture_region_editor_plugin.h b/editor/plugins/texture_region_editor_plugin.h index c043d6ae33..23981ddb81 100644 --- a/editor/plugins/texture_region_editor_plugin.h +++ b/editor/plugins/texture_region_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/theme_editor_plugin.cpp b/editor/plugins/theme_editor_plugin.cpp index f94439f344..91c17399c2 100644 --- a/editor/plugins/theme_editor_plugin.cpp +++ b/editor/plugins/theme_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -754,8 +754,9 @@ void ThemeItemImportTree::_import_selected() { return; } - // Prevent changes from immediately being reported while the operation is still ongoing. - edited_theme->_freeze_change_propagation(); + Ref<Theme> old_snapshot = edited_theme->duplicate(); + Ref<Theme> new_snapshot = edited_theme->duplicate(); + ProgressDialog::get_singleton()->add_task("import_theme_items", TTR("Importing Theme Items"), selected_items.size() + 2); int idx = 0; @@ -808,7 +809,7 @@ void ThemeItemImportTree::_import_selected() { } } - edited_theme->set_theme_item(ti.data_type, ti.item_name, ti.type_name, item_value); + new_snapshot->set_theme_item(ti.data_type, ti.item_name, ti.type_name, item_value); } idx++; @@ -816,12 +817,24 @@ void ThemeItemImportTree::_import_selected() { // Allow changes to be reported now that the operation is finished. ProgressDialog::get_singleton()->task_step("import_theme_items", TTR("Updating the editor"), idx++); - edited_theme->_unfreeze_and_propagate_changes(); + // Make sure the task is not ended before the editor freezes to update the Inspector. ProgressDialog::get_singleton()->task_step("import_theme_items", TTR("Finalizing"), idx++); ProgressDialog::get_singleton()->end_task("import_theme_items"); - emit_signal(SNAME("items_imported")); + + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Import Theme Items")); + + ur->add_do_method(*edited_theme, "clear"); + ur->add_do_method(*edited_theme, "merge_with", new_snapshot); + ur->add_undo_method(*edited_theme, "clear"); + ur->add_undo_method(*edited_theme, "merge_with", old_snapshot); + + ur->add_do_method(this, "emit_signal", SNAME("items_imported")); + ur->add_undo_method(this, "emit_signal", SNAME("items_imported")); + + ur->commit_action(); } void ThemeItemImportTree::set_edited_theme(const Ref<Theme> &p_theme) { @@ -941,7 +954,7 @@ ThemeItemImportTree::ThemeItemImportTree() { ScrollContainer *import_bulk_sc = memnew(ScrollContainer); import_bulk_sc->set_custom_minimum_size(Size2(260.0, 0.0) * EDSCALE); - import_bulk_sc->set_enable_h_scroll(false); + import_bulk_sc->set_horizontal_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED); import_main_hb->add_child(import_bulk_sc); VBoxContainer *import_bulk_vb = memnew(VBoxContainer); import_bulk_vb->set_h_size_flags(Control::SIZE_EXPAND_FILL); @@ -1115,7 +1128,7 @@ ThemeItemImportTree::ThemeItemImportTree() { label_set->add_child(select_items_label); HBoxContainer *button_set = memnew(HBoxContainer); - button_set->set_alignment(BoxContainer::ALIGN_END); + button_set->set_alignment(BoxContainer::ALIGNMENT_END); all_set->add_child(button_set); select_all_items_button->set_flat(true); select_all_items_button->set_tooltip(select_all_items_tooltip); @@ -1130,7 +1143,7 @@ ThemeItemImportTree::ThemeItemImportTree() { button_set->add_child(deselect_all_items_button); deselect_all_items_button->connect("pressed", callable_mp(this, &ThemeItemImportTree::_deselect_all_data_type_pressed), varray(i)); - total_selected_items_label->set_align(Label::ALIGN_RIGHT); + total_selected_items_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_RIGHT); total_selected_items_label->hide(); import_bulk_vb->add_child(total_selected_items_label); @@ -1296,6 +1309,7 @@ void ThemeItemEditorDialog::_update_edit_types() { edit_items_message->set_text(TTR("Select a theme type from the list to edit its items.\nYou can add a custom type or import a type with its items from another theme.")); edit_items_message->show(); } + _update_edit_item_tree(selected_type); } @@ -1475,19 +1489,25 @@ void ThemeItemEditorDialog::_item_tree_button_pressed(Object *p_item, int p_colu String item_name = item->get_text(0); int data_type = item->get_parent()->get_metadata(0); _open_rename_theme_item_dialog((Theme::DataType)data_type, item_name); + _update_edit_item_tree(edited_item_type); } break; case ITEMS_TREE_REMOVE_ITEM: { String item_name = item->get_text(0); int data_type = item->get_parent()->get_metadata(0); - edited_theme->clear_theme_item((Theme::DataType)data_type, item_name, edited_item_type); + + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Remove Theme Item")); + ur->add_do_method(*edited_theme, "clear_theme_item", (Theme::DataType)data_type, item_name, edited_item_type); + ur->add_undo_method(*edited_theme, "set_theme_item", (Theme::DataType)data_type, item_name, edited_item_type, edited_theme->get_theme_item((Theme::DataType)data_type, item_name, edited_item_type)); + ur->add_do_method(this, "_update_edit_item_tree", edited_item_type); + ur->add_undo_method(this, "_update_edit_item_tree", edited_item_type); + ur->commit_action(); } break; case ITEMS_TREE_REMOVE_DATA_TYPE: { int data_type = item->get_metadata(0); _remove_data_type_items((Theme::DataType)data_type, edited_item_type); } break; } - - _update_edit_item_tree(edited_item_type); } void ThemeItemEditorDialog::_add_theme_type(const String &p_new_text) { @@ -1500,57 +1520,91 @@ void ThemeItemEditorDialog::_add_theme_type(const String &p_new_text) { edited_theme->add_font_size_type(new_type); edited_theme->add_color_type(new_type); edited_theme->add_constant_type(new_type); + _update_edit_types(); - // Force emit a change so that other parts of the editor can update. edited_theme->emit_changed(); } void ThemeItemEditorDialog::_add_theme_item(Theme::DataType p_data_type, String p_item_name, String p_item_type) { + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Create Theme Item")); + switch (p_data_type) { case Theme::DATA_TYPE_ICON: - edited_theme->set_icon(p_item_name, p_item_type, Ref<Texture2D>()); + ur->add_do_method(*edited_theme, "set_icon", p_item_name, p_item_type, Ref<Texture2D>()); + ur->add_undo_method(*edited_theme, "clear_icon", p_item_name, p_item_type); break; case Theme::DATA_TYPE_STYLEBOX: - edited_theme->set_stylebox(p_item_name, p_item_type, Ref<StyleBox>()); + ur->add_do_method(*edited_theme, "set_stylebox", p_item_name, p_item_type, Ref<StyleBox>()); + ur->add_undo_method(*edited_theme, "clear_stylebox", p_item_name, p_item_type); + + if (theme_type_editor->is_stylebox_pinned(edited_theme->get_stylebox(p_item_name, p_item_type))) { + ur->add_undo_method(theme_type_editor, "_unpin_leading_stylebox"); + } break; case Theme::DATA_TYPE_FONT: - edited_theme->set_font(p_item_name, p_item_type, Ref<Font>()); + ur->add_do_method(*edited_theme, "set_font", p_item_name, p_item_type, Ref<Font>()); + ur->add_undo_method(*edited_theme, "clear_font", p_item_name, p_item_type); break; case Theme::DATA_TYPE_FONT_SIZE: - edited_theme->set_font_size(p_item_name, p_item_type, -1); + ur->add_do_method(*edited_theme, "set_font_size", p_item_name, p_item_type, -1); + ur->add_undo_method(*edited_theme, "clear_font_size", p_item_name, p_item_type); break; case Theme::DATA_TYPE_COLOR: - edited_theme->set_color(p_item_name, p_item_type, Color()); + ur->add_do_method(*edited_theme, "set_color", p_item_name, p_item_type, Color()); + ur->add_undo_method(*edited_theme, "clear_color", p_item_name, p_item_type); break; case Theme::DATA_TYPE_CONSTANT: - edited_theme->set_constant(p_item_name, p_item_type, 0); + ur->add_do_method(*edited_theme, "set_constant", p_item_name, p_item_type, 0); + ur->add_undo_method(*edited_theme, "clear_constant", p_item_name, p_item_type); break; case Theme::DATA_TYPE_MAX: break; // Can't happen, but silences warning. } + + ur->add_do_method(this, "_update_edit_item_tree", edited_item_type); + ur->add_undo_method(this, "_update_edit_item_tree", edited_item_type); + ur->commit_action(); } void ThemeItemEditorDialog::_remove_data_type_items(Theme::DataType p_data_type, String p_item_type) { List<StringName> names; - // Prevent changes from immediately being reported while the operation is still ongoing. - edited_theme->_freeze_change_propagation(); + Ref<Theme> old_snapshot = edited_theme->duplicate(); + Ref<Theme> new_snapshot = edited_theme->duplicate(); - edited_theme->get_theme_item_list(p_data_type, p_item_type, &names); + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Remove Data Type Items From Theme")); + + new_snapshot->get_theme_item_list(p_data_type, p_item_type, &names); for (const StringName &E : names) { - edited_theme->clear_theme_item(p_data_type, E, p_item_type); + new_snapshot->clear_theme_item(p_data_type, E, edited_item_type); + + if (p_data_type == Theme::DATA_TYPE_STYLEBOX && theme_type_editor->is_stylebox_pinned(edited_theme->get_stylebox(E, p_item_type))) { + ur->add_do_method(theme_type_editor, "_unpin_leading_stylebox"); + ur->add_undo_method(theme_type_editor, "_pin_leading_stylebox", E, edited_theme->get_stylebox(E, p_item_type)); + } } - // Allow changes to be reported now that the operation is finished. - edited_theme->_unfreeze_and_propagate_changes(); + ur->add_do_method(*edited_theme, "clear"); + ur->add_do_method(*edited_theme, "merge_with", new_snapshot); + ur->add_undo_method(*edited_theme, "merge_with", old_snapshot); + + ur->add_do_method(theme_type_editor, "_update_edit_item_tree", edited_item_type); + ur->add_undo_method(theme_type_editor, "_update_edit_item_tree", edited_item_type); + + ur->commit_action(); } void ThemeItemEditorDialog::_remove_class_items() { List<StringName> names; - // Prevent changes from immediately being reported while the operation is still ongoing. - edited_theme->_freeze_change_propagation(); + Ref<Theme> old_snapshot = edited_theme->duplicate(); + Ref<Theme> new_snapshot = edited_theme->duplicate(); + + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Remove Class Items From Theme")); for (int dt = 0; dt < Theme::DATA_TYPE_MAX; dt++) { Theme::DataType data_type = (Theme::DataType)dt; @@ -1558,62 +1612,95 @@ void ThemeItemEditorDialog::_remove_class_items() { names.clear(); Theme::get_default()->get_theme_item_list(data_type, edited_item_type, &names); for (const StringName &E : names) { - if (edited_theme->has_theme_item_nocheck(data_type, E, edited_item_type)) { - edited_theme->clear_theme_item(data_type, E, edited_item_type); + if (new_snapshot->has_theme_item_nocheck(data_type, E, edited_item_type)) { + new_snapshot->clear_theme_item(data_type, E, edited_item_type); + + if (dt == Theme::DATA_TYPE_STYLEBOX && theme_type_editor->is_stylebox_pinned(edited_theme->get_stylebox(E, edited_item_type))) { + ur->add_do_method(theme_type_editor, "_unpin_leading_stylebox"); + ur->add_undo_method(theme_type_editor, "_pin_leading_stylebox", E, edited_theme->get_stylebox(E, edited_item_type)); + } } } } - // Allow changes to be reported now that the operation is finished. - edited_theme->_unfreeze_and_propagate_changes(); + ur->add_do_method(*edited_theme, "clear"); + ur->add_do_method(*edited_theme, "merge_with", new_snapshot); + ur->add_undo_method(*edited_theme, "merge_with", old_snapshot); - _update_edit_item_tree(edited_item_type); + ur->add_do_method(this, "_update_edit_item_tree", edited_item_type); + ur->add_undo_method(this, "_update_edit_item_tree", edited_item_type); + + ur->commit_action(); } void ThemeItemEditorDialog::_remove_custom_items() { List<StringName> names; - // Prevent changes from immediately being reported while the operation is still ongoing. - edited_theme->_freeze_change_propagation(); + Ref<Theme> old_snapshot = edited_theme->duplicate(); + Ref<Theme> new_snapshot = edited_theme->duplicate(); + + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Remove Custom Items From Theme")); for (int dt = 0; dt < Theme::DATA_TYPE_MAX; dt++) { Theme::DataType data_type = (Theme::DataType)dt; names.clear(); - edited_theme->get_theme_item_list(data_type, edited_item_type, &names); + new_snapshot->get_theme_item_list(data_type, edited_item_type, &names); for (const StringName &E : names) { if (!Theme::get_default()->has_theme_item_nocheck(data_type, E, edited_item_type)) { - edited_theme->clear_theme_item(data_type, E, edited_item_type); + new_snapshot->clear_theme_item(data_type, E, edited_item_type); + + if (dt == Theme::DATA_TYPE_STYLEBOX && theme_type_editor->is_stylebox_pinned(edited_theme->get_stylebox(E, edited_item_type))) { + ur->add_do_method(theme_type_editor, "_unpin_leading_stylebox"); + ur->add_undo_method(theme_type_editor, "_pin_leading_stylebox", E, edited_theme->get_stylebox(E, edited_item_type)); + } } } } - // Allow changes to be reported now that the operation is finished. - edited_theme->_unfreeze_and_propagate_changes(); + ur->add_do_method(*edited_theme, "clear"); + ur->add_do_method(*edited_theme, "merge_with", new_snapshot); + ur->add_undo_method(*edited_theme, "merge_with", old_snapshot); + + ur->add_do_method(this, "_update_edit_item_tree", edited_item_type); + ur->add_undo_method(this, "_update_edit_item_tree", edited_item_type); - _update_edit_item_tree(edited_item_type); + ur->commit_action(); } void ThemeItemEditorDialog::_remove_all_items() { List<StringName> names; - // Prevent changes from immediately being reported while the operation is still ongoing. - edited_theme->_freeze_change_propagation(); + Ref<Theme> old_snapshot = edited_theme->duplicate(); + Ref<Theme> new_snapshot = edited_theme->duplicate(); + + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Remove All Items From Theme")); for (int dt = 0; dt < Theme::DATA_TYPE_MAX; dt++) { Theme::DataType data_type = (Theme::DataType)dt; names.clear(); - edited_theme->get_theme_item_list(data_type, edited_item_type, &names); + new_snapshot->get_theme_item_list(data_type, edited_item_type, &names); for (const StringName &E : names) { - edited_theme->clear_theme_item(data_type, E, edited_item_type); + new_snapshot->clear_theme_item(data_type, E, edited_item_type); + + if (dt == Theme::DATA_TYPE_STYLEBOX && theme_type_editor->is_stylebox_pinned(edited_theme->get_stylebox(E, edited_item_type))) { + ur->add_do_method(theme_type_editor, "_unpin_leading_stylebox"); + ur->add_undo_method(theme_type_editor, "_pin_leading_stylebox", E, edited_theme->get_stylebox(E, edited_item_type)); + } } } - // Allow changes to be reported now that the operation is finished. - edited_theme->_unfreeze_and_propagate_changes(); + ur->add_do_method(*edited_theme, "clear"); + ur->add_do_method(*edited_theme, "merge_with", new_snapshot); + ur->add_undo_method(*edited_theme, "merge_with", old_snapshot); - _update_edit_item_tree(edited_item_type); + ur->add_do_method(this, "_update_edit_item_tree", edited_item_type); + ur->add_undo_method(this, "_update_edit_item_tree", edited_item_type); + + ur->commit_action(); } void ThemeItemEditorDialog::_open_add_theme_item_dialog(int p_data_type) { @@ -1692,14 +1779,21 @@ void ThemeItemEditorDialog::_confirm_edit_theme_item() { if (item_popup_mode == CREATE_THEME_ITEM) { _add_theme_item(edit_item_data_type, theme_item_name->get_text(), edited_item_type); } else if (item_popup_mode == RENAME_THEME_ITEM) { - edited_theme->rename_theme_item(edit_item_data_type, edit_item_old_name, theme_item_name->get_text(), edited_item_type); + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Rename Theme Item")); + + ur->add_do_method(*edited_theme, "rename_theme_item", edit_item_data_type, edit_item_old_name, theme_item_name->get_text(), edited_item_type); + ur->add_undo_method(*edited_theme, "rename_theme_item", edit_item_data_type, theme_item_name->get_text(), edit_item_old_name, edited_item_type); + + ur->add_do_method(this, "_update_edit_item_tree", edited_item_type); + ur->add_undo_method(this, "_update_edit_item_tree", edited_item_type); + + ur->commit_action(); } item_popup_mode = ITEM_POPUP_MODE_MAX; edit_item_data_type = Theme::DATA_TYPE_MAX; edit_item_old_name = ""; - - _update_edit_item_tree(edited_item_type); } void ThemeItemEditorDialog::_edit_theme_item_gui_input(const Ref<InputEvent> &p_event) { @@ -1773,17 +1867,24 @@ void ThemeItemEditorDialog::_notification(int p_what) { } } +void ThemeItemEditorDialog::_bind_methods() { + ClassDB::bind_method(D_METHOD("_update_edit_types"), &ThemeItemEditorDialog::_update_edit_types); + ClassDB::bind_method(D_METHOD("_update_edit_item_tree"), &ThemeItemEditorDialog::_update_edit_item_tree); +} + void ThemeItemEditorDialog::set_edited_theme(const Ref<Theme> &p_theme) { edited_theme = p_theme; } -ThemeItemEditorDialog::ThemeItemEditorDialog() { +ThemeItemEditorDialog::ThemeItemEditorDialog(ThemeTypeEditor *p_theme_type_editor) { set_title(TTR("Manage Theme Items")); get_ok_button()->set_text(TTR("Close")); set_hide_on_ok(false); // Closing may require a confirmation in some cases. + theme_type_editor = p_theme_type_editor; + tc = memnew(TabContainer); - tc->set_tab_align(TabContainer::TabAlign::ALIGN_LEFT); + tc->set_tab_alignment(TabContainer::ALIGNMENT_LEFT); add_child(tc); // Edit Items tab. @@ -1909,8 +2010,8 @@ ThemeItemEditorDialog::ThemeItemEditorDialog() { edit_items_message = memnew(Label); edit_items_message->set_anchors_and_offsets_preset(Control::PRESET_WIDE); edit_items_message->set_mouse_filter(Control::MOUSE_FILTER_STOP); - edit_items_message->set_align(Label::ALIGN_CENTER); - edit_items_message->set_valign(Label::VALIGN_CENTER); + edit_items_message->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); + edit_items_message->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER); edit_items_message->set_autowrap_mode(Label::AUTOWRAP_WORD); edit_items_tree->add_child(edit_items_message); @@ -1996,7 +2097,7 @@ void ThemeTypeDialog::_dialog_about_to_show() { } void ThemeTypeDialog::ok_pressed() { - emit_signal(SNAME("type_selected"), add_type_filter->get_text().strip_edges()); + _add_type_selected(add_type_filter->get_text().strip_edges()); } void ThemeTypeDialog::_update_add_type_options(const String &p_filter) { @@ -2042,12 +2143,25 @@ void ThemeTypeDialog::_add_type_options_cbk(int p_index) { } void ThemeTypeDialog::_add_type_dialog_entered(const String &p_value) { - emit_signal(SNAME("type_selected"), p_value.strip_edges()); - hide(); + _add_type_selected(p_value.strip_edges()); } void ThemeTypeDialog::_add_type_dialog_activated(int p_index) { - emit_signal(SNAME("type_selected"), add_type_options->get_item_text(p_index)); + _add_type_selected(add_type_options->get_item_text(p_index)); +} + +void ThemeTypeDialog::_add_type_selected(const String &p_type_name) { + pre_submitted_value = p_type_name; + if (p_type_name.is_empty()) { + add_type_confirmation->popup_centered(); + return; + } + + _add_type_confirmed(); +} + +void ThemeTypeDialog::_add_type_confirmed() { + emit_signal(SNAME("type_selected"), pre_submitted_value); hide(); } @@ -2082,11 +2196,13 @@ void ThemeTypeDialog::set_include_own_types(bool p_enable) { } ThemeTypeDialog::ThemeTypeDialog() { + set_hide_on_ok(false); + VBoxContainer *add_type_vb = memnew(VBoxContainer); add_child(add_type_vb); Label *add_type_filter_label = memnew(Label); - add_type_filter_label->set_text(TTR("Name:")); + add_type_filter_label->set_text(TTR("Filter the list of types or create a new custom type:")); add_type_vb->add_child(add_type_filter_label); add_type_filter = memnew(LineEdit); @@ -2095,7 +2211,7 @@ ThemeTypeDialog::ThemeTypeDialog() { add_type_filter->connect("text_submitted", callable_mp(this, &ThemeTypeDialog::_add_type_dialog_entered)); Label *add_type_options_label = memnew(Label); - add_type_options_label->set_text(TTR("Node Types:")); + add_type_options_label->set_text(TTR("Available Node-based types:")); add_type_vb->add_child(add_type_options_label); add_type_options = memnew(ItemList); @@ -2103,6 +2219,12 @@ ThemeTypeDialog::ThemeTypeDialog() { add_type_vb->add_child(add_type_options); add_type_options->connect("item_selected", callable_mp(this, &ThemeTypeDialog::_add_type_options_cbk)); add_type_options->connect("item_activated", callable_mp(this, &ThemeTypeDialog::_add_type_dialog_activated)); + + add_type_confirmation = memnew(ConfirmationDialog); + add_type_confirmation->set_title(TTR("Type name is empty!")); + add_type_confirmation->set_text(TTR("Are you sure you want to create an empty type?")); + add_type_confirmation->connect("confirmed", callable_mp(this, &ThemeTypeDialog::_add_type_confirmed)); + add_child(add_type_confirmation); } VBoxContainer *ThemeTypeEditor::_create_item_list(Theme::DataType p_data_type) { @@ -2113,7 +2235,7 @@ VBoxContainer *ThemeTypeEditor::_create_item_list(Theme::DataType p_data_type) { ScrollContainer *items_sc = memnew(ScrollContainer); items_sc->set_v_size_flags(SIZE_EXPAND_FILL); - items_sc->set_enable_h_scroll(false); + items_sc->set_horizontal_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED); items_tab->add_child(items_sc); VBoxContainer *items_list = memnew(VBoxContainer); items_list->set_h_size_flags(SIZE_EXPAND_FILL); @@ -2519,11 +2641,11 @@ void ThemeTypeEditor::_update_type_items() { pin_leader_button->set_icon(get_theme_icon(SNAME("Pin"), SNAME("EditorIcons"))); pin_leader_button->set_tooltip(TTR("Unpin this StyleBox as a main style.")); item_control->add_child(pin_leader_button); - pin_leader_button->connect("pressed", callable_mp(this, &ThemeTypeEditor::_unpin_leading_stylebox)); + pin_leader_button->connect("pressed", callable_mp(this, &ThemeTypeEditor::_on_unpin_leader_button_pressed)); item_control->add_child(item_editor); - if (leading_stylebox.stylebox.is_valid()) { + if (edited_theme->has_stylebox(leading_stylebox.item_name, edited_type)) { item_editor->set_edited_resource(leading_stylebox.stylebox); } else { item_editor->set_edited_resource(RES()); @@ -2548,10 +2670,8 @@ void ThemeTypeEditor::_update_type_items() { item_editor->set_base_type("StyleBox"); if (E.get()) { - Ref<StyleBox> stylebox_value; if (edited_theme->has_stylebox(E.key(), edited_type)) { - stylebox_value = edited_theme->get_stylebox(E.key(), edited_type); - item_editor->set_edited_resource(stylebox_value); + item_editor->set_edited_resource(edited_theme->get_stylebox(E.key(), edited_type)); } else { item_editor->set_edited_resource(RES()); } @@ -2564,7 +2684,7 @@ void ThemeTypeEditor::_update_type_items() { pin_leader_button->set_icon(get_theme_icon(SNAME("Pin"), SNAME("EditorIcons"))); pin_leader_button->set_tooltip(TTR("Pin this StyleBox as a main style. Editing its properties will update the same properties in all other StyleBoxes of this type.")); item_control->add_child(pin_leader_button); - pin_leader_button->connect("pressed", callable_mp(this, &ThemeTypeEditor::_pin_leading_stylebox), varray(item_editor, E.key())); + pin_leader_button->connect("pressed", callable_mp(this, &ThemeTypeEditor::_on_pin_leader_button_pressed), varray(item_editor, E.key())); } else { if (Theme::get_default()->has_stylebox(E.key(), edited_type)) { item_editor->set_edited_resource(Theme::get_default()->get_stylebox(E.key(), edited_type)); @@ -2581,11 +2701,11 @@ void ThemeTypeEditor::_update_type_items() { } // Various type settings. - if (ClassDB::class_exists(edited_type)) { + if (edited_type.is_empty() || ClassDB::class_exists(edited_type)) { type_variation_edit->set_editable(false); type_variation_edit->set_text(""); type_variation_button->hide(); - type_variation_locked->show(); + type_variation_locked->set_visible(!edited_type.is_empty()); } else { type_variation_edit->set_editable(true); type_variation_edit->set_text(edited_theme->get_type_variation_base(edited_type)); @@ -2603,6 +2723,7 @@ void ThemeTypeEditor::_list_type_selected(int p_index) { void ThemeTypeEditor::_add_type_button_cbk() { add_type_mode = ADD_THEME_TYPE; add_type_dialog->set_title(TTR("Add Item Type")); + add_type_dialog->get_ok_button()->set_text(TTR("Add Type")); add_type_dialog->set_include_own_types(false); add_type_dialog->popup_centered(Size2(560, 420) * EDSCALE); } @@ -2614,16 +2735,17 @@ void ThemeTypeEditor::_add_default_type_items() { default_type = edited_theme->get_type_variation_base(edited_type); } + Ref<Theme> old_snapshot = edited_theme->duplicate(); + Ref<Theme> new_snapshot = edited_theme->duplicate(); + updating = true; - // Prevent changes from immediately being reported while the operation is still ongoing. - edited_theme->_freeze_change_propagation(); { names.clear(); Theme::get_default()->get_icon_list(default_type, &names); for (const StringName &E : names) { - if (!edited_theme->has_icon(E, edited_type)) { - edited_theme->set_icon(E, edited_type, Ref<Texture2D>()); + if (!new_snapshot->has_icon(E, edited_type)) { + new_snapshot->set_icon(E, edited_type, Theme::get_default()->get_icon(E, edited_type)); } } } @@ -2631,8 +2753,8 @@ void ThemeTypeEditor::_add_default_type_items() { names.clear(); Theme::get_default()->get_stylebox_list(default_type, &names); for (const StringName &E : names) { - if (!edited_theme->has_stylebox(E, edited_type)) { - edited_theme->set_stylebox(E, edited_type, Ref<StyleBox>()); + if (!new_snapshot->has_stylebox(E, edited_type)) { + new_snapshot->set_stylebox(E, edited_type, Theme::get_default()->get_stylebox(E, edited_type)); } } } @@ -2640,8 +2762,8 @@ void ThemeTypeEditor::_add_default_type_items() { names.clear(); Theme::get_default()->get_font_list(default_type, &names); for (const StringName &E : names) { - if (!edited_theme->has_font(E, edited_type)) { - edited_theme->set_font(E, edited_type, Ref<Font>()); + if (!new_snapshot->has_font(E, edited_type)) { + new_snapshot->set_font(E, edited_type, Theme::get_default()->get_font(E, edited_type)); } } } @@ -2649,8 +2771,8 @@ void ThemeTypeEditor::_add_default_type_items() { names.clear(); Theme::get_default()->get_font_size_list(default_type, &names); for (const StringName &E : names) { - if (!edited_theme->has_font_size(E, edited_type)) { - edited_theme->set_font_size(E, edited_type, Theme::get_default()->get_font_size(E, default_type)); + if (!new_snapshot->has_font_size(E, edited_type)) { + new_snapshot->set_font_size(E, edited_type, Theme::get_default()->get_font_size(E, edited_type)); } } } @@ -2658,8 +2780,8 @@ void ThemeTypeEditor::_add_default_type_items() { names.clear(); Theme::get_default()->get_color_list(default_type, &names); for (const StringName &E : names) { - if (!edited_theme->has_color(E, edited_type)) { - edited_theme->set_color(E, edited_type, Theme::get_default()->get_color(E, default_type)); + if (!new_snapshot->has_color(E, edited_type)) { + new_snapshot->set_color(E, edited_type, Theme::get_default()->get_color(E, edited_type)); } } } @@ -2667,17 +2789,25 @@ void ThemeTypeEditor::_add_default_type_items() { names.clear(); Theme::get_default()->get_constant_list(default_type, &names); for (const StringName &E : names) { - if (!edited_theme->has_constant(E, edited_type)) { - edited_theme->set_constant(E, edited_type, Theme::get_default()->get_constant(E, default_type)); + if (!new_snapshot->has_constant(E, edited_type)) { + new_snapshot->set_constant(E, edited_type, Theme::get_default()->get_constant(E, edited_type)); } } } - // Allow changes to be reported now that the operation is finished. - edited_theme->_unfreeze_and_propagate_changes(); updating = false; - _update_type_items(); + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Override All Default Theme Items")); + + ur->add_do_method(*edited_theme, "merge_with", new_snapshot); + ur->add_undo_method(*edited_theme, "clear"); + ur->add_undo_method(*edited_theme, "merge_with", old_snapshot); + + ur->add_do_method(this, "_update_type_items"); + ur->add_undo_method(this, "_update_type_items"); + + ur->commit_action(); } void ThemeTypeEditor::_item_add_cbk(int p_data_type, Control *p_control) { @@ -2687,27 +2817,43 @@ void ThemeTypeEditor::_item_add_cbk(int p_data_type, Control *p_control) { } String item_name = le->get_text().strip_edges(); + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Add Theme Item")); + switch (p_data_type) { case Theme::DATA_TYPE_COLOR: { - edited_theme->set_color(item_name, edited_type, Color()); + ur->add_do_method(*edited_theme, "set_color", item_name, edited_type, Color()); + ur->add_undo_method(*edited_theme, "clear_color", item_name, edited_type); } break; case Theme::DATA_TYPE_CONSTANT: { - edited_theme->set_constant(item_name, edited_type, 0); + ur->add_do_method(*edited_theme, "set_constant", item_name, edited_type, 0); + ur->add_undo_method(*edited_theme, "clear_constant", item_name, edited_type); } break; case Theme::DATA_TYPE_FONT: { - edited_theme->set_font(item_name, edited_type, Ref<Font>()); + ur->add_do_method(*edited_theme, "set_font", item_name, edited_type, Ref<Font>()); + ur->add_undo_method(*edited_theme, "clear_font", item_name, edited_type); } break; case Theme::DATA_TYPE_FONT_SIZE: { - edited_theme->set_font_size(item_name, edited_type, -1); + ur->add_do_method(*edited_theme, "set_font_size", item_name, edited_type, -1); + ur->add_undo_method(*edited_theme, "clear_font_size", item_name, edited_type); } break; case Theme::DATA_TYPE_ICON: { - edited_theme->set_icon(item_name, edited_type, Ref<Texture2D>()); + ur->add_do_method(*edited_theme, "set_icon", item_name, edited_type, Ref<Texture2D>()); + ur->add_undo_method(*edited_theme, "clear_icon", item_name, edited_type); } break; case Theme::DATA_TYPE_STYLEBOX: { - edited_theme->set_stylebox(item_name, edited_type, Ref<StyleBox>()); + Ref<StyleBox> sb; + ur->add_do_method(*edited_theme, "set_stylebox", item_name, edited_type, sb); + ur->add_undo_method(*edited_theme, "clear_stylebox", item_name, edited_type); + + if (is_stylebox_pinned(sb)) { + ur->add_undo_method(this, "_unpin_leading_stylebox"); + } } break; } + ur->commit_action(); + le->set_text(""); } @@ -2716,53 +2862,94 @@ void ThemeTypeEditor::_item_add_lineedit_cbk(String p_value, int p_data_type, Co } void ThemeTypeEditor::_item_override_cbk(int p_data_type, String p_item_name) { + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Override Theme Item")); + switch (p_data_type) { case Theme::DATA_TYPE_COLOR: { - edited_theme->set_color(p_item_name, edited_type, Theme::get_default()->get_color(p_item_name, edited_type)); + ur->add_do_method(*edited_theme, "set_color", p_item_name, edited_type, Theme::get_default()->get_color(p_item_name, edited_type)); + ur->add_undo_method(*edited_theme, "clear_color", p_item_name, edited_type); } break; case Theme::DATA_TYPE_CONSTANT: { - edited_theme->set_constant(p_item_name, edited_type, Theme::get_default()->get_constant(p_item_name, edited_type)); + ur->add_do_method(*edited_theme, "set_constant", p_item_name, edited_type, Theme::get_default()->get_constant(p_item_name, edited_type)); + ur->add_undo_method(*edited_theme, "clear_constant", p_item_name, edited_type); } break; case Theme::DATA_TYPE_FONT: { - edited_theme->set_font(p_item_name, edited_type, Ref<Font>()); + ur->add_do_method(*edited_theme, "set_font", p_item_name, edited_type, Ref<Font>()); + ur->add_undo_method(*edited_theme, "clear_font", p_item_name, edited_type); } break; case Theme::DATA_TYPE_FONT_SIZE: { - edited_theme->set_font_size(p_item_name, edited_type, Theme::get_default()->get_font_size(p_item_name, edited_type)); + ur->add_do_method(*edited_theme, "set_font_size", p_item_name, edited_type, Theme::get_default()->get_font_size(p_item_name, edited_type)); + ur->add_undo_method(*edited_theme, "clear_font_size", p_item_name, edited_type); } break; case Theme::DATA_TYPE_ICON: { - edited_theme->set_icon(p_item_name, edited_type, Ref<Texture2D>()); + ur->add_do_method(*edited_theme, "set_icon", p_item_name, edited_type, Ref<Texture2D>()); + ur->add_undo_method(*edited_theme, "clear_icon", p_item_name, edited_type); } break; case Theme::DATA_TYPE_STYLEBOX: { - edited_theme->set_stylebox(p_item_name, edited_type, Ref<StyleBox>()); + Ref<StyleBox> sb; + ur->add_do_method(*edited_theme, "set_stylebox", p_item_name, edited_type, sb); + ur->add_undo_method(*edited_theme, "clear_stylebox", p_item_name, edited_type); + + if (is_stylebox_pinned(sb)) { + ur->add_undo_method(this, "_unpin_leading_stylebox"); + } } break; } + + ur->commit_action(); } void ThemeTypeEditor::_item_remove_cbk(int p_data_type, String p_item_name) { + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Remove Theme Item")); + switch (p_data_type) { case Theme::DATA_TYPE_COLOR: { - edited_theme->clear_color(p_item_name, edited_type); + ur->add_do_method(*edited_theme, "clear_color", p_item_name, edited_type); + ur->add_undo_method(*edited_theme, "set_color", p_item_name, edited_type, edited_theme->get_color(p_item_name, edited_type)); } break; case Theme::DATA_TYPE_CONSTANT: { - edited_theme->clear_constant(p_item_name, edited_type); + ur->add_do_method(*edited_theme, "clear_constant", p_item_name, edited_type); + ur->add_undo_method(*edited_theme, "set_constant", p_item_name, edited_type, edited_theme->get_constant(p_item_name, edited_type)); } break; case Theme::DATA_TYPE_FONT: { - edited_theme->clear_font(p_item_name, edited_type); + ur->add_do_method(*edited_theme, "clear_font", p_item_name, edited_type); + if (edited_theme->has_font(p_item_name, edited_type)) { + ur->add_undo_method(*edited_theme, "set_font", p_item_name, edited_type, edited_theme->get_font(p_item_name, edited_type)); + } else { + ur->add_undo_method(*edited_theme, "set_font", p_item_name, edited_type, Ref<Font>()); + } } break; case Theme::DATA_TYPE_FONT_SIZE: { - edited_theme->clear_font_size(p_item_name, edited_type); + ur->add_do_method(*edited_theme, "clear_font_size", p_item_name, edited_type); + ur->add_undo_method(*edited_theme, "set_font_size", p_item_name, edited_type, edited_theme->get_font_size(p_item_name, edited_type)); } break; case Theme::DATA_TYPE_ICON: { - edited_theme->clear_icon(p_item_name, edited_type); + ur->add_do_method(*edited_theme, "clear_icon", p_item_name, edited_type); + if (edited_theme->has_icon(p_item_name, edited_type)) { + ur->add_undo_method(*edited_theme, "set_icon", p_item_name, edited_type, edited_theme->get_icon(p_item_name, edited_type)); + } else { + ur->add_undo_method(*edited_theme, "set_icon", p_item_name, edited_type, Ref<Texture2D>()); + } } break; case Theme::DATA_TYPE_STYLEBOX: { - edited_theme->clear_stylebox(p_item_name, edited_type); + Ref<StyleBox> sb = edited_theme->get_stylebox(p_item_name, edited_type); + ur->add_do_method(*edited_theme, "clear_stylebox", p_item_name, edited_type); + if (edited_theme->has_stylebox(p_item_name, edited_type)) { + ur->add_undo_method(*edited_theme, "set_stylebox", p_item_name, edited_type, sb); + } else { + ur->add_undo_method(*edited_theme, "set_stylebox", p_item_name, edited_type, Ref<StyleBox>()); + } - if (leading_stylebox.pinned && leading_stylebox.item_name == p_item_name) { - _unpin_leading_stylebox(); + if (is_stylebox_pinned(sb)) { + ur->add_do_method(this, "_unpin_leading_stylebox"); + ur->add_undo_method(this, "_pin_leading_stylebox", p_item_name, sb); } } break; } + + ur->commit_action(); } void ThemeTypeEditor::_item_rename_cbk(int p_data_type, String p_item_name, Control *p_control) { @@ -2792,30 +2979,41 @@ void ThemeTypeEditor::_item_rename_confirmed(int p_data_type, String p_item_name return; } + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Rename Theme Item")); + switch (p_data_type) { case Theme::DATA_TYPE_COLOR: { - edited_theme->rename_color(p_item_name, new_name, edited_type); + ur->add_do_method(*edited_theme, "rename_color", p_item_name, new_name, edited_type); + ur->add_undo_method(*edited_theme, "rename_color", new_name, p_item_name, edited_type); } break; case Theme::DATA_TYPE_CONSTANT: { - edited_theme->rename_constant(p_item_name, new_name, edited_type); + ur->add_do_method(*edited_theme, "rename_constant", p_item_name, new_name, edited_type); + ur->add_undo_method(*edited_theme, "rename_constant", new_name, p_item_name, edited_type); } break; case Theme::DATA_TYPE_FONT: { - edited_theme->rename_font(p_item_name, new_name, edited_type); + ur->add_do_method(*edited_theme, "rename_font", p_item_name, new_name, edited_type); + ur->add_undo_method(*edited_theme, "rename_font", new_name, p_item_name, edited_type); } break; case Theme::DATA_TYPE_FONT_SIZE: { - edited_theme->rename_font_size(p_item_name, new_name, edited_type); + ur->add_do_method(*edited_theme, "rename_font_size", p_item_name, new_name, edited_type); + ur->add_undo_method(*edited_theme, "rename_font_size", new_name, p_item_name, edited_type); } break; case Theme::DATA_TYPE_ICON: { - edited_theme->rename_icon(p_item_name, new_name, edited_type); + ur->add_do_method(*edited_theme, "rename_icon", p_item_name, new_name, edited_type); + ur->add_undo_method(*edited_theme, "rename_icon", new_name, p_item_name, edited_type); } break; case Theme::DATA_TYPE_STYLEBOX: { - edited_theme->rename_stylebox(p_item_name, new_name, edited_type); + ur->add_do_method(*edited_theme, "rename_stylebox", p_item_name, new_name, edited_type); + ur->add_undo_method(*edited_theme, "rename_stylebox", new_name, p_item_name, edited_type); if (leading_stylebox.pinned && leading_stylebox.item_name == p_item_name) { leading_stylebox.item_name = new_name; } } break; } + + ur->commit_action(); } void ThemeTypeEditor::_item_rename_entered(String p_value, int p_data_type, String p_item_name, Control *p_control) { @@ -2837,15 +3035,27 @@ void ThemeTypeEditor::_item_rename_canceled(int p_data_type, String p_item_name, } void ThemeTypeEditor::_color_item_changed(Color p_value, String p_item_name) { - edited_theme->set_color(p_item_name, edited_type, p_value); + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Set Color Item in Theme"), UndoRedo::MERGE_ENDS); + ur->add_do_method(*edited_theme, "set_color", p_item_name, edited_type, p_value); + ur->add_undo_method(*edited_theme, "set_color", p_item_name, edited_type, edited_theme->get_color(p_item_name, edited_type)); + ur->commit_action(); } void ThemeTypeEditor::_constant_item_changed(float p_value, String p_item_name) { - edited_theme->set_constant(p_item_name, edited_type, int(p_value)); + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Set Constant Item in Theme")); + ur->add_do_method(*edited_theme, "set_constant", p_item_name, edited_type, p_value); + ur->add_undo_method(*edited_theme, "set_constant", p_item_name, edited_type, edited_theme->get_constant(p_item_name, edited_type)); + ur->commit_action(); } void ThemeTypeEditor::_font_size_item_changed(float p_value, String p_item_name) { - edited_theme->set_font_size(p_item_name, edited_type, int(p_value)); + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Set Font Size Item in Theme")); + ur->add_do_method(*edited_theme, "set_font_size", p_item_name, edited_type, p_value); + ur->add_undo_method(*edited_theme, "set_font_size", p_item_name, edited_type, edited_theme->get_font_size(p_item_name, edited_type)); + ur->commit_action(); } void ThemeTypeEditor::_edit_resource_item(RES p_resource, bool p_edit) { @@ -2853,53 +3063,123 @@ void ThemeTypeEditor::_edit_resource_item(RES p_resource, bool p_edit) { } void ThemeTypeEditor::_font_item_changed(Ref<Font> p_value, String p_item_name) { - edited_theme->set_font(p_item_name, edited_type, p_value); + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Set Font Item in Theme")); + + ur->add_do_method(*edited_theme, "set_font", p_item_name, edited_type, p_value.is_valid() ? p_value : Ref<Font>()); + if (edited_theme->has_font(p_item_name, edited_type)) { + ur->add_undo_method(*edited_theme, "set_font", p_item_name, edited_type, edited_theme->get_font(p_item_name, edited_type)); + } else { + ur->add_undo_method(*edited_theme, "set_font", p_item_name, edited_type, Ref<Font>()); + } + + ur->add_do_method(this, "call_deferred", "_update_type_items"); + ur->add_undo_method(this, "call_deferred", "_update_type_items"); + + ur->commit_action(); } void ThemeTypeEditor::_icon_item_changed(Ref<Texture2D> p_value, String p_item_name) { - edited_theme->set_icon(p_item_name, edited_type, p_value); + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Set Icon Item in Theme")); + + ur->add_do_method(*edited_theme, "set_icon", p_item_name, edited_type, p_value.is_valid() ? p_value : Ref<Texture2D>()); + if (edited_theme->has_icon(p_item_name, edited_type)) { + ur->add_undo_method(*edited_theme, "set_icon", p_item_name, edited_type, edited_theme->get_icon(p_item_name, edited_type)); + } else { + ur->add_undo_method(*edited_theme, "set_icon", p_item_name, edited_type, Ref<Texture2D>()); + } + + ur->add_do_method(this, "call_deferred", "_update_type_items"); + ur->add_undo_method(this, "call_deferred", "_update_type_items"); + + ur->commit_action(); } void ThemeTypeEditor::_stylebox_item_changed(Ref<StyleBox> p_value, String p_item_name) { - edited_theme->set_stylebox(p_item_name, edited_type, p_value); + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Set Stylebox Item in Theme")); + + ur->add_do_method(*edited_theme, "set_stylebox", p_item_name, edited_type, p_value.is_valid() ? p_value : Ref<StyleBox>()); + if (edited_theme->has_stylebox(p_item_name, edited_type)) { + ur->add_undo_method(*edited_theme, "set_stylebox", p_item_name, edited_type, edited_theme->get_stylebox(p_item_name, edited_type)); + } else { + ur->add_undo_method(*edited_theme, "set_stylebox", p_item_name, edited_type, Ref<StyleBox>()); + } + + ur->add_do_method(this, "_change_pinned_stylebox"); + ur->add_undo_method(this, "_change_pinned_stylebox"); - if (leading_stylebox.pinned && leading_stylebox.item_name == p_item_name) { + ur->add_do_method(this, "call_deferred", "_update_type_items"); + ur->add_undo_method(this, "call_deferred", "_update_type_items"); + + ur->commit_action(); +} + +void ThemeTypeEditor::_change_pinned_stylebox() { + if (leading_stylebox.pinned) { if (leading_stylebox.stylebox.is_valid()) { leading_stylebox.stylebox->disconnect("changed", callable_mp(this, &ThemeTypeEditor::_update_stylebox_from_leading)); } - leading_stylebox.stylebox = p_value; - leading_stylebox.ref_stylebox = (p_value.is_valid() ? p_value->duplicate() : RES()); - if (p_value.is_valid()) { - leading_stylebox.stylebox->connect("changed", callable_mp(this, &ThemeTypeEditor::_update_stylebox_from_leading)); - } - } -} + Ref<StyleBox> new_stylebox = edited_theme->get_stylebox(leading_stylebox.item_name, edited_type); + leading_stylebox.stylebox = new_stylebox; + leading_stylebox.ref_stylebox = (new_stylebox.is_valid() ? new_stylebox->duplicate() : RES()); -void ThemeTypeEditor::_pin_leading_stylebox(Control *p_editor, String p_item_name) { - if (leading_stylebox.stylebox.is_valid()) { + if (leading_stylebox.stylebox.is_valid()) { + new_stylebox->connect("changed", callable_mp(this, &ThemeTypeEditor::_update_stylebox_from_leading)); + } + } else if (leading_stylebox.stylebox.is_valid()) { leading_stylebox.stylebox->disconnect("changed", callable_mp(this, &ThemeTypeEditor::_update_stylebox_from_leading)); } +} +void ThemeTypeEditor::_on_pin_leader_button_pressed(Control *p_editor, String p_item_name) { Ref<StyleBox> stylebox; if (Object::cast_to<EditorResourcePicker>(p_editor)) { stylebox = Object::cast_to<EditorResourcePicker>(p_editor)->get_edited_resource(); } + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Pin Stylebox")); + ur->add_do_method(this, "_pin_leading_stylebox", p_item_name, stylebox); + + if (leading_stylebox.pinned) { + ur->add_undo_method(this, "_pin_leading_stylebox", leading_stylebox.item_name, leading_stylebox.stylebox); + } else { + ur->add_undo_method(this, "_unpin_leading_stylebox"); + } + + ur->commit_action(); +} + +void ThemeTypeEditor::_pin_leading_stylebox(String p_item_name, Ref<StyleBox> p_stylebox) { + if (leading_stylebox.stylebox.is_valid()) { + leading_stylebox.stylebox->disconnect("changed", callable_mp(this, &ThemeTypeEditor::_update_stylebox_from_leading)); + } + LeadingStylebox leader; leader.pinned = true; leader.item_name = p_item_name; - leader.stylebox = stylebox; - leader.ref_stylebox = (stylebox.is_valid() ? stylebox->duplicate() : RES()); + leader.stylebox = p_stylebox; + leader.ref_stylebox = (p_stylebox.is_valid() ? p_stylebox->duplicate() : RES()); leading_stylebox = leader; - if (leading_stylebox.stylebox.is_valid()) { - leading_stylebox.stylebox->connect("changed", callable_mp(this, &ThemeTypeEditor::_update_stylebox_from_leading)); + if (p_stylebox.is_valid()) { + p_stylebox->connect("changed", callable_mp(this, &ThemeTypeEditor::_update_stylebox_from_leading)); } _update_type_items(); } +void ThemeTypeEditor::_on_unpin_leader_button_pressed() { + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Unpin Stylebox")); + ur->add_do_method(this, "_unpin_leading_stylebox"); + ur->add_undo_method(this, "_pin_leading_stylebox", leading_stylebox.item_name, leading_stylebox.stylebox); + ur->commit_action(); +} + void ThemeTypeEditor::_unpin_leading_stylebox() { if (leading_stylebox.stylebox.is_valid()) { leading_stylebox.stylebox->disconnect("changed", callable_mp(this, &ThemeTypeEditor::_update_stylebox_from_leading)); @@ -2960,16 +3240,28 @@ void ThemeTypeEditor::_update_stylebox_from_leading() { } void ThemeTypeEditor::_type_variation_changed(const String p_value) { + UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo(); + ur->create_action(TTR("Set Theme Type Variation")); + if (p_value.is_empty()) { - edited_theme->clear_type_variation(edited_type); + ur->add_do_method(*edited_theme, "clear_type_variation", edited_type); + } else { + ur->add_do_method(*edited_theme, "set_type_variation", edited_type, StringName(p_value)); + } + + if (edited_theme->get_type_variation_base(edited_type) == "") { + ur->add_undo_method(*edited_theme, "clear_type_variation", edited_type); } else { - edited_theme->set_type_variation(edited_type, StringName(p_value)); + ur->add_undo_method(*edited_theme, "set_type_variation", edited_type, edited_theme->get_type_variation_base(edited_type)); } + + ur->commit_action(); } void ThemeTypeEditor::_add_type_variation_cbk() { add_type_mode = ADD_VARIATION_BASE; - add_type_dialog->set_title(TTR("Add Variation Base Type")); + add_type_dialog->set_title(TTR("Set Variation Base Type")); + add_type_dialog->get_ok_button()->set_text(TTR("Set Base Type")); add_type_dialog->set_include_own_types(true); add_type_dialog->popup_centered(Size2(560, 420) * EDSCALE); } @@ -2979,7 +3271,6 @@ void ThemeTypeEditor::_add_type_dialog_selected(const String p_type_name) { select_type(p_type_name); } else if (add_type_mode == ADD_VARIATION_BASE) { _type_variation_changed(p_type_name); - _update_type_items(); } } @@ -3005,6 +3296,13 @@ void ThemeTypeEditor::_notification(int p_what) { } } +void ThemeTypeEditor::_bind_methods() { + ClassDB::bind_method(D_METHOD("_update_type_items"), &ThemeTypeEditor::_update_type_items); + ClassDB::bind_method(D_METHOD("_pin_leading_stylebox"), &ThemeTypeEditor::_pin_leading_stylebox); + ClassDB::bind_method(D_METHOD("_unpin_leading_stylebox"), &ThemeTypeEditor::_unpin_leading_stylebox); + ClassDB::bind_method(D_METHOD("_change_pinned_stylebox"), &ThemeTypeEditor::_change_pinned_stylebox); +} + void ThemeTypeEditor::set_edited_theme(const Ref<Theme> &p_theme) { if (edited_theme.is_valid()) { edited_theme->disconnect("changed", callable_mp(this, &ThemeTypeEditor::_update_type_list_debounced)); @@ -3044,6 +3342,10 @@ void ThemeTypeEditor::select_type(String p_type_name) { } } +bool ThemeTypeEditor::is_stylebox_pinned(Ref<StyleBox> p_stylebox) { + return leading_stylebox.pinned && leading_stylebox.stylebox == p_stylebox; +} + ThemeTypeEditor::ThemeTypeEditor() { VBoxContainer *main_vb = memnew(VBoxContainer); add_child(main_vb); @@ -3102,7 +3404,7 @@ ThemeTypeEditor::ThemeTypeEditor() { ScrollContainer *type_settings_sc = memnew(ScrollContainer); type_settings_sc->set_v_size_flags(SIZE_EXPAND_FILL); - type_settings_sc->set_enable_h_scroll(false); + type_settings_sc->set_horizontal_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED); type_settings_tab->add_child(type_settings_sc); VBoxContainer *type_settings_list = memnew(VBoxContainer); type_settings_list->set_h_size_flags(SIZE_EXPAND_FILL); @@ -3129,7 +3431,7 @@ ThemeTypeEditor::ThemeTypeEditor() { type_variation_locked = memnew(Label); type_variation_vb->add_child(type_variation_locked); - type_variation_locked->set_align(Label::ALIGN_CENTER); + type_variation_locked->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); type_variation_locked->set_autowrap_mode(Label::AUTOWRAP_WORD); type_variation_locked->set_text(TTR("A type associated with a built-in class cannot be marked as a variation of another type.")); type_variation_locked->hide(); @@ -3308,7 +3610,9 @@ ThemeEditor::ThemeEditor() { theme_edit_button->connect("pressed", callable_mp(this, &ThemeEditor::_theme_edit_button_cbk)); top_menu->add_child(theme_edit_button); - theme_edit_dialog = memnew(ThemeItemEditorDialog); + theme_type_editor = memnew(ThemeTypeEditor); + + theme_edit_dialog = memnew(ThemeItemEditorDialog(theme_type_editor)); theme_edit_dialog->hide(); top_menu->add_child(theme_edit_dialog); @@ -3329,7 +3633,7 @@ ThemeEditor::ThemeEditor() { preview_tabs_vb->add_child(preview_tabs_content); preview_tabs = memnew(TabBar); - preview_tabs->set_tab_align(TabBar::ALIGN_LEFT); + preview_tabs->set_tab_alignment(TabBar::ALIGNMENT_LEFT); preview_tabs->set_h_size_flags(SIZE_EXPAND_FILL); preview_tabbar_hb->add_child(preview_tabs); preview_tabs->connect("tab_changed", callable_mp(this, &ThemeEditor::_change_preview_tab)); @@ -3358,7 +3662,6 @@ ThemeEditor::ThemeEditor() { main_hs->add_child(preview_scene_dialog); preview_scene_dialog->connect("file_selected", callable_mp(this, &ThemeEditor::_preview_scene_dialog_cbk)); - theme_type_editor = memnew(ThemeTypeEditor); main_hs->add_child(theme_type_editor); theme_type_editor->set_custom_minimum_size(Size2(280, 0) * EDSCALE); } diff --git a/editor/plugins/theme_editor_plugin.h b/editor/plugins/theme_editor_plugin.h index f5ad577aff..4c6b16a68c 100644 --- a/editor/plugins/theme_editor_plugin.h +++ b/editor/plugins/theme_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -31,6 +31,7 @@ #ifndef THEME_EDITOR_PLUGIN_H #define THEME_EDITOR_PLUGIN_H +#include "scene/gui/dialogs.h" #include "scene/gui/margin_container.h" #include "scene/gui/option_button.h" #include "scene/gui/scroll_container.h" @@ -176,9 +177,13 @@ public: ThemeItemImportTree(); }; +class ThemeTypeEditor; + class ThemeItemEditorDialog : public AcceptDialog { GDCLASS(ThemeItemEditorDialog, AcceptDialog); + ThemeTypeEditor *theme_type_editor; + Ref<Theme> edited_theme; TabContainer *tc; @@ -257,11 +262,12 @@ class ThemeItemEditorDialog : public AcceptDialog { protected: void _notification(int p_what); + static void _bind_methods(); public: void set_edited_theme(const Ref<Theme> &p_theme); - ThemeItemEditorDialog(); + ThemeItemEditorDialog(ThemeTypeEditor *p_theme_editor); }; class ThemeTypeDialog : public ConfirmationDialog { @@ -270,8 +276,11 @@ class ThemeTypeDialog : public ConfirmationDialog { Ref<Theme> edited_theme; bool include_own_types = false; + String pre_submitted_value; + LineEdit *add_type_filter; ItemList *add_type_options; + ConfirmationDialog *add_type_confirmation; void _dialog_about_to_show(); void ok_pressed() override; @@ -283,6 +292,9 @@ class ThemeTypeDialog : public ConfirmationDialog { void _add_type_dialog_entered(const String &p_value); void _add_type_dialog_activated(int p_index); + void _add_type_selected(const String &p_type_name); + void _add_type_confirmed(); + protected: void _notification(int p_what); static void _bind_methods(); @@ -366,7 +378,10 @@ class ThemeTypeEditor : public MarginContainer { void _font_item_changed(Ref<Font> p_value, String p_item_name); void _icon_item_changed(Ref<Texture2D> p_value, String p_item_name); void _stylebox_item_changed(Ref<StyleBox> p_value, String p_item_name); - void _pin_leading_stylebox(Control *p_editor, String p_item_name); + void _change_pinned_stylebox(); + void _on_pin_leader_button_pressed(Control *p_editor, String p_item_name); + void _pin_leading_stylebox(String p_item_name, Ref<StyleBox> p_stylebox); + void _on_unpin_leader_button_pressed(); void _unpin_leading_stylebox(); void _update_stylebox_from_leading(); @@ -377,10 +392,12 @@ class ThemeTypeEditor : public MarginContainer { protected: void _notification(int p_what); + static void _bind_methods(); public: void set_edited_theme(const Ref<Theme> &p_theme); void select_type(String p_type_name); + bool is_stylebox_pinned(Ref<StyleBox> p_stylebox); ThemeTypeEditor(); }; diff --git a/editor/plugins/theme_editor_preview.cpp b/editor/plugins/theme_editor_preview.cpp index f13fcb005f..c4ef6e086d 100644 --- a/editor/plugins/theme_editor_preview.cpp +++ b/editor/plugins/theme_editor_preview.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -36,6 +36,8 @@ #include "editor/editor_scale.h" +constexpr double REFRESH_TIMER = 1.5; + void ThemeEditorPreview::set_preview_theme(const Ref<Theme> &p_theme) { preview_content->set_theme(p_theme); } @@ -47,7 +49,7 @@ void ThemeEditorPreview::add_preview_overlay(Control *p_overlay) { void ThemeEditorPreview::_propagate_redraw(Control *p_at) { p_at->notification(NOTIFICATION_THEME_CHANGED); - p_at->minimum_size_changed(); + p_at->update_minimum_size(); p_at->update(); for (int i = 0; i < p_at->get_child_count(); i++) { Control *a = Object::cast_to<Control>(p_at->get_child(i)); @@ -66,7 +68,7 @@ void ThemeEditorPreview::_refresh_interval() { } void ThemeEditorPreview::_preview_visibility_changed() { - set_process(is_visible()); + set_process(is_visible_in_tree()); } void ThemeEditorPreview::_picker_button_cbk() { @@ -136,7 +138,7 @@ void ThemeEditorPreview::_draw_picker_overlay() { Point2 label_pos = highlight_label_rect.position; label_pos.y += highlight_label_rect.size.y - margin_bottom; label_pos.x += margin_left; - picker_overlay->draw_string(theme_cache.preview_picker_font, label_pos, highlight_name, HALIGN_LEFT, -1, theme_cache.font_size); + picker_overlay->draw_string(theme_cache.preview_picker_font, label_pos, highlight_name, HORIZONTAL_ALIGNMENT_LEFT, -1, theme_cache.font_size); } } @@ -157,6 +159,7 @@ void ThemeEditorPreview::_gui_input_picker_overlay(const Ref<InputEvent> &p_even emit_signal(SNAME("control_picked"), theme_type); picker_button->set_pressed(false); picker_overlay->set_visible(false); + return; } } @@ -167,6 +170,9 @@ void ThemeEditorPreview::_gui_input_picker_overlay(const Ref<InputEvent> &p_even hovered_control = _find_hovered_control(preview_content, mp); picker_overlay->update(); } + + // Forward input to the scroll container underneath to allow scrolling. + preview_container->gui_input(p_event); } void ThemeEditorPreview::_reset_picker_overlay() { @@ -196,7 +202,7 @@ void ThemeEditorPreview::_notification(int p_what) { case NOTIFICATION_PROCESS: { time_left -= get_process_delta_time(); if (time_left < 0) { - time_left = 1.5; + time_left = REFRESH_TIMER; _refresh_interval(); } } break; @@ -223,9 +229,7 @@ ThemeEditorPreview::ThemeEditorPreview() { preview_body->set_v_size_flags(SIZE_EXPAND_FILL); add_child(preview_body); - ScrollContainer *preview_container = memnew(ScrollContainer); - preview_container->set_enable_v_scroll(true); - preview_container->set_enable_h_scroll(true); + preview_container = memnew(ScrollContainer); preview_body->add_child(preview_container); MarginContainer *preview_root = memnew(MarginContainer); @@ -363,7 +367,7 @@ DefaultThemeEditorPreview::DefaultThemeEditorPreview() { vhb->add_child(memnew(VSeparator)); VBoxContainer *hvb = memnew(VBoxContainer); vhb->add_child(hvb); - hvb->set_alignment(BoxContainer::ALIGN_CENTER); + hvb->set_alignment(BoxContainer::ALIGNMENT_CENTER); hvb->set_h_size_flags(SIZE_EXPAND_FILL); hvb->add_child(memnew(HSlider)); HScrollBar *hsb = memnew(HScrollBar); diff --git a/editor/plugins/theme_editor_preview.h b/editor/plugins/theme_editor_preview.h index f973119257..a509ae3c50 100644 --- a/editor/plugins/theme_editor_preview.h +++ b/editor/plugins/theme_editor_preview.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -55,6 +55,7 @@ class ThemeEditorPreview : public VBoxContainer { GDCLASS(ThemeEditorPreview, VBoxContainer); + ScrollContainer *preview_container; ColorRect *preview_bg; MarginContainer *preview_overlay; Control *picker_overlay; diff --git a/editor/plugins/tiles/atlas_merging_dialog.cpp b/editor/plugins/tiles/atlas_merging_dialog.cpp index efccac7b74..bf30b595fe 100644 --- a/editor/plugins/tiles/atlas_merging_dialog.cpp +++ b/editor/plugins/tiles/atlas_merging_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -309,8 +309,8 @@ AtlasMergingDialog::AtlasMergingDialog() { select_2_atlases_label = memnew(Label); select_2_atlases_label->set_h_size_flags(Control::SIZE_EXPAND_FILL); select_2_atlases_label->set_v_size_flags(Control::SIZE_EXPAND_FILL); - select_2_atlases_label->set_align(Label::ALIGN_CENTER); - select_2_atlases_label->set_valign(Label::VALIGN_CENTER); + select_2_atlases_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); + select_2_atlases_label->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER); select_2_atlases_label->set_text(TTR("Please select two atlases or more.")); atlas_merging_right_panel->add_child(select_2_atlases_label); diff --git a/editor/plugins/tiles/atlas_merging_dialog.h b/editor/plugins/tiles/atlas_merging_dialog.h index 7cb54bc17e..2ae94cf44a 100644 --- a/editor/plugins/tiles/atlas_merging_dialog.h +++ b/editor/plugins/tiles/atlas_merging_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tile_atlas_view.cpp b/editor/plugins/tiles/tile_atlas_view.cpp index 604143ef93..c85956991a 100644 --- a/editor/plugins/tiles/tile_atlas_view.cpp +++ b/editor/plugins/tiles/tile_atlas_view.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -616,7 +616,7 @@ TileAtlasView::TileAtlasView() { Label *base_tile_label = memnew(Label); base_tile_label->set_mouse_filter(Control::MOUSE_FILTER_PASS); base_tile_label->set_text(TTR("Base Tiles")); - base_tile_label->set_align(Label::ALIGN_CENTER); + base_tile_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); left_vbox->add_child(base_tile_label); base_tiles_root_control = memnew(Control); @@ -660,7 +660,7 @@ TileAtlasView::TileAtlasView() { Label *alternative_tiles_label = memnew(Label); alternative_tiles_label->set_mouse_filter(Control::MOUSE_FILTER_IGNORE); alternative_tiles_label->set_text(TTR("Alternative Tiles")); - alternative_tiles_label->set_align(Label::ALIGN_CENTER); + alternative_tiles_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); right_vbox->add_child(alternative_tiles_label); alternative_tiles_root_control = memnew(Control); diff --git a/editor/plugins/tiles/tile_atlas_view.h b/editor/plugins/tiles/tile_atlas_view.h index e1ca3eebee..ca7f083132 100644 --- a/editor/plugins/tiles/tile_atlas_view.h +++ b/editor/plugins/tiles/tile_atlas_view.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tile_data_editors.cpp b/editor/plugins/tiles/tile_data_editors.cpp index 44cf6b42bc..73fd62d2c4 100644 --- a/editor/plugins/tiles/tile_data_editors.cpp +++ b/editor/plugins/tiles/tile_data_editors.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -218,7 +218,7 @@ void GenericTilePolygonEditor::_base_control_draw() { int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label")); String text = multiple_polygon_mode ? vformat("%d:%d", tinted_polygon_index, tinted_point_index) : vformat("%d", tinted_point_index); Size2 text_size = font->get_string_size(text, font_size); - base_control->draw_string(font, xform.xform(polygons[tinted_polygon_index][tinted_point_index]) - text_size * 0.5, text, HALIGN_LEFT, -1, font_size, Color(1.0, 1.0, 1.0, 0.5)); + base_control->draw_string(font, xform.xform(polygons[tinted_polygon_index][tinted_point_index]) - text_size * 0.5, text, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, Color(1.0, 1.0, 1.0, 0.5)); } if (drag_type == DRAG_TYPE_CREATE_POINT) { @@ -1113,7 +1113,7 @@ void TileDataDefaultEditor::draw_over_tile(CanvasItem *p_canvas_item, Transform2 } Vector2 string_size = font->get_string_size(text, font_size); - p_canvas_item->draw_string(font, p_transform.get_origin() + Vector2i(-string_size.x / 2, string_size.y / 2), text, HALIGN_CENTER, string_size.x, font_size, color, 1, Color(0, 0, 0, 1)); + p_canvas_item->draw_string(font, p_transform.get_origin() + Vector2i(-string_size.x / 2, string_size.y / 2), text, HORIZONTAL_ALIGNMENT_CENTER, string_size.x, font_size, color, 1, Color(0, 0, 0, 1)); } } @@ -1700,7 +1700,7 @@ void TileDataTerrainsEditor::forward_draw_over_atlas(TileAtlasView *p_tile_atlas text = "-"; } Vector2 string_size = font->get_string_size(text, font_size); - p_canvas_item->draw_string(font, p_transform.xform(position) + Vector2i(-string_size.x / 2, string_size.y / 2), text, HALIGN_CENTER, string_size.x, font_size, color, 1, Color(0, 0, 0, 1)); + p_canvas_item->draw_string(font, p_transform.xform(position) + Vector2i(-string_size.x / 2, string_size.y / 2), text, HORIZONTAL_ALIGNMENT_CENTER, string_size.x, font_size, color, 1, Color(0, 0, 0, 1)); } } } @@ -1876,7 +1876,7 @@ void TileDataTerrainsEditor::forward_draw_over_alternatives(TileAtlasView *p_til text = "-"; } Vector2 string_size = font->get_string_size(text, font_size); - p_canvas_item->draw_string(font, p_transform.xform(position) + Vector2i(-string_size.x / 2, string_size.y / 2), text, HALIGN_CENTER, string_size.x, font_size, color, 1, Color(0, 0, 0, 1)); + p_canvas_item->draw_string(font, p_transform.xform(position) + Vector2i(-string_size.x / 2, string_size.y / 2), text, HORIZONTAL_ALIGNMENT_CENTER, string_size.x, font_size, color, 1, Color(0, 0, 0, 1)); } } } diff --git a/editor/plugins/tiles/tile_data_editors.h b/editor/plugins/tiles/tile_data_editors.h index 3fc5e738bb..b45eb9530b 100644 --- a/editor/plugins/tiles/tile_data_editors.h +++ b/editor/plugins/tiles/tile_data_editors.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tile_map_editor.cpp b/editor/plugins/tiles/tile_map_editor.cpp index 73b1fc7c67..aa92920722 100644 --- a/editor/plugins/tiles/tile_map_editor.cpp +++ b/editor/plugins/tiles/tile_map_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -598,7 +598,10 @@ bool TileMapEditorTilesPlugin::forward_canvas_gui_input(const Ref<InputEvent> &p } if (drag_type == DRAG_TYPE_CLIPBOARD_PASTE) { - // Do nothing. + // Cancel tile pasting on right-click + if (mb->get_button_index() == MouseButton::RIGHT) { + drag_type = DRAG_TYPE_NONE; + } } else if (tool_buttons_group->get_pressed_button() == select_tool_button) { drag_start_mouse_pos = mpos; if (tile_map_selection.has(tile_map->world_to_map(drag_start_mouse_pos)) && !mb->is_shift_pressed()) { @@ -2093,8 +2096,8 @@ TileMapEditorTilesPlugin::TileMapEditorTilesPlugin() { missing_source_label->set_text(TTR("This TileMap's TileSet has no source configured. Edit the TileSet resource to add one.")); missing_source_label->set_h_size_flags(Control::SIZE_EXPAND_FILL); missing_source_label->set_v_size_flags(Control::SIZE_EXPAND_FILL); - missing_source_label->set_align(Label::ALIGN_CENTER); - missing_source_label->set_valign(Label::VALIGN_CENTER); + missing_source_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); + missing_source_label->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER); missing_source_label->hide(); tiles_bottom_panel->add_child(missing_source_label); @@ -2152,8 +2155,8 @@ TileMapEditorTilesPlugin::TileMapEditorTilesPlugin() { invalid_source_label->set_text(TTR("Invalid source selected.")); invalid_source_label->set_h_size_flags(Control::SIZE_EXPAND_FILL); invalid_source_label->set_v_size_flags(Control::SIZE_EXPAND_FILL); - invalid_source_label->set_align(Label::ALIGN_CENTER); - invalid_source_label->set_valign(Label::VALIGN_CENTER); + invalid_source_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); + invalid_source_label->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER); invalid_source_label->hide(); atlas_sources_split_container->add_child(invalid_source_label); @@ -3783,7 +3786,7 @@ void TileMapEditor::forward_canvas_draw_over_viewport(Control *p_overlay) { } // Draw the warning icon. - int min_axis = missing_tile_texture->get_size().min_axis(); + Vector2::Axis min_axis = missing_tile_texture->get_size().min_axis_index(); Vector2 icon_size; icon_size[min_axis] = tile_set->get_tile_size()[min_axis] / 3; icon_size[(min_axis + 1) % 2] = (icon_size[min_axis] * missing_tile_texture->get_size()[(min_axis + 1) % 2] / missing_tile_texture->get_size()[min_axis]); @@ -3981,8 +3984,8 @@ TileMapEditor::TileMapEditor() { missing_tileset_label->set_text(TTR("The edited TileMap node has no TileSet resource.")); missing_tileset_label->set_h_size_flags(SIZE_EXPAND_FILL); missing_tileset_label->set_v_size_flags(SIZE_EXPAND_FILL); - missing_tileset_label->set_align(Label::ALIGN_CENTER); - missing_tileset_label->set_valign(Label::VALIGN_CENTER); + missing_tileset_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); + missing_tileset_label->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER); missing_tileset_label->hide(); add_child(missing_tileset_label); diff --git a/editor/plugins/tiles/tile_map_editor.h b/editor/plugins/tiles/tile_map_editor.h index f462119727..b1bee03211 100644 --- a/editor/plugins/tiles/tile_map_editor.h +++ b/editor/plugins/tiles/tile_map_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tile_proxies_manager_dialog.cpp b/editor/plugins/tiles/tile_proxies_manager_dialog.cpp index 60a66ab954..ad44da8dc9 100644 --- a/editor/plugins/tiles/tile_proxies_manager_dialog.cpp +++ b/editor/plugins/tiles/tile_proxies_manager_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tile_proxies_manager_dialog.h b/editor/plugins/tiles/tile_proxies_manager_dialog.h index 6849be2cd6..b235d44982 100644 --- a/editor/plugins/tiles/tile_proxies_manager_dialog.h +++ b/editor/plugins/tiles/tile_proxies_manager_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tile_set_atlas_source_editor.cpp b/editor/plugins/tiles/tile_set_atlas_source_editor.cpp index a48c0e795c..c4cc9745ee 100644 --- a/editor/plugins/tiles/tile_set_atlas_source_editor.cpp +++ b/editor/plugins/tiles/tile_set_atlas_source_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -2321,7 +2321,7 @@ TileSetAtlasSourceEditor::TileSetAtlasSourceEditor() { // Middle panel. ScrollContainer *middle_panel = memnew(ScrollContainer); - middle_panel->set_enable_h_scroll(false); + middle_panel->set_horizontal_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED); middle_panel->set_custom_minimum_size(Size2i(200, 0) * EDSCALE); split_container_right_side->add_child(middle_panel); @@ -2339,14 +2339,14 @@ TileSetAtlasSourceEditor::TileSetAtlasSourceEditor() { tile_inspector = memnew(EditorInspector); tile_inspector->set_undo_redo(undo_redo); - tile_inspector->set_enable_v_scroll(false); + tile_inspector->set_vertical_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED); tile_inspector->edit(tile_proxy_object); tile_inspector->set_use_folding(true); tile_inspector->connect("property_selected", callable_mp(this, &TileSetAtlasSourceEditor::_inspector_property_selected)); middle_vbox_container->add_child(tile_inspector); tile_inspector_no_tile_selected_label = memnew(Label); - tile_inspector_no_tile_selected_label->set_align(Label::ALIGN_CENTER); + tile_inspector_no_tile_selected_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); tile_inspector_no_tile_selected_label->set_text(TTR("No tile selected.")); middle_vbox_container->add_child(tile_inspector_no_tile_selected_label); @@ -2385,7 +2385,7 @@ TileSetAtlasSourceEditor::TileSetAtlasSourceEditor() { atlas_source_inspector = memnew(EditorInspector); atlas_source_inspector->set_undo_redo(undo_redo); - atlas_source_inspector->set_enable_v_scroll(false); + atlas_source_inspector->set_vertical_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED); atlas_source_inspector->edit(atlas_source_proxy_object); middle_vbox_container->add_child(atlas_source_inspector); @@ -2527,8 +2527,8 @@ TileSetAtlasSourceEditor::TileSetAtlasSourceEditor() { tile_atlas_view_missing_source_label = memnew(Label); tile_atlas_view_missing_source_label->set_text(TTR("Add or select an atlas texture to the left panel.")); - tile_atlas_view_missing_source_label->set_align(Label::ALIGN_CENTER); - tile_atlas_view_missing_source_label->set_valign(Label::VALIGN_CENTER); + tile_atlas_view_missing_source_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); + tile_atlas_view_missing_source_label->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER); tile_atlas_view_missing_source_label->set_h_size_flags(SIZE_EXPAND_FILL); tile_atlas_view_missing_source_label->set_v_size_flags(SIZE_EXPAND_FILL); tile_atlas_view_missing_source_label->hide(); diff --git a/editor/plugins/tiles/tile_set_atlas_source_editor.h b/editor/plugins/tiles/tile_set_atlas_source_editor.h index bd1fd2e7d0..51771c59ba 100644 --- a/editor/plugins/tiles/tile_set_atlas_source_editor.h +++ b/editor/plugins/tiles/tile_set_atlas_source_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tile_set_editor.cpp b/editor/plugins/tiles/tile_set_editor.cpp index 915ce50836..ef8d423724 100644 --- a/editor/plugins/tiles/tile_set_editor.cpp +++ b/editor/plugins/tiles/tile_set_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -682,7 +682,7 @@ TileSetEditor::TileSetEditor() { split_container_left_side->add_child(sources_list); HBoxContainer *sources_bottom_actions = memnew(HBoxContainer); - sources_bottom_actions->set_alignment(HBoxContainer::ALIGN_END); + sources_bottom_actions->set_alignment(BoxContainer::ALIGNMENT_END); split_container_left_side->add_child(sources_bottom_actions); sources_delete_button = memnew(Button); @@ -722,8 +722,8 @@ TileSetEditor::TileSetEditor() { no_source_selected_label->set_text(TTR("No TileSet source selected. Select or create a TileSet source.")); no_source_selected_label->set_h_size_flags(SIZE_EXPAND_FILL); no_source_selected_label->set_v_size_flags(SIZE_EXPAND_FILL); - no_source_selected_label->set_align(Label::ALIGN_CENTER); - no_source_selected_label->set_valign(Label::VALIGN_CENTER); + no_source_selected_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); + no_source_selected_label->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER); split_container_right_side->add_child(no_source_selected_label); // Atlases editor. diff --git a/editor/plugins/tiles/tile_set_editor.h b/editor/plugins/tiles/tile_set_editor.h index 58312ce3df..98ebbae02f 100644 --- a/editor/plugins/tiles/tile_set_editor.h +++ b/editor/plugins/tiles/tile_set_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tile_set_scenes_collection_source_editor.cpp b/editor/plugins/tiles/tile_set_scenes_collection_source_editor.cpp index d687d9651d..240c017b84 100644 --- a/editor/plugins/tiles/tile_set_scenes_collection_source_editor.cpp +++ b/editor/plugins/tiles/tile_set_scenes_collection_source_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -459,7 +459,7 @@ TileSetScenesCollectionSourceEditor::TileSetScenesCollectionSourceEditor() { // Middle panel. ScrollContainer *middle_panel = memnew(ScrollContainer); - middle_panel->set_enable_h_scroll(false); + middle_panel->set_horizontal_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED); middle_panel->set_custom_minimum_size(Size2i(200, 0) * EDSCALE); split_container_right_side->add_child(middle_panel); @@ -477,7 +477,7 @@ TileSetScenesCollectionSourceEditor::TileSetScenesCollectionSourceEditor() { scenes_collection_source_inspector = memnew(EditorInspector); scenes_collection_source_inspector->set_undo_redo(undo_redo); - scenes_collection_source_inspector->set_enable_v_scroll(false); + scenes_collection_source_inspector->set_vertical_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED); scenes_collection_source_inspector->edit(scenes_collection_source_proxy_object); middle_vbox_container->add_child(scenes_collection_source_inspector); @@ -493,7 +493,7 @@ TileSetScenesCollectionSourceEditor::TileSetScenesCollectionSourceEditor() { tile_inspector = memnew(EditorInspector); tile_inspector->set_undo_redo(undo_redo); - tile_inspector->set_enable_v_scroll(false); + tile_inspector->set_vertical_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED); tile_inspector->edit(tile_proxy_object); tile_inspector->set_use_folding(true); middle_vbox_container->add_child(tile_inspector); diff --git a/editor/plugins/tiles/tile_set_scenes_collection_source_editor.h b/editor/plugins/tiles/tile_set_scenes_collection_source_editor.h index 4e33128be5..5b48ea4762 100644 --- a/editor/plugins/tiles/tile_set_scenes_collection_source_editor.h +++ b/editor/plugins/tiles/tile_set_scenes_collection_source_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tiles/tiles_editor_plugin.cpp b/editor/plugins/tiles/tiles_editor_plugin.cpp index 47dfc57b0f..f99fcb3675 100644 --- a/editor/plugins/tiles/tiles_editor_plugin.cpp +++ b/editor/plugins/tiles/tiles_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -157,6 +157,17 @@ void TilesEditorPlugin::_update_editors() { // Update the viewport. CanvasItemEditor::get_singleton()->update_viewport(); + + // Update visibility of bottom panel buttons. + if (tileset_editor_button->is_pressed() && !tile_set.is_valid()) { + if (tile_map) { + editor_node->make_bottom_panel_item_visible(tilemap_editor); + } else { + editor_node->hide_bottom_panel(); + } + } + tileset_editor_button->set_visible(tile_set.is_valid()); + tilemap_editor_button->set_visible(tile_map); } void TilesEditorPlugin::_notification(int p_what) { diff --git a/editor/plugins/tiles/tiles_editor_plugin.h b/editor/plugins/tiles/tiles_editor_plugin.h index 33493040f6..59eb79480e 100644 --- a/editor/plugins/tiles/tiles_editor_plugin.h +++ b/editor/plugins/tiles/tiles_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/version_control_editor_plugin.cpp b/editor/plugins/version_control_editor_plugin.cpp index 28352d25eb..b1d5b348c4 100644 --- a/editor/plugins/version_control_editor_plugin.cpp +++ b/editor/plugins/version_control_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -266,7 +266,7 @@ void VersionControlEditorPlugin::_display_file_diff(String p_file_path) { void VersionControlEditorPlugin::_refresh_file_diff() { String open_file = diff_file_name->get_text(); - if (open_file != "") { + if (!open_file.is_empty()) { _display_file_diff(diff_file_name->get_text()); } } @@ -299,7 +299,7 @@ void VersionControlEditorPlugin::_update_commit_status() { } void VersionControlEditorPlugin::_update_commit_button() { - commit_button->set_disabled(commit_message->get_text().strip_edges() == ""); + commit_button->set_disabled(commit_message->get_text().strip_edges().is_empty()); } void VersionControlEditorPlugin::_commit_message_gui_input(const Ref<InputEvent> &p_event) { @@ -416,11 +416,11 @@ VersionControlEditorPlugin::VersionControlEditorPlugin() { set_up_ok_button->set_text(TTR("Close")); set_up_vbc = memnew(VBoxContainer); - set_up_vbc->set_alignment(VBoxContainer::ALIGN_CENTER); + set_up_vbc->set_alignment(BoxContainer::ALIGNMENT_CENTER); set_up_dialog->add_child(set_up_vbc); set_up_hbc = memnew(HBoxContainer); - set_up_hbc->set_h_size_flags(HBoxContainer::SIZE_EXPAND_FILL); + set_up_hbc->set_h_size_flags(BoxContainer::SIZE_EXPAND_FILL); set_up_vbc->add_child(set_up_hbc); set_up_vcs_status = memnew(RichTextLabel); @@ -447,7 +447,7 @@ VersionControlEditorPlugin::VersionControlEditorPlugin() { version_commit_dock->set_visible(false); commit_box_vbc = memnew(VBoxContainer); - commit_box_vbc->set_alignment(VBoxContainer::ALIGN_BEGIN); + commit_box_vbc->set_alignment(VBoxContainer::ALIGNMENT_BEGIN); commit_box_vbc->set_h_size_flags(VBoxContainer::SIZE_EXPAND_FILL); commit_box_vbc->set_v_size_flags(VBoxContainer::SIZE_EXPAND_FILL); version_commit_dock->add_child(commit_box_vbc); @@ -530,7 +530,7 @@ VersionControlEditorPlugin::VersionControlEditorPlugin() { commit_box_vbc->add_child(commit_button); commit_status = memnew(Label); - commit_status->set_align(Label::ALIGN_CENTER); + commit_status->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); commit_box_vbc->add_child(commit_status); version_control_dock = memnew(PanelContainer); @@ -555,7 +555,7 @@ VersionControlEditorPlugin::VersionControlEditorPlugin() { diff_file_name = memnew(Label); diff_file_name->set_text(TTR("No file diff is active")); diff_file_name->set_h_size_flags(Label::SIZE_EXPAND_FILL); - diff_file_name->set_align(Label::ALIGN_RIGHT); + diff_file_name->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_RIGHT); diff_hbc->add_child(diff_file_name); diff_refresh_button = memnew(Button); diff --git a/editor/plugins/version_control_editor_plugin.h b/editor/plugins/version_control_editor_plugin.h index 2782c1d9dc..86f98ad3aa 100644 --- a/editor/plugins/version_control_editor_plugin.h +++ b/editor/plugins/version_control_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp index da73fc093c..bc68387376 100644 --- a/editor/plugins/visual_shader_editor_plugin.cpp +++ b/editor/plugins/visual_shader_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -591,7 +591,7 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { if (vsnode->is_use_prop_slots()) { String error = vsnode->get_warning(visual_shader->get_mode(), p_type); - if (error != String()) { + if (!error.is_empty()) { Label *error_label = memnew(Label); error_label->add_theme_color_override("font_color", VisualShaderEditor::get_singleton()->get_theme_color(SNAME("error_color"), SNAME("Editor"))); error_label->set_text(error); @@ -877,7 +877,7 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id) { node->add_child(offset); String error = vsnode->get_warning(visual_shader->get_mode(), p_type); - if (error != String()) { + if (!error.is_empty()) { Label *error_label = memnew(Label); error_label->add_theme_color_override("font_color", VisualShaderEditor::get_singleton()->get_theme_color(SNAME("error_color"), SNAME("Editor"))); error_label->set_text(error); @@ -1191,7 +1191,7 @@ void VisualShaderEditor::update_custom_nodes() { category = category.rstrip("/"); category = category.lstrip("/"); category = "Addons/" + category; - if (subcategory != "") { + if (!subcategory.is_empty()) { category += "/" + subcategory; } @@ -1687,7 +1687,7 @@ void VisualShaderEditor::_change_input_port_name(const String &p_text, Object *p ERR_FAIL_COND(!line_edit); String validated_name = visual_shader->validate_port_name(p_text, node.ptr(), p_port_id, false); - if (validated_name == String() || prev_name == validated_name) { + if (validated_name.is_empty() || prev_name == validated_name) { line_edit->set_text(node->get_input_port_name(p_port_id)); return; } @@ -1715,7 +1715,7 @@ void VisualShaderEditor::_change_output_port_name(const String &p_text, Object * ERR_FAIL_COND(!line_edit); String validated_name = visual_shader->validate_port_name(p_text, node.ptr(), p_port_id, true); - if (validated_name == String() || prev_name == validated_name) { + if (validated_name.is_empty() || prev_name == validated_name) { line_edit->set_text(node->get_output_port_name(p_port_id)); return; } @@ -2078,6 +2078,7 @@ void VisualShaderEditor::_comment_desc_popup_show(const Point2 &p_position, int } comment_desc_change_edit->set_text(node->get_description()); comment_desc_change_popup->set_meta("id", p_node_id); + comment_desc_change_popup->reset_size(); comment_desc_change_popup->popup(); comment_desc_change_popup->set_position(p_position); } @@ -2409,7 +2410,7 @@ void VisualShaderEditor::_add_node(int p_idx, int p_op_idx, String p_resource_pa bool is_custom = add_options[p_idx].is_custom; - if (!is_custom && add_options[p_idx].type != String()) { + if (!is_custom && !add_options[p_idx].type.is_empty()) { VisualShaderNode *vsn = Object::cast_to<VisualShaderNode>(ClassDB::instantiate(add_options[p_idx].type)); ERR_FAIL_COND(!vsn); @@ -3165,7 +3166,7 @@ void VisualShaderEditor::_graph_gui_input(const Ref<InputEvent> &p_event) { } menu_point = graph->get_local_mouse_position(); - Point2 gpos = Input::get_singleton()->get_mouse_position(); + Point2 gpos = get_screen_position() + get_local_mouse_position(); popup_menu->set_position(gpos); popup_menu->reset_size(); popup_menu->popup(); @@ -3184,28 +3185,21 @@ void VisualShaderEditor::_show_members_dialog(bool at_mouse_pos, VisualShaderNod saved_node_pos_dirty = true; saved_node_pos = graph->get_local_mouse_position(); - Point2 gpos = Input::get_singleton()->get_mouse_position(); - members_dialog->popup(); + Point2 gpos = get_screen_position() + get_local_mouse_position(); members_dialog->set_position(gpos); } else { - members_dialog->popup(); saved_node_pos_dirty = false; - members_dialog->set_position(graph->get_global_position() + Point2(5 * EDSCALE, 65 * EDSCALE)); + members_dialog->set_position(graph->get_screen_position() + Point2(5 * EDSCALE, 65 * EDSCALE)); } + members_dialog->popup(); - // keep dialog within window bounds - Size2 window_size = DisplayServer::get_singleton()->window_get_size(); + // Keep dialog within window bounds. + Rect2 window_rect = Rect2(DisplayServer::get_singleton()->window_get_position(), DisplayServer::get_singleton()->window_get_size()); Rect2 dialog_rect = Rect2(members_dialog->get_position(), members_dialog->get_size()); - if (dialog_rect.position.y + dialog_rect.size.y > window_size.y) { - int difference = dialog_rect.position.y + dialog_rect.size.y - window_size.y; - members_dialog->set_position(members_dialog->get_position() - Point2(0, difference)); - } - if (dialog_rect.position.x + dialog_rect.size.x > window_size.x) { - int difference = dialog_rect.position.x + dialog_rect.size.x - window_size.x; - members_dialog->set_position(members_dialog->get_position() - Point2(difference, 0)); - } + Vector2 difference = (dialog_rect.get_end() - window_rect.get_end()).max(Vector2()); + members_dialog->set_position(members_dialog->get_position() - difference); - node_filter->call_deferred(SNAME("grab_focus")); // still not visible + node_filter->call_deferred(SNAME("grab_focus")); // Still not visible. node_filter->select_all(); } @@ -3781,10 +3775,10 @@ void VisualShaderEditor::_node_menu_id_pressed(int p_idx) { _convert_constants_to_uniforms(true); break; case NodeMenuOptions::SET_COMMENT_TITLE: - _comment_title_popup_show(get_global_mouse_position(), selected_comment); + _comment_title_popup_show(get_screen_position() + get_local_mouse_position(), selected_comment); break; case NodeMenuOptions::SET_COMMENT_DESCRIPTION: - _comment_desc_popup_show(get_global_mouse_position(), selected_comment); + _comment_desc_popup_show(get_screen_position() + get_local_mouse_position(), selected_comment); break; default: break; @@ -3949,9 +3943,15 @@ void VisualShaderEditor::_update_preview() { preview_text->set_text(code); + ShaderLanguage::ShaderCompileInfo info; + info.functions = ShaderTypes::get_singleton()->get_functions(RenderingServer::ShaderMode(visual_shader->get_mode())); + info.render_modes = ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(visual_shader->get_mode())); + info.shader_types = ShaderTypes::get_singleton()->get_types(); + info.global_variable_type_func = _get_global_variable_type; + ShaderLanguage sl; - Error err = sl.compile(code, ShaderTypes::get_singleton()->get_functions(RenderingServer::ShaderMode(visual_shader->get_mode())), ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(visual_shader->get_mode())), ShaderLanguage::VaryingFunctionNames(), ShaderTypes::get_singleton()->get_types(), _get_global_variable_type); + Error err = sl.compile(code, info); for (int i = 0; i < preview_text->get_line_count(); i++) { preview_text->set_line_background_color(i, Color(0, 0, 0, 0)); @@ -4247,8 +4247,8 @@ VisualShaderEditor::VisualShaderEditor() { alert = memnew(AcceptDialog); alert->get_label()->set_autowrap_mode(Label::AUTOWRAP_WORD); - alert->get_label()->set_align(Label::ALIGN_CENTER); - alert->get_label()->set_valign(Label::VALIGN_CENTER); + alert->get_label()->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); + alert->get_label()->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER); alert->get_label()->set_custom_minimum_size(Size2(400, 60) * EDSCALE); add_child(alert); @@ -4556,6 +4556,7 @@ VisualShaderEditor::VisualShaderEditor() { add_options.push_back(AddOption("ATan", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Returns the arc-tangent of the parameter."), VisualShaderNodeFloatFunc::FUNC_ATAN, VisualShaderNode::PORT_TYPE_SCALAR)); add_options.push_back(AddOption("ATan2", "Scalar", "Functions", "VisualShaderNodeFloatOp", TTR("Returns the arc-tangent of the parameters."), VisualShaderNodeFloatOp::OP_ATAN2, VisualShaderNode::PORT_TYPE_SCALAR)); add_options.push_back(AddOption("ATanH", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Returns the inverse hyperbolic tangent of the parameter."), VisualShaderNodeFloatFunc::FUNC_ATANH, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("BitwiseNOT", "Scalar", "Functions", "VisualShaderNodeIntFunc", TTR("Returns the result of bitwise NOT (~a) operation on the integer."), VisualShaderNodeIntFunc::FUNC_BITWISE_NOT, VisualShaderNode::PORT_TYPE_SCALAR_INT)); add_options.push_back(AddOption("Ceil", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Finds the nearest integer that is greater than or equal to the parameter."), VisualShaderNodeFloatFunc::FUNC_CEIL, VisualShaderNode::PORT_TYPE_SCALAR)); add_options.push_back(AddOption("Clamp", "Scalar", "Functions", "VisualShaderNodeClamp", TTR("Constrains a value to lie between two further values."), VisualShaderNodeClamp::OP_TYPE_FLOAT, VisualShaderNode::PORT_TYPE_SCALAR)); add_options.push_back(AddOption("Clamp", "Scalar", "Functions", "VisualShaderNodeClamp", TTR("Constrains a value to lie between two further values."), VisualShaderNodeClamp::OP_TYPE_INT, VisualShaderNode::PORT_TYPE_SCALAR_INT)); @@ -4595,6 +4596,11 @@ VisualShaderEditor::VisualShaderEditor() { add_options.push_back(AddOption("Add", "Scalar", "Operators", "VisualShaderNodeFloatOp", TTR("Sums two floating-point scalars."), VisualShaderNodeFloatOp::OP_ADD, VisualShaderNode::PORT_TYPE_SCALAR)); add_options.push_back(AddOption("Add", "Scalar", "Operators", "VisualShaderNodeIntOp", TTR("Sums two integer scalars."), VisualShaderNodeIntOp::OP_ADD, VisualShaderNode::PORT_TYPE_SCALAR_INT)); + add_options.push_back(AddOption("BitwiseAND", "Scalar", "Operators", "VisualShaderNodeIntOp", TTR("Returns the result of bitwise AND (a & b) operation for two integers."), VisualShaderNodeIntOp::OP_BITWISE_AND, VisualShaderNode::PORT_TYPE_SCALAR_INT)); + add_options.push_back(AddOption("BitwiseLeftShift", "Scalar", "Operators", "VisualShaderNodeIntOp", TTR("Returns the result of bitwise left shift (a << b) operation on the integer."), VisualShaderNodeIntOp::OP_BITWISE_LEFT_SHIFT, VisualShaderNode::PORT_TYPE_SCALAR_INT)); + add_options.push_back(AddOption("BitwiseOR", "Scalar", "Operators", "VisualShaderNodeIntOp", TTR("Returns the result of bitwise OR (a | b) operation for two integers."), VisualShaderNodeIntOp::OP_BITWISE_OR, VisualShaderNode::PORT_TYPE_SCALAR_INT)); + add_options.push_back(AddOption("BitwiseRightShift", "Scalar", "Operators", "VisualShaderNodeIntOp", TTR("Returns the result of bitwise right shift (a >> b) operation on the integer."), VisualShaderNodeIntOp::OP_BITWISE_RIGHT_SHIFT, VisualShaderNode::PORT_TYPE_SCALAR_INT)); + add_options.push_back(AddOption("BitwiseXOR", "Scalar", "Operators", "VisualShaderNodeIntOp", TTR("Returns the result of bitwise XOR (a ^ b) operation on the integer."), VisualShaderNodeIntOp::OP_BITWISE_XOR, VisualShaderNode::PORT_TYPE_SCALAR_INT)); add_options.push_back(AddOption("Divide", "Scalar", "Operators", "VisualShaderNodeFloatOp", TTR("Divides two floating-point scalars."), VisualShaderNodeFloatOp::OP_DIV, VisualShaderNode::PORT_TYPE_SCALAR)); add_options.push_back(AddOption("Divide", "Scalar", "Operators", "VisualShaderNodeIntOp", TTR("Divides two integer scalars."), VisualShaderNodeIntOp::OP_DIV, VisualShaderNode::PORT_TYPE_SCALAR_INT)); add_options.push_back(AddOption("Multiply", "Scalar", "Operators", "VisualShaderNodeFloatOp", TTR("Multiplies two floating-point scalars."), VisualShaderNodeFloatOp::OP_MUL, VisualShaderNode::PORT_TYPE_SCALAR)); diff --git a/editor/plugins/visual_shader_editor_plugin.h b/editor/plugins/visual_shader_editor_plugin.h index 74ccda3c9a..b68a8bac76 100644 --- a/editor/plugins/visual_shader_editor_plugin.h +++ b/editor/plugins/visual_shader_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/voxel_gi_editor_plugin.cpp b/editor/plugins/voxel_gi_editor_plugin.cpp index 9a44d40dcb..1fd47b67c5 100644 --- a/editor/plugins/voxel_gi_editor_plugin.cpp +++ b/editor/plugins/voxel_gi_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -34,7 +34,7 @@ void VoxelGIEditorPlugin::_bake() { if (voxel_gi) { if (voxel_gi->get_probe_data().is_null()) { String path = get_tree()->get_edited_scene_root()->get_scene_file_path(); - if (path == String()) { + if (path.is_empty()) { path = "res://" + voxel_gi->get_name() + "_data.res"; } else { String ext = path.get_extension(); @@ -67,31 +67,36 @@ void VoxelGIEditorPlugin::_notification(int p_what) { return; } + // Set information tooltip on the Bake button. This information is useful + // to optimize performance (video RAM size) and reduce light leaking (individual cell size). + const Vector3i size = voxel_gi->get_estimated_cell_size(); - String text = vformat(String::utf8("%d × %d × %d"), size.x, size.y, size.z); + + const Vector3 extents = voxel_gi->get_extents(); + const int data_size = 4; const double size_mb = size.x * size.y * size.z * data_size / (1024.0 * 1024.0); - text += " - " + vformat(TTR("VRAM Size: %s MB"), String::num(size_mb, 2)); - - if (bake_info->get_text() == text) { - return; + // Add a qualitative measurement to help the user assess whether a VoxelGI node is using a lot of VRAM. + String size_quality; + if (size_mb < 16.0) { + size_quality = TTR("Low"); + } else if (size_mb < 64.0) { + size_quality = TTR("Moderate"); + } else { + size_quality = TTR("High"); } - // Color the label depending on the estimated performance level. - Color color; - if (size_mb <= 16.0 + CMP_EPSILON) { - // Fast. - color = bake_info->get_theme_color(SNAME("success_color"), SNAME("Editor")); - } else if (size_mb <= 64.0 + CMP_EPSILON) { - // Medium. - color = bake_info->get_theme_color(SNAME("warning_color"), SNAME("Editor")); - } else { - // Slow. - color = bake_info->get_theme_color(SNAME("error_color"), SNAME("Editor")); + String text; + text += vformat(TTR("Subdivisions: %s"), vformat(String::utf8("%d × %d × %d"), size.x, size.y, size.z)) + "\n"; + text += vformat(TTR("Cell size: %s"), vformat(String::utf8("%.3f × %.3f × %.3f"), extents.x / size.x, extents.y / size.y, extents.z / size.z)) + "\n"; + text += vformat(TTR("Video RAM size: %s MB (%s)"), String::num(size_mb, 2), size_quality); + + // Only update the tooltip when needed to avoid constant redrawing. + if (bake->get_tooltip(Point2()) == text) { + return; } - bake_info->add_theme_color_override("font_color", color); - bake_info->set_text(text); + bake->set_tooltip(text); } } @@ -147,10 +152,6 @@ VoxelGIEditorPlugin::VoxelGIEditorPlugin(EditorNode *p_node) { bake->set_text(TTR("Bake GI Probe")); bake->connect("pressed", callable_mp(this, &VoxelGIEditorPlugin::_bake)); bake_hb->add_child(bake); - bake_info = memnew(Label); - bake_info->set_h_size_flags(Control::SIZE_EXPAND_FILL); - bake_info->set_clip_text(true); - bake_hb->add_child(bake_info); add_control_to_container(CONTAINER_SPATIAL_EDITOR_MENU, bake_hb); voxel_gi = nullptr; diff --git a/editor/plugins/voxel_gi_editor_plugin.h b/editor/plugins/voxel_gi_editor_plugin.h index 4d3cfe90f6..4c7865d868 100644 --- a/editor/plugins/voxel_gi_editor_plugin.h +++ b/editor/plugins/voxel_gi_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -42,7 +42,6 @@ class VoxelGIEditorPlugin : public EditorPlugin { VoxelGI *voxel_gi; HBoxContainer *bake_hb; - Label *bake_info; Button *bake; EditorNode *editor; diff --git a/editor/pot_generator.cpp b/editor/pot_generator.cpp index d57345cac1..4d9efefbd3 100644 --- a/editor/pot_generator.cpp +++ b/editor/pot_generator.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/pot_generator.h b/editor/pot_generator.h index 61300064ba..2b42c681e5 100644 --- a/editor/pot_generator.h +++ b/editor/pot_generator.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/progress_dialog.cpp b/editor/progress_dialog.cpp index 95a5646013..1644bd7e7f 100644 --- a/editor/progress_dialog.cpp +++ b/editor/progress_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/progress_dialog.h b/editor/progress_dialog.h index 3f4b1d2944..880e6bc9d4 100644 --- a/editor/progress_dialog.h +++ b/editor/progress_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/project_export.cpp b/editor/project_export.cpp index a97d38323e..2d6775d02e 100644 --- a/editor/project_export.cpp +++ b/editor/project_export.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -178,7 +178,7 @@ void ProjectExportDialog::_update_export_all() { Ref<EditorExportPreset> preset = EditorExport::get_singleton()->get_export_preset(i); bool needs_templates; String error; - if (preset->get_export_path() == "" || !preset->get_platform()->can_export(preset, error, needs_templates)) { + if (preset->get_export_path().is_empty() || !preset->get_platform()->can_export(preset, error, needs_templates)) { can_export = false; break; } @@ -244,7 +244,7 @@ void ProjectExportDialog::_edit_preset(int p_index) { bool needs_templates; String error; if (!current->get_platform()->can_export(current, error, needs_templates)) { - if (error != String()) { + if (!error.is_empty()) { Vector<String> items = error.split("\n", false); error = ""; for (int i = 0; i < items.size(); i++) { @@ -336,7 +336,7 @@ void ProjectExportDialog::_update_feature_list() { Vector<String> custom_list = custom.split(","); for (int i = 0; i < custom_list.size(); i++) { String f = custom_list[i].strip_edges(); - if (f != String()) { + if (!f.is_empty()) { features.push_back(f); } } @@ -871,7 +871,7 @@ void ProjectExportDialog::_open_export_template_manager() { void ProjectExportDialog::_validate_export_path(const String &p_path) { // Disable export via OK button or Enter key if LineEdit has an empty filename - bool invalid_path = (p_path.get_file().get_basename() == ""); + bool invalid_path = (p_path.get_file().get_basename().is_empty()); // Check if state change before needlessly messing with signals if (invalid_path && export_project->get_ok_button()->is_disabled()) { @@ -904,7 +904,7 @@ void ProjectExportDialog::_export_project() { export_project->add_filter("*." + extension_list[i] + " ; " + platform->get_name() + " Export"); } - if (current->get_export_path() != "") { + if (!current->get_export_path().is_empty()) { export_project->set_current_path(current->get_export_path()); } else { if (extension_list.size() >= 1) { @@ -1073,7 +1073,7 @@ ProjectExportDialog::ProjectExportDialog() { // Subsections. sections = memnew(TabContainer); - sections->set_tab_align(TabContainer::ALIGN_LEFT); + sections->set_tab_alignment(TabContainer::ALIGNMENT_LEFT); sections->set_use_hidden_tabs_for_min_size(true); settings_vb->add_child(sections); sections->set_v_size_flags(Control::SIZE_EXPAND_FILL); @@ -1292,10 +1292,10 @@ ProjectExportDialog::ProjectExportDialog() { default_filename = EditorSettings::get_singleton()->get_project_metadata("export_options", "default_filename", ""); // If no default set, use project name - if (default_filename == "") { + if (default_filename.is_empty()) { // If no project name defined, use a sane default default_filename = ProjectSettings::get_singleton()->get("application/config/name"); - if (default_filename == "") { + if (default_filename.is_empty()) { default_filename = "UnnamedProject"; } } diff --git a/editor/project_export.h b/editor/project_export.h index aeace708b8..5dcda0a9b9 100644 --- a/editor/project_export.h +++ b/editor/project_export.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp index 372a77f67d..4b7380c83f 100644 --- a/editor/project_manager.cpp +++ b/editor/project_manager.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -102,7 +102,6 @@ private: FileDialog *fdialog; FileDialog *fdialog_install; OptionButton *vcs_metadata_selection; - CheckBox *create_default_environment; String zip_path; String zip_title; AcceptDialog *dialog_error; @@ -162,7 +161,7 @@ private: } } - if (valid_path == "") { + if (valid_path.is_empty()) { set_message(TTR("The path specified doesn't exist."), MESSAGE_ERROR); memdelete(d); get_ok_button()->set_disabled(true); @@ -176,7 +175,7 @@ private: valid_install_path = install_path->get_text().strip_edges(); } - if (valid_install_path == "") { + if (valid_install_path.is_empty()) { set_message(TTR("The path specified doesn't exist."), MESSAGE_ERROR, INSTALL_PATH); memdelete(d); get_ok_button()->set_disabled(true); @@ -185,7 +184,7 @@ private: } if (mode == MODE_IMPORT || mode == MODE_RENAME) { - if (valid_path != "" && !d->file_exists("project.godot")) { + if (!valid_path.is_empty() && !d->file_exists("project.godot")) { if (valid_path.ends_with(".zip")) { FileAccess *src_f = nullptr; zlib_filefunc_def io = zipio_create_io_from_file(&src_f); @@ -226,7 +225,7 @@ private: d->list_dir_begin(); is_folder_empty = true; String n = d->get_next(); - while (n != String()) { + while (!n.is_empty()) { if (!n.begins_with(".")) { // Allow `.`, `..` (reserved current/parent folder names) // and hidden files/folders to be present. @@ -266,7 +265,7 @@ private: d->list_dir_begin(); is_folder_empty = true; String n = d->get_next(); - while (n != String()) { + while (!n.is_empty()) { if (!n.begins_with(".")) { // Allow `.`, `..` (reserved current/parent folder names) // and hidden files/folders to be present. @@ -296,16 +295,16 @@ private: void _path_text_changed(const String &p_path) { String sp = _test_path(); - if (sp != "") { + if (!sp.is_empty()) { // If the project name is empty or default, infer the project name from the selected folder name - if (project_name->get_text().strip_edges() == "" || project_name->get_text().strip_edges() == TTR("New Game Project")) { + if (project_name->get_text().strip_edges().is_empty() || project_name->get_text().strip_edges() == TTR("New Game Project")) { sp = sp.replace("\\", "/"); int lidx = sp.rfind("/"); if (lidx != -1) { sp = sp.substr(lidx + 1, sp.length()).capitalize(); } - if (sp == "" && mode == MODE_IMPORT) { + if (sp.is_empty() && mode == MODE_IMPORT) { sp = TTR("Imported Project"); } @@ -314,7 +313,7 @@ private: } } - if (created_folder_path != "" && created_folder_path != p_path) { + if (!created_folder_path.is_empty() && created_folder_path != p_path) { _remove_created_folder(); } } @@ -383,7 +382,7 @@ private: void _create_folder() { const String project_name_no_edges = project_name->get_text().strip_edges(); - if (project_name_no_edges == "" || created_folder_path != "" || project_name_no_edges.ends_with(".")) { + if (project_name_no_edges.is_empty() || !created_folder_path.is_empty() || project_name_no_edges.ends_with(".")) { set_message(TTR("Invalid project name."), MESSAGE_WARNING); return; } @@ -418,7 +417,7 @@ private: _test_path(); - if (p_text.strip_edges() == "") { + if (p_text.strip_edges().is_empty()) { set_message(TTR("It would be a good idea to name your project."), MESSAGE_ERROR); } } @@ -433,7 +432,7 @@ private: if (mode == MODE_RENAME) { String dir2 = _test_path(); - if (dir2 == "") { + if (dir2.is_empty()) { set_message(TTR("Invalid project path (changed anything?)."), MESSAGE_ERROR); return; } @@ -495,31 +494,10 @@ private: initial_settings["application/config/name"] = project_name->get_text().strip_edges(); initial_settings["application/config/icon"] = "res://icon.png"; - if (create_default_environment->is_pressed()) { - initial_settings["rendering/environment/defaults/default_environment"] = "res://default_env.tres"; - } - if (ProjectSettings::get_singleton()->save_custom(dir.plus_file("project.godot"), initial_settings, Vector<String>(), false) != OK) { set_message(TTR("Couldn't create project.godot in project path."), MESSAGE_ERROR); } else { ResourceSaver::save(dir.plus_file("icon.png"), create_unscaled_default_project_icon()); - FileAccess *f; - if (create_default_environment->is_pressed()) { - f = FileAccess::open(dir.plus_file("default_env.tres"), FileAccess::WRITE); - if (!f) { - set_message(TTR("Couldn't create default_env.tres in project path."), MESSAGE_ERROR); - } else { - f->store_line("[gd_resource type=\"Environment\" load_steps=2 format=2]"); - f->store_line(""); - f->store_line("[sub_resource type=\"Sky\" id=\"1\"]"); - f->store_line(""); - f->store_line("[resource]"); - f->store_line("background_mode = 2"); - f->store_line("sky = SubResource( \"1\" )"); - memdelete(f); - } - } - EditorVCSInterface::create_vcs_metadata_files(EditorVCSInterface::VCSMetadata(vcs_metadata_selection->get_selected()), dir); } } else if (mode == MODE_INSTALL) { @@ -568,7 +546,7 @@ private: String path = fname; - if (path == String() || path == zip_root || !zip_root.is_subsequence_of(path)) { + if (path.is_empty() || path == zip_root || !zip_root.is_subsequence_of(path)) { // } else if (path.ends_with("/")) { // a dir @@ -639,7 +617,7 @@ private: } void _remove_created_folder() { - if (created_folder_path != "") { + if (!created_folder_path.is_empty()) { DirAccess *d = DirAccess::create(DirAccess::ACCESS_FILESYSTEM); d->remove(created_folder_path); memdelete(d); @@ -739,7 +717,7 @@ public: } else { fav_dir = EditorSettings::get_singleton()->get("filesystem/directories/default_project_path"); - if (fav_dir != "") { + if (!fav_dir.is_empty()) { project_path->set_text(fav_dir); fdialog->set_current_dir(fav_dir); } else { @@ -872,7 +850,7 @@ public: iphb->add_child(install_browse); msg = memnew(Label); - msg->set_align(Label::ALIGN_CENTER); + msg->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); vb->add_child(msg); // rasterizer selection @@ -926,8 +904,8 @@ public: l->set_text(TTR("The renderer can be changed later, but scenes may need to be adjusted.")); // Add some extra spacing to separate it from the list above and the buttons below. l->set_custom_minimum_size(Size2(0, 40) * EDSCALE); - l->set_align(Label::ALIGN_CENTER); - l->set_valign(Label::VALIGN_CENTER); + l->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); + l->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER); l->set_modulate(Color(1, 1, 1, 0.7)); rasterizer_container->add_child(l); @@ -945,10 +923,6 @@ public: Control *spacer = memnew(Control); spacer->set_h_size_flags(Control::SIZE_EXPAND_FILL); default_files_container->add_child(spacer); - create_default_environment = memnew(CheckBox); - create_default_environment->set_text("Create Default Environment"); - create_default_environment->set_pressed(true); - default_files_container->add_child(create_default_environment); fdialog = memnew(FileDialog); fdialog->set_access(FileDialog::ACCESS_FILESYSTEM); @@ -1184,7 +1158,7 @@ void ProjectList::load_project_icon(int p_index) { Ref<Texture2D> default_icon = get_theme_icon(SNAME("DefaultProjectIcon"), SNAME("EditorIcons")); Ref<Texture2D> icon; - if (item.icon != "") { + if (!item.icon.is_empty()) { Ref<Image> img; img.instantiate(); Error err = img->load(item.icon.replace_first("res://", item.path + "/")); @@ -1217,7 +1191,7 @@ ProjectList::Item ProjectList::load_project_data(const String &p_property_key, b String project_name = TTR("Unnamed Project"); if (cf_err == OK) { String cf_project_name = static_cast<String>(cf->get_value("application", "config/name", "")); - if (cf_project_name != "") { + if (!cf_project_name.is_empty()) { project_name = cf_project_name.xml_unescape(); } config_version = (int)cf->get_value("", "config_version", 0); @@ -1387,7 +1361,7 @@ void ProjectList::create_project_item_control(int p_index) { favorite->set_mouse_filter(MOUSE_FILTER_PASS); favorite->connect("pressed", callable_mp(this, &ProjectList::_favorite_pressed), varray(hb)); favorite_box->add_child(favorite); - favorite_box->set_alignment(BoxContainer::ALIGN_CENTER); + favorite_box->set_alignment(BoxContainer::ALIGNMENT_CENTER); hb->add_child(favorite_box); hb->favorite_button = favorite; hb->set_is_favorite(item.favorite); @@ -1434,7 +1408,7 @@ void ProjectList::create_project_item_control(int p_index) { unsupported_label->add_theme_font_override("font", get_theme_font(SNAME("title"), SNAME("EditorFonts"))); unsupported_label->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), SNAME("Editor"))); unsupported_label->set_clip_text(true); - unsupported_label->set_align(Label::ALIGN_RIGHT); + unsupported_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_RIGHT); title_hb->add_child(unsupported_label); Control *spacer = memnew(Control()); spacer->set_custom_minimum_size(Size2(10, 10)); @@ -1499,7 +1473,7 @@ void ProjectList::sort_projects() { Item &item = _projects.write[i]; bool visible = true; - if (_search_term != "") { + if (!_search_term.is_empty()) { String search_path; if (_search_term.find("/") != -1) { // Search path will match the whole path @@ -1791,8 +1765,8 @@ void ProjectList::erase_selected_projects(bool p_delete_project_contents) { void ProjectList::_panel_draw(Node *p_hb) { Control *hb = Object::cast_to<Control>(p_hb); - if (is_layout_rtl() && get_v_scrollbar()->is_visible_in_tree()) { - hb->draw_line(Point2(get_v_scrollbar()->get_minimum_size().x, hb->get_size().y + 1), Point2(hb->get_size().x, hb->get_size().y + 1), get_theme_color(SNAME("guide_color"), SNAME("Tree"))); + if (is_layout_rtl() && get_v_scroll_bar()->is_visible_in_tree()) { + hb->draw_line(Point2(get_v_scroll_bar()->get_minimum_size().x, hb->get_size().y + 1), Point2(hb->get_size().x, hb->get_size().y + 1), get_theme_color(SNAME("guide_color"), SNAME("Tree"))); } else { hb->draw_line(Point2(0, hb->get_size().y + 1), Point2(hb->get_size().x, hb->get_size().y + 1), get_theme_color(SNAME("guide_color"), SNAME("Tree"))); } @@ -1811,7 +1785,7 @@ void ProjectList::_panel_input(const Ref<InputEvent> &p_ev, Node *p_hb) { const Item &clicked_project = _projects[clicked_index]; if (mb.is_valid() && mb->is_pressed() && mb->get_button_index() == MouseButton::LEFT) { - if (mb->is_shift_pressed() && _selected_project_keys.size() > 0 && _last_clicked != "" && clicked_project.project_key != _last_clicked) { + if (mb->is_shift_pressed() && _selected_project_keys.size() > 0 && !_last_clicked.is_empty() && clicked_project.project_key != _last_clicked) { int anchor_index = -1; for (int i = 0; i < _projects.size(); ++i) { const Item &p = _projects[i]; @@ -2160,7 +2134,7 @@ void ProjectManager::_open_selected_projects_ask() { PackedStringArray unsupported_features = project.unsupported_features; Label *ask_update_label = ask_update_settings->get_label(); - ask_update_label->set_align(Label::ALIGN_LEFT); // Reset in case of previous center align. + ask_update_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_LEFT); // Reset in case of previous center align. // Check if the config_version property was empty or 0 if (config_version == 0) { @@ -2204,7 +2178,7 @@ void ProjectManager::_open_selected_projects_ask() { warning_message += vformat(TTR("Warning: This project uses the following features not supported by this build of Godot:\n\n%s\n\n"), unsupported_features_str); } warning_message += TTR("Open anyway? Project will be modified."); - ask_update_label->set_align(Label::ALIGN_CENTER); + ask_update_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); ask_update_settings->set_text(warning_message); ask_update_settings->popup_centered(); return; @@ -2219,7 +2193,7 @@ void ProjectManager::_run_project_confirm() { for (int i = 0; i < selected_list.size(); ++i) { const String &selected_main = selected_list[i].main_scene; - if (selected_main == "") { + if (selected_main.is_empty()) { run_error_diag->set_text(TTR("Can't run project: no main scene defined.\nPlease edit the project and set the main scene in the Project Settings under the \"Application\" category.")); run_error_diag->popup_centered(); continue; @@ -2272,7 +2246,7 @@ void ProjectManager::_scan_dir(const String &path, List<String> *r_projects) { ERR_FAIL_COND_MSG(error != OK, "Could not scan directory at: " + path); da->list_dir_begin(); String n = da->get_next(); - while (n != String()) { + while (!n.is_empty()) { if (da->current_is_dir() && !n.begins_with(".")) { _scan_dir(da->get_current_dir().plus_file(n), r_projects); } else if (n == "project.godot") { @@ -2414,7 +2388,7 @@ void ProjectManager::_files_dropped(PackedStringArray p_files, int p_screen) { if (dir->change_dir(folders[0]) == OK) { dir->list_dir_begin(); String file = dir->get_next(); - while (confirm && file != String()) { + while (confirm && !file.is_empty()) { if (!dir->current_is_dir() && file.ends_with("project.godot")) { confirm = false; } @@ -2563,7 +2537,7 @@ ProjectManager::ProjectManager() { tabs = memnew(TabContainer); center_box->add_child(tabs); tabs->set_anchors_and_offsets_preset(Control::PRESET_WIDE); - tabs->set_tab_align(TabContainer::ALIGN_LEFT); + tabs->set_tab_alignment(TabContainer::ALIGNMENT_LEFT); tabs->connect("tab_changed", callable_mp(this, &ProjectManager::_on_tab_changed)); HBoxContainer *projects_hb = memnew(HBoxContainer); @@ -2621,7 +2595,7 @@ ProjectManager::ProjectManager() { _project_list = memnew(ProjectList); _project_list->connect(ProjectList::SIGNAL_SELECTION_CHANGED, callable_mp(this, &ProjectManager::_update_project_buttons)); _project_list->connect(ProjectList::SIGNAL_PROJECT_ASK_OPEN, callable_mp(this, &ProjectManager::_open_selected_projects_ask)); - _project_list->set_enable_h_scroll(false); + _project_list->set_horizontal_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED); pc->add_child(_project_list); } @@ -2692,7 +2666,7 @@ ProjectManager::ProjectManager() { { // Version info and language options settings_hb = memnew(HBoxContainer); - settings_hb->set_alignment(BoxContainer::ALIGN_END); + settings_hb->set_alignment(BoxContainer::ALIGNMENT_END); settings_hb->set_h_grow_direction(Control::GROW_DIRECTION_BEGIN); settings_hb->set_anchors_and_offsets_preset(Control::PRESET_TOP_RIGHT); @@ -2743,7 +2717,7 @@ ProjectManager::ProjectManager() { for (int i = 0; i < editor_languages.size(); i++) { String lang = editor_languages[i]; String lang_name = TranslationServer::get_singleton()->get_locale_name(lang); - language_btn->add_item(lang_name + " [" + lang + "]", i); + language_btn->add_item(vformat("[%s] %s", lang, lang_name), i); language_btn->set_item_metadata(i, lang); if (current_lang == lang) { language_btn->select(i); @@ -2852,7 +2826,7 @@ ProjectManager::ProjectManager() { } String autoscan_path = EditorSettings::get_singleton()->get("filesystem/directories/autoscan_project_path"); - if (autoscan_path != "") { + if (!autoscan_path.is_empty()) { if (dir_access->dir_exists(autoscan_path)) { _scan_begin(autoscan_path); } else { diff --git a/editor/project_manager.h b/editor/project_manager.h index f45d34d461..f99e879664 100644 --- a/editor/project_manager.h +++ b/editor/project_manager.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/project_settings_editor.cpp b/editor/project_settings_editor.cpp index db12e90540..b710eb2546 100644 --- a/editor/project_settings_editor.cpp +++ b/editor/project_settings_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -78,7 +78,7 @@ void ProjectSettingsEditor::_advanced_toggled(bool p_button_pressed) { } void ProjectSettingsEditor::_setting_selected(const String &p_path) { - if (p_path == String()) { + if (p_path.is_empty()) { return; } @@ -147,12 +147,12 @@ void ProjectSettingsEditor::_update_property_box() { const Vector<String> t = setting.split(".", true, 1); const String name = t[0]; const String feature = (t.size() == 2) ? t[1] : ""; - bool feature_invalid = (t.size() == 2) && (t[1] == ""); + bool feature_invalid = (t.size() == 2) && (t[1].is_empty()); add_button->set_disabled(true); del_button->set_disabled(true); - if (feature != "") { + if (!feature.is_empty()) { feature_invalid = true; for (int i = 1; i < feature_box->get_item_count(); i++) { if (feature == feature_box->get_item_text(i)) { @@ -163,11 +163,11 @@ void ProjectSettingsEditor::_update_property_box() { } } - if (feature == "" || feature_invalid) { + if (feature.is_empty() || feature_invalid) { feature_box->select(0); } - if (property_box->get_text() == "") { + if (property_box->get_text().is_empty()) { return; } @@ -244,7 +244,7 @@ void ProjectSettingsEditor::_add_feature_overrides() { Vector<String> custom_list = custom.split(","); for (int j = 0; j < custom_list.size(); j++) { String f = custom_list[j].strip_edges(); - if (f != String()) { + if (!f.is_empty()) { presets.insert(f); } } @@ -513,13 +513,13 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) { data = p_data; tab_container = memnew(TabContainer); - tab_container->set_tab_align(TabContainer::ALIGN_LEFT); + tab_container->set_tab_alignment(TabContainer::ALIGNMENT_LEFT); tab_container->set_use_hidden_tabs_for_min_size(true); add_child(tab_container); VBoxContainer *general_editor = memnew(VBoxContainer); general_editor->set_name(TTR("General")); - general_editor->set_alignment(BoxContainer::ALIGN_BEGIN); + general_editor->set_alignment(BoxContainer::ALIGNMENT_BEGIN); general_editor->set_v_size_flags(Control::SIZE_EXPAND_FILL); tab_container->add_child(general_editor); diff --git a/editor/project_settings_editor.h b/editor/project_settings_editor.h index f90db02c46..26af73c54e 100644 --- a/editor/project_settings_editor.h +++ b/editor/project_settings_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/property_editor.cpp b/editor/property_editor.cpp index 061f4d218a..481ff1a781 100644 --- a/editor/property_editor.cpp +++ b/editor/property_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -482,7 +482,7 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: Vector<String> flags = hint_text.split(","); for (int i = 0; i < flags.size(); i++) { String flag = flags[i]; - if (flag == "") { + if (flag.is_empty()) { continue; } menu->add_check_item(flag, i); @@ -552,7 +552,7 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: add_child(create_dialog); } - if (hint_text != String()) { + if (!hint_text.is_empty()) { create_dialog->set_base_type(hint_text); } else { create_dialog->set_base_type("Object"); @@ -810,7 +810,7 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: //late init for performance color_picker = memnew(ColorPicker); color_picker->set_deferred_mode(true); - add_child(color_picker); + value_vbox->add_child(color_picker); color_picker->hide(); color_picker->connect("color_changed", callable_mp(this, &CustomPropertyEditor::_color_changed)); @@ -853,7 +853,7 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: if (p_name == "script" && hint_text == "Script" && Object::cast_to<Node>(owner)) { menu->add_item(TTR("New Script"), OBJ_MENU_NEW_SCRIPT); menu->add_separator(); - } else if (hint_text != "") { + } else if (!hint_text.is_empty()) { int idx = 0; Vector<EditorData::CustomType> custom_resources; @@ -933,7 +933,7 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: RES cb = EditorSettings::get_singleton()->get_resource_clipboard(); bool paste_valid = false; if (cb.is_valid()) { - if (hint_text == "") { + if (hint_text.is_empty()) { paste_valid = true; } else { for (int i = 0; i < hint_text.get_slice_count(","); i++) { @@ -1108,7 +1108,7 @@ void CustomPropertyEditor::_node_path_selected(NodePath p_path) { return; } - if (hint == PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE && hint_text != String()) { + if (hint == PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE && !hint_text.is_empty()) { Node *node = get_node(hint_text); if (node) { Node *tonode = node->get_node(p_path); @@ -1191,7 +1191,7 @@ void CustomPropertyEditor::_action_pressed(int p_which) { file->clear_filters(); - if (hint_text != "") { + if (!hint_text.is_empty()) { Vector<String> extensions = hint_text.split(","); for (int i = 0; i < extensions.size(); i++) { String filter = extensions[i]; @@ -1410,7 +1410,7 @@ void CustomPropertyEditor::_draw_easing() { prev = h; } - f->draw_string(ci, Point2(10, 10 + f->get_ascent(font_size)), String::num(exp, 2), HALIGN_LEFT, -1, font_size, color); + f->draw_string(ci, Point2(10, 10 + f->get_ascent(font_size)), String::num(exp, 2), HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, color); } void CustomPropertyEditor::_text_edit_changed() { @@ -1864,7 +1864,7 @@ CustomPropertyEditor::CustomPropertyEditor() { slider->connect("value_changed", callable_mp(this, &CustomPropertyEditor::_range_modified)); action_hboxes = memnew(HBoxContainer); - action_hboxes->set_alignment(BoxContainer::ALIGN_CENTER); + action_hboxes->set_alignment(BoxContainer::ALIGNMENT_CENTER); value_vbox->add_child(action_hboxes); for (int i = 0; i < MAX_ACTION_BUTTONS; i++) { action_buttons[i] = memnew(Button); diff --git a/editor/property_editor.h b/editor/property_editor.h index 2565c6ee27..9d88aaf26d 100644 --- a/editor/property_editor.h +++ b/editor/property_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/property_selector.cpp b/editor/property_selector.cpp index 877b4552c1..3b0cbfdde9 100644 --- a/editor/property_selector.cpp +++ b/editor/property_selector.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -181,7 +181,7 @@ void PropertySelector::_update_search() { continue; } - if (search_box->get_text() != String() && E.name.findn(search_text) == -1) { + if (!search_box->get_text().is_empty() && E.name.findn(search_text) == -1) { continue; } @@ -194,7 +194,7 @@ void PropertySelector::_update_search() { item->set_metadata(0, E.name); item->set_icon(0, type_icons[E.type]); - if (!found && search_box->get_text() != String() && E.name.findn(search_text) != -1) { + if (!found && !search_box->get_text().is_empty() && E.name.findn(search_text) != -1) { item->select(0); found = true; } @@ -269,7 +269,7 @@ void PropertySelector::_update_search() { continue; } - if (search_box->get_text() != String() && name.findn(search_text) == -1) { + if (!search_box->get_text().is_empty() && name.findn(search_text) == -1) { continue; } @@ -318,7 +318,7 @@ void PropertySelector::_update_search() { item->set_metadata(0, name); item->set_selectable(0, true); - if (!found && search_box->get_text() != String() && name.findn(search_text) != -1) { + if (!found && !search_box->get_text().is_empty() && name.findn(search_text) != -1) { item->select(0); found = true; } @@ -353,7 +353,7 @@ void PropertySelector::_item_selected() { String class_type; if (type != Variant::NIL) { class_type = Variant::get_type_name(type); - } else if (base_type != String()) { + } else if (!base_type.is_empty()) { class_type = base_type; } else if (instance) { class_type = instance->get_class(); @@ -362,7 +362,7 @@ void PropertySelector::_item_selected() { DocTools *dd = EditorHelp::get_doc_data(); String text; if (properties) { - while (class_type != String()) { + while (!class_type.is_empty()) { Map<String, DocData::ClassDoc>::Element *E = dd->class_list.find(class_type); if (E) { for (int i = 0; i < E->get().properties.size(); i++) { @@ -373,7 +373,7 @@ void PropertySelector::_item_selected() { } } - if (text != String()) { + if (!text.is_empty()) { break; } @@ -381,7 +381,7 @@ void PropertySelector::_item_selected() { class_type = ClassDB::get_parent_class(class_type); } } else { - while (class_type != String()) { + while (!class_type.is_empty()) { Map<String, DocData::ClassDoc>::Element *E = dd->class_list.find(class_type); if (E) { for (int i = 0; i < E->get().methods.size(); i++) { @@ -392,7 +392,7 @@ void PropertySelector::_item_selected() { } } - if (text != String()) { + if (!text.is_empty()) { break; } @@ -401,7 +401,7 @@ void PropertySelector::_item_selected() { } } - if (text != String()) { + if (!text.is_empty()) { // 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)); diff --git a/editor/property_selector.h b/editor/property_selector.h index 37b00e938b..af848b9f18 100644 --- a/editor/property_selector.h +++ b/editor/property_selector.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/quick_open.cpp b/editor/quick_open.cpp index 7868414d89..118c016c6d 100644 --- a/editor/quick_open.cpp +++ b/editor/quick_open.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -79,7 +79,7 @@ void EditorQuickOpen::_build_search_cache(EditorFileSystemDirectory *p_efsd) { void EditorQuickOpen::_update_search() { const String search_text = search_box->get_text(); - const bool empty_search = search_text == ""; + const bool empty_search = search_text.is_empty(); // Filter possible candidates. Vector<Entry> entries; diff --git a/editor/quick_open.h b/editor/quick_open.h index f1787d522b..00edf46622 100644 --- a/editor/quick_open.h +++ b/editor/quick_open.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/register_exporters.h b/editor/register_exporters.h index 5091292b1a..09076af978 100644 --- a/editor/register_exporters.h +++ b/editor/register_exporters.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/rename_dialog.cpp b/editor/rename_dialog.cpp index eb73f88e61..0e34d200f2 100644 --- a/editor/rename_dialog.cpp +++ b/editor/rename_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -114,7 +114,7 @@ RenameDialog::RenameDialog(SceneTreeEditor *p_scene_tree_editor, UndoRedo *p_und vbc->add_child(cbut_collapse_features); tabc_features = memnew(TabContainer); - tabc_features->set_tab_align(TabContainer::ALIGN_LEFT); + tabc_features->set_tab_alignment(TabContainer::ALIGNMENT_LEFT); tabc_features->set_use_hidden_tabs_for_min_size(true); vbc->add_child(tabc_features); diff --git a/editor/rename_dialog.h b/editor/rename_dialog.h index f383877eb2..7a882dc693 100644 --- a/editor/rename_dialog.h +++ b/editor/rename_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/reparent_dialog.cpp b/editor/reparent_dialog.cpp index f862260212..1a83a61534 100644 --- a/editor/reparent_dialog.cpp +++ b/editor/reparent_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/reparent_dialog.h b/editor/reparent_dialog.h index 3fcdda7bed..3d76eb3294 100644 --- a/editor/reparent_dialog.h +++ b/editor/reparent_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp index 611038a947..8d4e7b444b 100644 --- a/editor/scene_tree_dock.cpp +++ b/editor/scene_tree_dock.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -190,7 +190,7 @@ void SceneTreeDock::_perform_instantiate_scenes(const Vector<String> &p_files, N break; } - if (edited_scene->get_scene_file_path() != "") { + if (!edited_scene->get_scene_file_path().is_empty()) { if (_cyclical_dependency_exists(edited_scene->get_scene_file_path(), instantiated_scene)) { accept->set_text(vformat(TTR("Cannot instance the scene '%s' because the current scene exists within one of its nodes."), p_files[i])); accept->popup_centered(); @@ -233,7 +233,7 @@ void SceneTreeDock::_perform_instantiate_scenes(const Vector<String> &p_files, N } editor_data->get_undo_redo().commit_action(); - editor->push_item(instances[instances.size() - 1]); + _push_item(instances[instances.size() - 1]); for (int i = 0; i < instances.size(); i++) { emit_signal(SNAME("node_created"), instances[i]); } @@ -419,6 +419,9 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { if (!selected_item) { selected_item = tree->get_root(); + if (!selected_item) { + break; + } } bool collapsed = _is_collapsed_recursive(selected_item); @@ -429,7 +432,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { } break; case TOOL_CUT: case TOOL_COPY: { - if (!edited_scene || !_validate_no_foreign()) { + if (!edited_scene || (p_tool == TOOL_CUT && !_validate_no_foreign())) { break; } @@ -464,7 +467,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { } bool has_cycle = false; - if (edited_scene->get_scene_file_path() != String()) { + if (!edited_scene->get_scene_file_path().is_empty()) { for (Node *E : node_clipboard) { if (edited_scene->get_scene_file_path() == E->get_scene_file_path()) { has_cycle = true; @@ -747,7 +750,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { editor_data->get_undo_redo().commit_action(); if (dupsingle) { - editor->push_item(dupsingle); + _push_item(dupsingle); } } break; case TOOL_REPARENT: { @@ -807,7 +810,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { return; } - if (node->get_scene_file_path() != String()) { + if (!node->get_scene_file_path().is_empty()) { accept->set_text(TTR("Instantiated scenes can't become root")); accept->popup_centered(); return; @@ -851,7 +854,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { mne->add_node(root->get_path_to(E.key)); } - EditorNode::get_singleton()->push_item(mne.ptr()); + _push_item(mne.ptr()); } break; @@ -886,7 +889,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { Node *node = remove_list[0]; if (node == editor_data->get_edited_scene_root()) { msg = vformat(TTR("Delete the root node \"%s\"?"), node->get_name()); - } else if (node->get_scene_file_path() == "" && node->get_child_count() > 0) { + } else if (node->get_scene_file_path().is_empty() && node->get_child_count() > 0) { // Display this message only for non-instantiated scenes msg = vformat(TTR("Delete node \"%s\" and its children?"), node->get_name()); } else { @@ -933,7 +936,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { break; } - if (tocopy != editor_data->get_edited_scene_root() && tocopy->get_scene_file_path() != "") { + if (tocopy != editor_data->get_edited_scene_root() && !tocopy->get_scene_file_path().is_empty()) { accept->set_text(TTR("Can't save the branch of an already instantiated scene.\nTo create a variation of a scene, you can make an inherited scene based on the instantiated scene using Scene > New Inherited Scene... instead.")); accept->popup_centered(); break; @@ -1049,7 +1052,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { break; } - ERR_FAIL_COND(node->get_scene_file_path() == String()); + ERR_FAIL_COND(node->get_scene_file_path().is_empty()); undo_redo->create_action(TTR("Make Local")); undo_redo->add_do_method(node, "set_scene_file_path", ""); undo_redo->add_undo_method(node, "set_scene_file_path", node->get_scene_file_path()); @@ -1161,7 +1164,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { Object *obj = ObjectDB::get_instance(subresources[idx]); ERR_FAIL_COND(!obj); - editor->push_item(obj); + _push_item(obj); } } } @@ -1306,6 +1309,7 @@ void SceneTreeDock::_notification(int p_what) { button_instance->set_icon(get_theme_icon(SNAME("Instance"), SNAME("EditorIcons"))); button_create_script->set_icon(get_theme_icon(SNAME("ScriptCreate"), SNAME("EditorIcons"))); button_detach_script->set_icon(get_theme_icon(SNAME("ScriptRemove"), SNAME("EditorIcons"))); + button_tree_menu->set_icon(get_theme_icon(SNAME("GuiTabMenuHl"), SNAME("EditorIcons"))); button_2d->set_icon(get_theme_icon(SNAME("Node2D"), SNAME("EditorIcons"))); button_3d->set_icon(get_theme_icon(SNAME("Node3D"), SNAME("EditorIcons"))); button_ui->set_icon(get_theme_icon(SNAME("Control"), SNAME("EditorIcons"))); @@ -1364,6 +1368,12 @@ void SceneTreeDock::_script_open_request(const Ref<Script> &p_script) { editor->edit_resource(p_script); } +void SceneTreeDock::_push_item(Object *p_object) { + if (!Input::get_singleton()->is_key_pressed(Key::ALT)) { + editor->push_item(p_object); + } +} + void SceneTreeDock::_node_selected() { Node *node = scene_tree->get_selected(); @@ -1375,7 +1385,7 @@ void SceneTreeDock::_node_selected() { restore_script_editor_on_drag = true; } - editor->push_item(node); + _push_item(node); } void SceneTreeDock::_node_renamed() { @@ -1699,7 +1709,7 @@ bool SceneTreeDock::_validate_no_instance() { List<Node *> selection = editor_selection->get_selected_node_list(); for (Node *E : selection) { - if (E != edited_scene && E->get_scene_file_path() != "") { + if (E != edited_scene && !E->get_scene_file_path().is_empty()) { accept->set_text(TTR("This operation can't be done on instantiated scenes.")); accept->popup_centered(); return false; @@ -1946,7 +1956,7 @@ void SceneTreeDock::_script_created(Ref<Script> p_script) { editor_data->get_undo_redo().commit_action(); - editor->push_item(p_script.operator->()); + _push_item(p_script.operator->()); _update_script_button(); } @@ -2094,7 +2104,7 @@ void SceneTreeDock::_delete_confirm(bool p_cut) { editor->get_viewport_control()->update(); } - editor->push_item(nullptr); + _push_item(nullptr); // Fixes the EditorHistory from still offering deleted notes EditorHistory *editor_history = EditorNode::get_singleton()->get_editor_history(); @@ -2138,9 +2148,9 @@ void SceneTreeDock::_selection_changed() { //automatically turn on multi-edit _tool_selected(TOOL_MULTI_EDIT); } else if (selection_size == 1) { - editor->push_item(editor_selection->get_selection().front()->key()); + _push_item(editor_selection->get_selection().front()->key()); } else if (selection_size == 0) { - editor->push_item(nullptr); + _push_item(nullptr); } _update_script_button(); @@ -2176,7 +2186,7 @@ void SceneTreeDock::_do_create(Node *p_parent) { } editor_data->get_undo_redo().commit_action(); - editor->push_item(c); + _push_item(c); editor_selection->clear(); editor_selection->add_node(child); if (Object::cast_to<Control>(c)) { @@ -2334,7 +2344,7 @@ void SceneTreeDock::replace_node(Node *p_node, Node *p_by_node, bool p_keep_prop memdelete(default_oldnode); } - editor->push_item(nullptr); + _push_item(nullptr); //reconnect signals List<MethodInfo> sl; @@ -2378,7 +2388,7 @@ void SceneTreeDock::replace_node(Node *p_node, Node *p_by_node, bool p_keep_prop } newnode->set_name(newname); - editor->push_item(newnode); + _push_item(newnode); if (p_remove_old) { memdelete(n); @@ -2757,7 +2767,7 @@ void SceneTreeDock::_tree_rmb(const Vector2 &p_menu_pos) { bool can_replace = true; for (Node *E : selection) { - if (E != edited_scene && (E->get_owner() != edited_scene || E->get_scene_file_path() != "")) { + if (E != edited_scene && (E->get_owner() != edited_scene || !E->get_scene_file_path().is_empty())) { can_replace = false; break; } @@ -2789,7 +2799,7 @@ void SceneTreeDock::_tree_rmb(const Vector2 &p_menu_pos) { menu->add_icon_shortcut(get_theme_icon(SNAME("CopyNodePath"), SNAME("EditorIcons")), ED_GET_SHORTCUT("scene_tree/copy_node_path"), TOOL_COPY_NODE_PATH); } - bool is_external = (selection[0]->get_scene_file_path() != ""); + bool is_external = (!selection[0]->get_scene_file_path().is_empty()); if (is_external) { bool is_inherited = selection[0]->get_scene_inherited_state() != nullptr; bool is_top_level = selection[0]->get_owner() == nullptr; @@ -2902,9 +2912,9 @@ void SceneTreeDock::attach_script_to_selected(bool p_extend) { Ref<Script> existing = selected->get_script(); String path = selected->get_scene_file_path(); - if (path == "") { + if (path.is_empty()) { String root_path = editor_data->get_edited_scene_root()->get_scene_file_path(); - if (root_path == "") { + if (root_path.is_empty()) { path = String("res://").plus_file(selected->get_name()); } else { path = root_path.get_base_dir().plus_file(selected->get_name()); @@ -2952,7 +2962,7 @@ void SceneTreeDock::attach_shader_to_selected(int p_preferred_mode) { } String path = selected_shader_material->get_path(); - if (path == "") { + if (path.is_empty()) { String root_path; if (editor_data->get_edited_scene_root()) { root_path = editor_data->get_edited_scene_root()->get_scene_file_path(); @@ -2963,7 +2973,7 @@ void SceneTreeDock::attach_shader_to_selected(int p_preferred_mode) { } else { shader_name = selected_shader_material->get_name(); } - if (root_path == "") { + if (root_path.is_empty()) { path = String("res://").plus_file(shader_name); } else { path = root_path.get_base_dir().plus_file(shader_name); @@ -2973,7 +2983,7 @@ void SceneTreeDock::attach_shader_to_selected(int p_preferred_mode) { 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, true, true, p_preferred_mode); + shader_create_dialog->config(path, true, true, -1, p_preferred_mode); shader_create_dialog->popup_centered(); } @@ -3066,7 +3076,7 @@ void SceneTreeDock::_update_create_root_dialog() { while (!f->eof_reached()) { String l = f->get_line().strip_edges(); - if (l != String()) { + if (!l.is_empty()) { Button *button = memnew(Button); favorite_nodes->add_child(button); button->set_text(l); @@ -3153,8 +3163,9 @@ void SceneTreeDock::_create_remap_for_node(Node *p_node, Map<RES, RES> &r_remap) states_stack_ready = true; } - Variant orig = PropertyUtils::get_property_default_value(p_node, E.name, &states_stack); - if (!PropertyUtils::is_property_value_different(v, orig)) { + bool is_valid_default = false; + Variant orig = PropertyUtils::get_property_default_value(p_node, E.name, &is_valid_default, &states_stack); + if (is_valid_default && !PropertyUtils::is_property_value_different(v, orig)) { continue; } diff --git a/editor/scene_tree_dock.h b/editor/scene_tree_dock.h index c6e47fa002..ffaf34cfdc 100644 --- a/editor/scene_tree_dock.h +++ b/editor/scene_tree_dock.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -31,7 +31,6 @@ #ifndef SCENE_TREE_DOCK_H #define SCENE_TREE_DOCK_H -#include "editor/connections_dialog.h" #include "editor/create_dialog.h" #include "editor/editor_data.h" #include "editor/groups_editor.h" @@ -197,6 +196,7 @@ class SceneTreeDock : public VBoxContainer { void _node_replace_owner(Node *p_base, Node *p_node, Node *p_root, ReplaceOwnerMode p_mode = MODE_BIDI); void _load_request(const String &p_path); void _script_open_request(const Ref<Script> &p_script); + void _push_item(Object *p_object); bool _cyclical_dependency_exists(const String &p_target_scene_path, Node *p_desired_node); bool _track_inherit(const String &p_target_scene_path, Node *p_desired_node); diff --git a/editor/scene_tree_editor.cpp b/editor/scene_tree_editor.cpp index 73523474ef..c1ceba27b3 100644 --- a/editor/scene_tree_editor.cpp +++ b/editor/scene_tree_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -120,7 +120,7 @@ void SceneTreeEditor::_cell_button_pressed(Object *p_item, int p_column, int p_i undo_redo->commit_action(); } else if (p_id == BUTTON_WARNING) { String config_err = n->get_configuration_warnings_as_string(); - if (config_err == String()) { + if (config_err.is_empty()) { return; } config_err = config_err.word_wrap(80); @@ -297,16 +297,16 @@ bool SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent, bool p_scroll item->add_button(0, get_theme_icon(SNAME("InstanceOptions"), SNAME("EditorIcons")), BUTTON_SUBSCENE, false, TTR("Open in Editor")); String tooltip = String(p_node->get_name()) + "\n" + TTR("Inherits:") + " " + p_node->get_scene_inherited_state()->get_path() + "\n" + TTR("Type:") + " " + p_node->get_class(); - if (p_node->get_editor_description() != String()) { + if (!p_node->get_editor_description().is_empty()) { tooltip += "\n\n" + p_node->get_editor_description(); } item->set_tooltip(0, tooltip); - } else if (p_node != get_scene_node() && p_node->get_scene_file_path() != "" && can_open_instance) { + } else if (p_node != get_scene_node() && !p_node->get_scene_file_path().is_empty() && can_open_instance) { item->add_button(0, get_theme_icon(SNAME("InstanceOptions"), SNAME("EditorIcons")), BUTTON_SUBSCENE, false, TTR("Open in Editor")); String tooltip = String(p_node->get_name()) + "\n" + TTR("Instance:") + " " + p_node->get_scene_file_path() + "\n" + TTR("Type:") + " " + p_node->get_class(); - if (p_node->get_editor_description() != String()) { + if (!p_node->get_editor_description().is_empty()) { tooltip += "\n\n" + p_node->get_editor_description(); } @@ -318,7 +318,7 @@ bool SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent, bool p_scroll } String tooltip = String(p_node->get_name()) + "\n" + TTR("Type:") + " " + type; - if (p_node->get_editor_description() != String()) { + if (!p_node->get_editor_description().is_empty()) { tooltip += "\n\n" + p_node->get_editor_description(); } @@ -955,7 +955,7 @@ Variant SceneTreeEditor::get_drag_data_fw(const Point2 &p_point, Control *p_from Node *n = get_node(np); if (n) { // Only allow selection if not part of an instantiated scene. - if (!n->get_owner() || n->get_owner() == get_scene_node() || n->get_owner()->get_scene_file_path() == String()) { + if (!n->get_owner() || n->get_owner() == get_scene_node() || n->get_owner()->get_scene_file_path().is_empty()) { selected.push_back(n); icons.push_back(next->get_icon(0)); } @@ -1069,7 +1069,7 @@ bool SceneTreeEditor::can_drop_data_fw(const Point2 &p_point, const Variant &p_d } } - return String(d["type"]) == "nodes" && filter == String(); + return String(d["type"]) == "nodes" && filter.is_empty(); } void SceneTreeEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) { @@ -1122,7 +1122,7 @@ void SceneTreeEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data, } void SceneTreeEditor::_rmb_select(const Vector2 &p_pos) { - emit_signal(SNAME("rmb_pressed"), tree->get_screen_transform().xform(p_pos)); + emit_signal(SNAME("rmb_pressed"), tree->get_screen_position() + p_pos); } void SceneTreeEditor::update_warning() { diff --git a/editor/scene_tree_editor.h b/editor/scene_tree_editor.h index b4c40ab17a..7fb1451934 100644 --- a/editor/scene_tree_editor.h +++ b/editor/scene_tree_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/script_create_dialog.cpp b/editor/script_create_dialog.cpp index fb1575ad8c..20c6aafc7f 100644 --- a/editor/script_create_dialog.cpp +++ b/editor/script_create_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -33,7 +33,6 @@ #include "core/config/project_settings.h" #include "core/io/file_access.h" #include "core/io/resource_saver.h" -#include "core/object/script_language.h" #include "core/string/string_builder.h" #include "editor/create_dialog.h" #include "editor/editor_node.h" @@ -45,17 +44,16 @@ void ScriptCreateDialog::_notification(int p_what) { case NOTIFICATION_ENTER_TREE: case NOTIFICATION_THEME_CHANGED: { for (int i = 0; i < ScriptServer::get_language_count(); i++) { - String lang = ScriptServer::get_language(i)->get_type(); - Ref<Texture2D> lang_icon = get_theme_icon(lang, SNAME("EditorIcons")); - if (lang_icon.is_valid()) { - language_menu->set_item_icon(i, lang_icon); + Ref<Texture2D> language_icon = get_theme_icon(ScriptServer::get_language(i)->get_type(), SNAME("EditorIcons")); + if (language_icon.is_valid()) { + language_menu->set_item_icon(i, language_icon); } } - String last_lang = EditorSettings::get_singleton()->get_project_metadata("script_setup", "last_selected_language", ""); - if (!last_lang.is_empty()) { + String last_language = EditorSettings::get_singleton()->get_project_metadata("script_setup", "last_selected_language", ""); + if (!last_language.is_empty()) { for (int i = 0; i < language_menu->get_item_count(); i++) { - if (language_menu->get_item_text(i) == last_lang) { + if (language_menu->get_item_text(i) == last_language) { language_menu->select(i); current_language = i; break; @@ -64,6 +62,10 @@ void ScriptCreateDialog::_notification(int p_what) { } else { language_menu->select(default_language); } + if (EditorSettings::get_singleton()->has_meta("script_setup/use_script_templates")) { + is_using_templates = bool(EditorSettings::get_singleton()->get_meta("script_setup/use_script_templates")); + use_templates->set_pressed(is_using_templates); + } path_button->set_icon(get_theme_icon(SNAME("Folder"), SNAME("EditorIcons"))); parent_browse_button->set_icon(get_theme_icon(SNAME("Folder"), SNAME("EditorIcons"))); @@ -101,7 +103,7 @@ void ScriptCreateDialog::config(const String &p_base_name, const String &p_base_ parent_name->set_text(p_base_name); parent_name->deselect(); - if (p_base_path != "") { + if (!p_base_path.is_empty()) { initial_bp = p_base_path.get_basename(); file_path->set_text(initial_bp + "." + ScriptServer::get_language(language_menu->get_selected())->get_extension()); current_language = language_menu->get_selected(); @@ -114,7 +116,7 @@ void ScriptCreateDialog::config(const String &p_base_name, const String &p_base_ built_in_enabled = p_built_in_enabled; load_enabled = p_load_enabled; - _lang_changed(current_language); + _language_changed(current_language); _class_name_changed(""); _path_changed(file_path->get_text()); } @@ -145,8 +147,9 @@ bool ScriptCreateDialog::_validate_class(const String &p_string) { for (int i = 0; i < p_string.length(); i++) { if (i == 0) { + // Cannot start with a number. if (p_string[0] >= '0' && p_string[0] <= '9') { - return false; // no start with number plz + return false; } } @@ -163,13 +166,17 @@ bool ScriptCreateDialog::_validate_class(const String &p_string) { String ScriptCreateDialog::_validate_path(const String &p_path, bool p_file_must_exist) { String p = p_path.strip_edges(); - if (p == "") { + if (p.is_empty()) { return TTR("Path is empty."); } - if (p.get_file().get_basename() == "") { + if (p.get_file().get_basename().is_empty()) { return TTR("Filename is empty."); } + if (!p.get_file().get_basename().is_valid_filename()) { + return TTR("Filename is invalid."); + } + p = ProjectSettings::get_singleton()->localize_path(p); if (!p.begins_with("res://")) { return TTR("Path is not local."); @@ -178,11 +185,11 @@ String ScriptCreateDialog::_validate_path(const String &p_path, bool p_file_must DirAccess *d = DirAccess::create(DirAccess::ACCESS_RESOURCES); if (d->change_dir(p.get_base_dir()) != OK) { memdelete(d); - return TTR("Invalid base path."); + return TTR("Base path is invalid."); } memdelete(d); - /* Does file already exist */ + // Check if file exists. DirAccess *f = DirAccess::create(DirAccess::ACCESS_RESOURCES); if (f->dir_exists(p)) { memdelete(f); @@ -193,11 +200,11 @@ String ScriptCreateDialog::_validate_path(const String &p_path, bool p_file_must } memdelete(f); - /* Check file extension */ + // Check file extension. String extension = p.get_extension(); List<String> extensions; - // get all possible extensions for script + // Get all possible extensions for script. for (int l = 0; l < language_menu->get_item_count(); l++) { ScriptServer::get_language(l)->get_recognized_extensions(&extensions); } @@ -207,8 +214,6 @@ String ScriptCreateDialog::_validate_path(const String &p_path, bool p_file_must int index = 0; for (const String &E : extensions) { if (E.nocasecmp_to(extension) == 0) { - //FIXME (?) - changing language this way doesn't update controls, needs rework - //language_menu->select(index); // change Language option by extension found = true; if (E == ScriptServer::get_language(language_menu->get_selected())->get_extension()) { match = true; @@ -222,16 +227,16 @@ String ScriptCreateDialog::_validate_path(const String &p_path, bool p_file_must return TTR("Invalid extension."); } if (!match) { - return TTR("Wrong extension chosen."); + return TTR("Extension doesn't match chosen language."); } - /* Let ScriptLanguage do custom validation */ + // Let ScriptLanguage do custom validation. String path_error = ScriptServer::get_language(language_menu->get_selected())->validate_path(p); - if (path_error != "") { + if (!path_error.is_empty()) { return path_error; } - /* All checks passed */ + // All checks passed. return ""; } @@ -244,40 +249,49 @@ String ScriptCreateDialog::_get_class_name() const { } void ScriptCreateDialog::_class_name_changed(const String &p_name) { - if (_validate_class(class_name->get_text())) { - is_class_name_valid = true; - } else { - is_class_name_valid = false; - } + is_class_name_valid = _validate_class(class_name->get_text()); _update_dialog(); } void ScriptCreateDialog::_parent_name_changed(const String &p_parent) { - if (_validate_parent(parent_name->get_text())) { - is_parent_name_valid = true; - } else { - is_parent_name_valid = false; - } + is_parent_name_valid = _validate_parent(parent_name->get_text()); _update_dialog(); } void ScriptCreateDialog::_template_changed(int p_template) { - String selected_template = p_template == 0 ? "" : template_menu->get_item_text(p_template); - EditorSettings::get_singleton()->set_project_metadata("script_setup", "last_selected_template", selected_template); - if (p_template == 0) { - //default - script_template = ""; - return; - } - int selected_id = template_menu->get_selected_id(); - - for (int i = 0; i < template_list.size(); i++) { - const ScriptTemplateInfo &sinfo = template_list[i]; - if (sinfo.id == selected_id) { - script_template = sinfo.dir.plus_file(sinfo.name + "." + sinfo.extension); - break; + const ScriptLanguage::ScriptTemplate &sinfo = _get_current_template(); + // Update last used dictionaries + if (is_using_templates && !parent_name->get_text().begins_with("\"res:")) { + if (sinfo.origin == ScriptLanguage::TemplateLocation::TEMPLATE_PROJECT) { + // Save the last used template for this node into the project dictionary. + Dictionary dic_templates_project = EditorSettings::get_singleton()->get_project_metadata("script_setup", "templates_dictionary", Dictionary()); + dic_templates_project[parent_name->get_text()] = sinfo.get_hash(); + EditorSettings::get_singleton()->set_project_metadata("script_setup", "templates_dictionary", dic_templates_project); + } else { + // Save template into to editor dictionary (not a project template). + Dictionary dic_templates; + if (EditorSettings::get_singleton()->has_meta("script_setup/templates_dictionary")) { + dic_templates = (Dictionary)EditorSettings::get_singleton()->get_meta("script_setup/templates_dictionary"); + } + dic_templates[parent_name->get_text()] = sinfo.get_hash(); + EditorSettings::get_singleton()->set_meta("script_setup/templates_dictionary", dic_templates); + // Remove template from project dictionary as we last used an editor level template. + Dictionary dic_templates_project = EditorSettings::get_singleton()->get_project_metadata("script_setup", "templates_dictionary", Dictionary()); + if (dic_templates_project.has(parent_name->get_text())) { + dic_templates_project.erase(parent_name->get_text()); + EditorSettings::get_singleton()->set_project_metadata("script_setup", "templates_dictionary", dic_templates_project); + } } } + // Update template label information. + String template_info = String::utf8("• "); + template_info += TTR("Template:"); + template_info += " " + sinfo.name; + if (!sinfo.description.is_empty()) { + template_info += " - " + sinfo.description; + } + template_info_label->set_text(template_info); + template_info_label->add_theme_color_override("font_color", get_theme_color(SNAME("success_color"), SNAME("Editor"))); } void ScriptCreateDialog::ok_pressed() { @@ -287,6 +301,7 @@ void ScriptCreateDialog::ok_pressed() { _load_exist(); } + EditorSettings::get_singleton()->save(); is_new_script_created = true; _update_dialog(); } @@ -295,18 +310,10 @@ void ScriptCreateDialog::_create_new() { String cname_param = _get_class_name(); Ref<Script> scr; - if (script_template != "") { - scr = ResourceLoader::load(script_template); - if (scr.is_null()) { - alert->set_text(vformat(TTR("Error loading template '%s'"), script_template)); - alert->popup_centered(); - return; - } - scr = scr->duplicate(); - ScriptServer::get_language(language_menu->get_selected())->make_template(cname_param, parent_name->get_text(), scr); - } else { - scr = ScriptServer::get_language(language_menu->get_selected())->get_template(cname_param, parent_name->get_text()); - } + + const ScriptLanguage::ScriptTemplate sinfo = _get_current_template(); + + scr = ScriptServer::get_language(language_menu->get_selected())->make_template(sinfo.content, cname_param, parent_name->get_text()); if (has_named_classes) { String cname = class_name->get_text(); @@ -345,8 +352,20 @@ void ScriptCreateDialog::_load_exist() { hide(); } -void ScriptCreateDialog::_lang_changed(int l) { - ScriptLanguage *language = ScriptServer::get_language(l); +Vector<String> ScriptCreateDialog::get_hierarchy(String p_object) const { + Vector<String> hierachy; + hierachy.append(p_object); + + String parent_class = ClassDB::get_parent_class(p_object); + while (parent_class.is_valid_identifier()) { + hierachy.append(parent_class); + parent_class = ClassDB::get_parent_class(parent_class); + } + return hierachy; +} + +void ScriptCreateDialog::_language_changed(int l) { + language = ScriptServer::get_language(l); has_named_classes = language->has_named_classes(); can_inherit_from_file = language->can_inherit_from_file(); @@ -358,19 +377,19 @@ void ScriptCreateDialog::_lang_changed(int l) { String selected_ext = "." + language->get_extension(); String path = file_path->get_text(); String extension = ""; - if (path != "") { + if (!path.is_empty()) { if (path.find(".") != -1) { extension = path.get_extension(); } if (extension.length() == 0) { - // add extension if none + // Add extension if none. path += selected_ext; _path_changed(path); } else { - // change extension by selected language + // Change extension by selected language. List<String> extensions; - // get all possible extensions for script + // Get all possible extensions for script. for (int m = 0; m < language_menu->get_item_count(); m++) { ScriptServer::get_language(m)->get_recognized_extensions(&extensions); } @@ -389,123 +408,12 @@ void ScriptCreateDialog::_lang_changed(int l) { } file_path->set_text(path); - bool use_templates = language->is_using_templates(); - template_menu->set_disabled(!use_templates); - template_menu->clear(); - - if (use_templates) { - _update_script_templates(language->get_extension()); - - String last_lang = EditorSettings::get_singleton()->get_project_metadata("script_setup", "last_selected_language", ""); - String last_template = EditorSettings::get_singleton()->get_project_metadata("script_setup", "last_selected_template", ""); - - template_menu->add_item(TTR("Default")); - - ScriptTemplateInfo *templates = template_list.ptrw(); - - Vector<String> origin_names; - origin_names.push_back(TTR("Project")); - origin_names.push_back(TTR("Editor")); - int cur_origin = -1; - - // Populate script template items previously sorted and now grouped by origin - for (int i = 0; i < template_list.size(); i++) { - if (int(templates[i].origin) != cur_origin) { - template_menu->add_separator(); - - String origin_name = origin_names[templates[i].origin]; - - int last_index = template_menu->get_item_count() - 1; - template_menu->set_item_text(last_index, origin_name); - - cur_origin = templates[i].origin; - } - String item_name = templates[i].name.capitalize(); - template_menu->add_item(item_name); - - int new_id = template_menu->get_item_count() - 1; - templates[i].id = new_id; - } - // Disable overridden - for (const KeyValue<String, Vector<int>> &E : template_overrides) { - const Vector<int> &overrides = E.value; - - if (overrides.size() == 1) { - continue; // doesn't override anything - } - const ScriptTemplateInfo &extended = template_list[overrides[0]]; - - StringBuilder override_info; - override_info += TTR("Overrides"); - override_info += ": "; - - for (int i = 1; i < overrides.size(); i++) { - const ScriptTemplateInfo &overridden = template_list[overrides[i]]; - - int disable_index = template_menu->get_item_index(overridden.id); - template_menu->set_item_disabled(disable_index, true); - - override_info += origin_names[overridden.origin]; - if (i < overrides.size() - 1) { - override_info += ", "; - } - } - template_menu->set_item_icon(extended.id, get_theme_icon(SNAME("Override"), SNAME("EditorIcons"))); - template_menu->get_popup()->set_item_tooltip(extended.id, override_info.as_string()); - } - // Reselect last selected template - for (int i = 0; i < template_menu->get_item_count(); i++) { - const String &ti = template_menu->get_item_text(i); - if (language_menu->get_item_text(language_menu->get_selected()) == last_lang && last_template == ti) { - template_menu->select(i); - break; - } - } - } else { - template_menu->add_item(TTR("N/A")); - script_template = ""; - } - - _template_changed(template_menu->get_selected()); EditorSettings::get_singleton()->set_project_metadata("script_setup", "last_selected_language", language_menu->get_item_text(language_menu->get_selected())); _parent_name_changed(parent_name->get_text()); _update_dialog(); } -void ScriptCreateDialog::_update_script_templates(const String &p_extension) { - template_list.clear(); - template_overrides.clear(); - - Vector<String> dirs; - - // Ordered from local to global for correct override mechanism - dirs.push_back(EditorSettings::get_singleton()->get_project_script_templates_dir()); - dirs.push_back(EditorSettings::get_singleton()->get_script_templates_dir()); - - for (int i = 0; i < dirs.size(); i++) { - Vector<String> list = EditorSettings::get_singleton()->get_script_templates(p_extension, dirs[i]); - - for (int j = 0; j < list.size(); j++) { - ScriptTemplateInfo sinfo; - sinfo.origin = ScriptOrigin(i); - sinfo.dir = dirs[i]; - sinfo.name = list[j]; - sinfo.extension = p_extension; - template_list.push_back(sinfo); - - if (!template_overrides.has(sinfo.name)) { - Vector<int> overrides; - overrides.push_back(template_list.size() - 1); // first one - template_overrides.insert(sinfo.name, overrides); - } else { - Vector<int> &overrides = template_overrides[sinfo.name]; - overrides.push_back(template_list.size() - 1); - } - } - } -} - void ScriptCreateDialog::_built_in_pressed() { if (internal->is_pressed()) { is_built_in = true; @@ -517,6 +425,12 @@ void ScriptCreateDialog::_built_in_pressed() { _update_dialog(); } +void ScriptCreateDialog::_use_template_pressed() { + is_using_templates = use_templates->is_pressed(); + EditorSettings::get_singleton()->set_meta("script_setup/use_script_templates", is_using_templates); + _update_dialog(); +} + void ScriptCreateDialog::_browse_path(bool browse_parent, bool p_save) { is_browsing_parent = browse_parent; @@ -545,16 +459,16 @@ void ScriptCreateDialog::_browse_path(bool browse_parent, bool p_save) { } void ScriptCreateDialog::_file_selected(const String &p_file) { - String p = ProjectSettings::get_singleton()->localize_path(p_file); + String path = ProjectSettings::get_singleton()->localize_path(p_file); if (is_browsing_parent) { - parent_name->set_text("\"" + p + "\""); + parent_name->set_text("\"" + path + "\""); _parent_name_changed(parent_name->get_text()); } else { - file_path->set_text(p); - _path_changed(p); + file_path->set_text(path); + _path_changed(path); - String filename = p.get_file().get_basename(); - int select_start = p.rfind(filename); + String filename = path.get_file().get_basename(); + int select_start = path.rfind(filename); file_path->select(select_start, select_start + filename.length()); file_path->set_caret_column(select_start + filename.length()); file_path->grab_focus(); @@ -582,13 +496,13 @@ void ScriptCreateDialog::_path_changed(const String &p_path) { is_new_script_created = true; String path_error = _validate_path(p_path, false); - if (path_error != "") { + if (!path_error.is_empty()) { _msg_path_valid(false, path_error); _update_dialog(); return; } - /* Does file already exist */ + // Check if file exists. DirAccess *f = DirAccess::create(DirAccess::ACCESS_RESOURCES); String p = ProjectSettings::get_singleton()->localize_path(p_path.strip_edges()); if (f->file_exists(p)) { @@ -623,9 +537,98 @@ void ScriptCreateDialog::_msg_path_valid(bool valid, const String &p_msg) { } } -void ScriptCreateDialog::_update_dialog() { - /* "Add Script Dialog" GUI logic and script checks. */ +void ScriptCreateDialog::_update_template_menu() { + bool is_language_using_templates = language->is_using_templates(); + template_menu->set_disabled(false); + template_menu->clear(); + template_list.clear(); + if (is_language_using_templates) { + // Get the lastest templates used for each type of node from project settings then global settings. + Dictionary last_local_templates = EditorSettings::get_singleton()->get_project_metadata("script_setup", "templates_dictionary", Dictionary()); + Dictionary last_global_templates; + if (EditorSettings::get_singleton()->has_meta("script_setup/templates_dictionary")) { + last_global_templates = (Dictionary)EditorSettings::get_singleton()->get_meta("script_setup/templates_dictionary"); + } + String inherits_base_type = parent_name->get_text(); + + // If it inherits from a script, select Object instead. + if (inherits_base_type[0] == '"') { + inherits_base_type = "Object"; + } + + // Get all ancestor node for selected base node. + // There templates will also fit the base node. + Vector<String> hierarchy = get_hierarchy(inherits_base_type); + int last_used_template = -1; + int preselected_template = -1; + int previous_ancestor_level = -1; + + // Templates can be stored in tree different locations. + Vector<ScriptLanguage::TemplateLocation> template_locations; + template_locations.append(ScriptLanguage::TEMPLATE_PROJECT); + template_locations.append(ScriptLanguage::TEMPLATE_EDITOR); + template_locations.append(ScriptLanguage::TEMPLATE_BUILT_IN); + + for (const ScriptLanguage::TemplateLocation &template_location : template_locations) { + String display_name = _get_script_origin_label(template_location); + bool separator = false; + int ancestor_level = 0; + for (const String ¤t_node : hierarchy) { + Vector<ScriptLanguage::ScriptTemplate> templates_found; + if (template_location == ScriptLanguage::TEMPLATE_BUILT_IN) { + templates_found = language->get_built_in_templates(current_node); + } else { + String template_directory; + if (template_location == ScriptLanguage::TEMPLATE_PROJECT) { + template_directory = EditorSettings::get_singleton()->get_project_script_templates_dir(); + } else { + template_directory = EditorSettings::get_singleton()->get_script_templates_dir(); + } + templates_found = _get_user_templates(language, current_node, template_directory, template_location); + } + if (!templates_found.is_empty()) { + if (!separator) { + template_menu->add_separator(); + template_menu->set_item_text(template_menu->get_item_count() - 1, display_name); + separator = true; + } + for (ScriptLanguage::ScriptTemplate &t : templates_found) { + template_menu->add_item(t.inherit + ": " + t.name); + int id = template_menu->get_item_count() - 1; + // Check if this template should be preselected if node isn't in the last used dictionary. + if (ancestor_level < previous_ancestor_level || previous_ancestor_level == -1) { + previous_ancestor_level = ancestor_level; + preselected_template = id; + } + // Check for last used template for this node in project settings then in global settings. + if (last_local_templates.has(parent_name->get_text()) && t.get_hash() == String(last_local_templates[parent_name->get_text()])) { + last_used_template = id; + } else if (last_used_template == -1 && last_global_templates.has(parent_name->get_text()) && t.get_hash() == String(last_global_templates[parent_name->get_text()])) { + last_used_template = id; + } + t.id = id; + template_list.push_back(t); + String icon = has_theme_icon(t.inherit, SNAME("EditorIcons")) ? t.inherit : "Object"; + template_menu->set_item_icon(id, get_theme_icon(icon, SNAME("EditorIcons"))); + } + } + ancestor_level++; + } + } + + if (last_used_template != -1) { + template_menu->select(last_used_template); + } else if (preselected_template != -1) { + template_menu->select(preselected_template); + } + } + _template_changed(template_menu->get_selected()); +} + +void ScriptCreateDialog::_update_dialog() { + // "Add Script Dialog" GUI logic and script checks. + _update_template_menu(); bool script_ok = true; // Is script path/name valid (order from top to bottom)? @@ -697,41 +700,51 @@ void ScriptCreateDialog::_update_dialog() { // This warning isn't relevant if the script is built-in. script_name_warning_label->set_visible(!is_built_in && _get_class_name() == parent_name->get_text()); - if (is_built_in) { - get_ok_button()->set_text(TTR("Create")); - parent_name->set_editable(true); - parent_search_button->set_disabled(false); - parent_browse_button->set_disabled(!can_inherit_from_file); - _msg_path_valid(true, TTR("Built-in script (into scene file).")); - } else if (is_new_script_created) { - // New script created. - - get_ok_button()->set_text(TTR("Create")); - parent_name->set_editable(true); - parent_search_button->set_disabled(false); - parent_browse_button->set_disabled(!can_inherit_from_file); - if (is_path_valid) { + bool is_new_file = is_built_in || is_new_script_created; + + parent_name->set_editable(is_new_file); + parent_search_button->set_disabled(!is_new_file); + parent_browse_button->set_disabled(!is_new_file || !can_inherit_from_file); + template_inactive_message = ""; + String button_text = is_new_file ? TTR("Create") : TTR("Load"); + get_ok_button()->set_text(button_text); + + if (is_new_file) { + if (is_built_in) { + _msg_path_valid(true, TTR("Built-in script (into scene file).")); + } + if (is_new_script_created && is_path_valid) { _msg_path_valid(true, TTR("Will create a new script file.")); } - } else if (load_enabled) { - // Script loaded. - - get_ok_button()->set_text(TTR("Load")); - parent_name->set_editable(false); - parent_search_button->set_disabled(true); - parent_browse_button->set_disabled(true); - if (is_path_valid) { - _msg_path_valid(true, TTR("Will load an existing script file.")); + } else { + if (load_enabled) { + template_inactive_message = TTR("Using existing script file."); + if (is_path_valid) { + _msg_path_valid(true, TTR("Will load an existing script file.")); + } + } else { + template_inactive_message = TTR("Using existing script file."); + _msg_path_valid(false, TTR("Script file already exists.")); + script_ok = false; + } + } + + // Show templates list if needed. + if (is_using_templates) { + // Check if at least one suitable template has been found. + if (template_menu->get_item_count() == 0 && template_inactive_message.is_empty()) { + template_inactive_message = TTR("No suitable template."); } } else { - get_ok_button()->set_text(TTR("Create")); - parent_name->set_editable(true); - parent_search_button->set_disabled(false); - parent_browse_button->set_disabled(!can_inherit_from_file); - _msg_path_valid(false, TTR("Script file already exists.")); + template_inactive_message = TTR("Empty"); + } - script_ok = false; + if (!template_inactive_message.is_empty()) { + template_menu->set_disabled(true); + template_menu->clear(); + template_menu->add_item(template_inactive_message); } + template_info_label->set_visible(!template_menu->is_disabled()); get_ok_button()->set_disabled(!script_ok); @@ -745,6 +758,122 @@ void ScriptCreateDialog::_update_dialog() { } } +ScriptLanguage::ScriptTemplate ScriptCreateDialog::_get_current_template() const { + int selected_id = template_menu->get_selected_id(); + for (const ScriptLanguage::ScriptTemplate &t : template_list) { + if (is_using_templates) { + if (t.id == selected_id) { + return t; + } + } else { + // Using empty built-in template if templates are disabled. + if (t.origin == ScriptLanguage::TemplateLocation::TEMPLATE_BUILT_IN && t.name == "Empty") { + return t; + } + } + } + return ScriptLanguage::ScriptTemplate(); +} + +Vector<ScriptLanguage::ScriptTemplate> ScriptCreateDialog::_get_user_templates(const ScriptLanguage *language, const StringName &p_object, const String &p_dir, const ScriptLanguage::TemplateLocation &p_origin) const { + Vector<ScriptLanguage::ScriptTemplate> user_templates; + String extension = language->get_extension(); + + String dir_path = p_dir.plus_file(p_object); + + DirAccess *d = DirAccess::open(dir_path); + if (d) { + d->list_dir_begin(); + String file = d->get_next(); + while (file != String()) { + if (file.get_extension() == extension) { + user_templates.append(_parse_template(language, dir_path, file, p_origin, p_object)); + } + file = d->get_next(); + } + d->list_dir_end(); + memdelete(d); + } + return user_templates; +} + +ScriptLanguage::ScriptTemplate ScriptCreateDialog::_parse_template(const ScriptLanguage *language, const String &p_path, const String &p_filename, const ScriptLanguage::TemplateLocation &p_origin, const String &p_inherits) const { + ScriptLanguage::ScriptTemplate script_template = ScriptLanguage::ScriptTemplate(); + script_template.origin = p_origin; + script_template.inherit = p_inherits; + String space_indent = " "; + // Get meta delimiter + String meta_delimiter = String(); + List<String> comment_delimiters; + language->get_comment_delimiters(&comment_delimiters); + for (const String &script_delimiter : comment_delimiters) { + if (script_delimiter.find(" ") == -1) { + meta_delimiter = script_delimiter; + break; + } + } + String meta_prefix = meta_delimiter + " meta-"; + + // Parse file for meta-information and script content + Error err; + FileAccess *file = FileAccess::open(p_path.plus_file(p_filename), FileAccess::READ, &err); + if (!err) { + while (!file->eof_reached()) { + String line = file->get_line(); + if (line.begins_with(meta_prefix)) { + // Store meta information + line = line.substr(meta_prefix.length(), -1); + if (line.begins_with("name")) { + script_template.name = line.substr(5, -1).strip_edges(); + } + if (line.begins_with("description")) { + script_template.description = line.substr(12, -1).strip_edges(); + } + if (line.begins_with("space-indent")) { + String indent_value = line.substr(17, -1).strip_edges(); + if (indent_value.is_valid_int()) { + space_indent = ""; + for (int i = 0; i < indent_value.to_int(); i++) { + space_indent += " "; + } + } else { + WARN_PRINT(vformat("Template meta-use_space_indent need to be a valid integer value. Found %s.", indent_value)); + } + } + } else { + // Store script + if (space_indent != "") { + line = line.replace(space_indent, "_TS_"); + } + script_template.content += line.replace("\t", "_TS_") + "\n"; + } + } + file->close(); + memdelete(file); + } + + script_template.content = script_template.content.lstrip("\n"); + + // Get name from file name if no name in meta information + if (script_template.name == String()) { + script_template.name = p_filename.get_basename().replace("_", " ").capitalize(); + } + + return script_template; +} + +String ScriptCreateDialog::_get_script_origin_label(const ScriptLanguage::TemplateLocation &p_origin) const { + switch (p_origin) { + case ScriptLanguage::TEMPLATE_BUILT_IN: + return TTR("Built-in"); + case ScriptLanguage::TEMPLATE_EDITOR: + return TTR("Editor"); + case ScriptLanguage::TEMPLATE_PROJECT: + return TTR("Project"); + } + return ""; +} + void ScriptCreateDialog::_bind_methods() { ClassDB::bind_method(D_METHOD("config", "inherits", "path", "built_in_enabled", "load_enabled"), &ScriptCreateDialog::config, DEFVAL(true), DEFVAL(true)); @@ -757,7 +886,7 @@ ScriptCreateDialog::ScriptCreateDialog() { GridContainer *gc = memnew(GridContainer); gc->set_columns(2); - /* Error Messages Field */ + /* Information Messages Field */ VBoxContainer *vb = memnew(VBoxContainer); @@ -782,6 +911,10 @@ ScriptCreateDialog::ScriptCreateDialog() { script_name_warning_label->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART); script_name_warning_label->hide(); + template_info_label = memnew(Label); + vb->add_child(template_info_label); + template_info_label->set_autowrap_mode(Label::AUTOWRAP_WORD_SMART); + status_panel = memnew(PanelContainer); status_panel->set_h_size_flags(Control::SIZE_FILL); status_panel->set_v_size_flags(Control::SIZE_EXPAND_FILL); @@ -801,7 +934,7 @@ ScriptCreateDialog::ScriptCreateDialog() { /* Language */ language_menu = memnew(OptionButton); - language_menu->set_custom_minimum_size(Size2(250, 0) * EDSCALE); + language_menu->set_custom_minimum_size(Size2(350, 0) * EDSCALE); language_menu->set_h_size_flags(Control::SIZE_EXPAND_FILL); gc->add_child(memnew(Label(TTR("Language:")))); gc->add_child(language_menu); @@ -819,7 +952,7 @@ ScriptCreateDialog::ScriptCreateDialog() { } current_language = default_language; - language_menu->connect("item_selected", callable_mp(this, &ScriptCreateDialog::_lang_changed)); + language_menu->connect("item_selected", callable_mp(this, &ScriptCreateDialog::_language_changed)); /* Inherits */ @@ -851,10 +984,24 @@ ScriptCreateDialog::ScriptCreateDialog() { /* Templates */ - template_menu = memnew(OptionButton); + is_using_templates = true; gc->add_child(memnew(Label(TTR("Template:")))); - gc->add_child(template_menu); + HBoxContainer *template_hb = memnew(HBoxContainer); + template_hb->set_h_size_flags(Control::SIZE_EXPAND_FILL); + + use_templates = memnew(CheckBox); + use_templates->set_pressed(is_using_templates); + use_templates->connect("pressed", callable_mp(this, &ScriptCreateDialog::_use_template_pressed)); + template_hb->add_child(use_templates); + + template_inactive_message = ""; + + template_menu = memnew(OptionButton); + template_menu->set_h_size_flags(Control::SIZE_EXPAND_FILL); template_menu->connect("item_selected", callable_mp(this, &ScriptCreateDialog::_template_changed)); + template_hb->add_child(template_menu); + + gc->add_child(template_hb); /* Built-in Script */ @@ -907,8 +1054,8 @@ ScriptCreateDialog::ScriptCreateDialog() { get_ok_button()->set_text(TTR("Create")); 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_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); + alert->get_label()->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER); alert->get_label()->set_custom_minimum_size(Size2(325, 60) * EDSCALE); add_child(alert); diff --git a/editor/script_create_dialog.h b/editor/script_create_dialog.h index dba798eea7..67d30e21fb 100644 --- a/editor/script_create_dialog.h +++ b/editor/script_create_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -31,6 +31,7 @@ #ifndef SCRIPT_CREATE_DIALOG_H #define SCRIPT_CREATE_DIALOG_H +#include "core/object/script_language.h" #include "editor/editor_file_dialog.h" #include "editor/editor_settings.h" #include "scene/gui/check_box.h" @@ -50,6 +51,7 @@ class ScriptCreateDialog : public ConfirmationDialog { Label *path_error_label; Label *builtin_warning_label; Label *script_name_warning_label; + Label *template_info_label; PanelContainer *status_panel; LineEdit *parent_name; Button *parent_browse_button; @@ -61,12 +63,14 @@ class ScriptCreateDialog : public ConfirmationDialog { Button *path_button; EditorFileDialog *file_browse; CheckBox *internal; + CheckBox *use_templates; VBoxContainer *path_vb; AcceptDialog *alert; CreateDialog *select_class; bool path_valid; bool create_new; bool is_browsing_parent; + String template_inactive_message; String initial_bp; bool is_new_script_created; bool is_path_valid; @@ -76,6 +80,7 @@ class ScriptCreateDialog : public ConfirmationDialog { bool is_parent_name_valid; bool is_class_name_valid; bool is_built_in; + bool is_using_templates; bool built_in_enabled; bool load_enabled; int current_language; @@ -85,23 +90,8 @@ class ScriptCreateDialog : public ConfirmationDialog { Control *path_controls[2]; Control *name_controls[2]; - enum ScriptOrigin { - SCRIPT_ORIGIN_PROJECT, - SCRIPT_ORIGIN_EDITOR, - }; - struct ScriptTemplateInfo { - int id = 0; - ScriptOrigin origin = ScriptOrigin::SCRIPT_ORIGIN_EDITOR; - String dir; - String name; - String extension; - }; - - String script_template; - Vector<ScriptTemplateInfo> template_list; - Map<String, Vector<int>> template_overrides; // name : indices - - void _update_script_templates(const String &p_extension); + Vector<ScriptLanguage::ScriptTemplate> template_list; + ScriptLanguage *language; String base_type; @@ -109,8 +99,9 @@ class ScriptCreateDialog : public ConfirmationDialog { bool _can_be_built_in(); void _path_changed(const String &p_path = String()); void _path_submitted(const String &p_path = String()); - void _lang_changed(int l = 0); + void _language_changed(int l = 0); void _built_in_pressed(); + void _use_template_pressed(); bool _validate_parent(const String &p_string); bool _validate_class(const String &p_string); String _validate_path(const String &p_path, bool p_file_must_exist); @@ -125,9 +116,15 @@ class ScriptCreateDialog : public ConfirmationDialog { virtual void ok_pressed() override; void _create_new(); void _load_exist(); + Vector<String> get_hierarchy(String p_object) const; void _msg_script_valid(bool valid, const String &p_msg = String()); void _msg_path_valid(bool valid, const String &p_msg = String()); + void _update_template_menu(); void _update_dialog(); + ScriptLanguage::ScriptTemplate _get_current_template() const; + Vector<ScriptLanguage::ScriptTemplate> _get_user_templates(const ScriptLanguage *language, const StringName &p_object, const String &p_dir, const ScriptLanguage::TemplateLocation &p_origin) const; + ScriptLanguage::ScriptTemplate _parse_template(const ScriptLanguage *language, const String &p_path, const String &p_filename, const ScriptLanguage::TemplateLocation &p_origin, const String &p_inherits) const; + String _get_script_origin_label(const ScriptLanguage::TemplateLocation &p_origin) const; protected: void _notification(int p_what); diff --git a/editor/settings_config_dialog.cpp b/editor/settings_config_dialog.cpp index e1229729ac..71edeefd10 100644 --- a/editor/settings_config_dialog.cpp +++ b/editor/settings_config_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -148,7 +148,7 @@ void EditorSettingsDialog::unhandled_input(const Ref<InputEvent> &p_event) { if (ED_IS_SHORTCUT("ui_undo", p_event)) { String action = undo_redo->get_current_action_name(); - if (action != "") { + if (!action.is_empty()) { EditorNode::get_log()->add_message("Undo: " + action, EditorLog::MSG_TYPE_EDITOR); } undo_redo->undo(); @@ -158,7 +158,7 @@ void EditorSettingsDialog::unhandled_input(const Ref<InputEvent> &p_event) { if (ED_IS_SHORTCUT("ui_redo", p_event)) { undo_redo->redo(); String action = undo_redo->get_current_action_name(); - if (action != "") { + if (!action.is_empty()) { EditorNode::get_log()->add_message("Redo: " + action, EditorLog::MSG_TYPE_EDITOR); } handled = true; @@ -622,7 +622,7 @@ EditorSettingsDialog::EditorSettingsDialog() { undo_redo = memnew(UndoRedo); tabs = memnew(TabContainer); - tabs->set_tab_align(TabContainer::ALIGN_LEFT); + tabs->set_tab_alignment(TabContainer::ALIGNMENT_LEFT); tabs->connect("tab_changed", callable_mp(this, &EditorSettingsDialog::_tabs_tab_changed)); add_child(tabs); diff --git a/editor/settings_config_dialog.h b/editor/settings_config_dialog.h index 7317a014b2..c3dfd736d5 100644 --- a/editor/settings_config_dialog.h +++ b/editor/settings_config_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/shader_create_dialog.cpp b/editor/shader_create_dialog.cpp index 23bdc06f95..239860c9ab 100644 --- a/editor/shader_create_dialog.cpp +++ b/editor/shader_create_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -220,7 +220,7 @@ void ShaderCreateDialog::_language_changed(int p_language) { String path = file_path->get_text(); String extension = ""; - if (path != "") { + if (!path.is_empty()) { if (path.find(".") != -1) { extension = path.get_extension(); } @@ -303,7 +303,7 @@ void ShaderCreateDialog::_path_changed(const String &p_path) { is_new_shader_created = true; String path_error = _validate_path(p_path); - if (path_error != "") { + if (!path_error.is_empty()) { _msg_path_valid(false, path_error); _update_dialog(); return; @@ -324,8 +324,8 @@ 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, int p_preferred_mode) { - if (p_base_path != "") { +void ShaderCreateDialog::config(const String &p_base_path, bool p_built_in_enabled, bool p_load_enabled, int p_preferred_type, int p_preferred_mode) { + if (!p_base_path.is_empty()) { 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(); @@ -338,6 +338,11 @@ void ShaderCreateDialog::config(const String &p_base_path, bool p_built_in_enabl built_in_enabled = p_built_in_enabled; load_enabled = p_load_enabled; + if (p_preferred_type > -1) { + language_menu->select(p_preferred_type); + _language_changed(p_preferred_type); + } + if (p_preferred_mode > -1) { mode_menu->select(p_preferred_mode); _mode_changed(p_preferred_mode); @@ -350,10 +355,10 @@ void ShaderCreateDialog::config(const String &p_base_path, bool p_built_in_enabl String ShaderCreateDialog::_validate_path(const String &p_path) { String p = p_path.strip_edges(); - if (p == "") { + if (p.is_empty()) { return TTR("Path is empty."); } - if (p.get_file().get_basename() == "") { + if (p.get_file().get_basename().is_empty()) { return TTR("Filename is empty."); } @@ -625,8 +630,8 @@ ShaderCreateDialog::ShaderCreateDialog() { 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_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); + alert->get_label()->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER); alert->get_label()->set_custom_minimum_size(Size2(325, 60) * EDSCALE); add_child(alert); diff --git a/editor/shader_create_dialog.h b/editor/shader_create_dialog.h index be0a0cad06..be0fef211c 100644 --- a/editor/shader_create_dialog.h +++ b/editor/shader_create_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -108,7 +108,7 @@ protected: static void _bind_methods(); public: - void config(const String &p_base_path, bool p_built_in_enabled = true, bool p_load_enabled = true, int p_preferred_mode = -1); + void config(const String &p_base_path, bool p_built_in_enabled = true, bool p_load_enabled = true, int p_preferred_type = -1, int p_preferred_mode = -1); ShaderCreateDialog(); }; diff --git a/editor/shader_globals_editor.cpp b/editor/shader_globals_editor.cpp index d504d3b137..f97ffcae65 100644 --- a/editor/shader_globals_editor.cpp +++ b/editor/shader_globals_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -372,7 +372,7 @@ static Variant create_var(RS::GlobalVariableType p_type) { void ShaderGlobalsEditor::_variable_added() { String var = variable_name->get_text().strip_edges(); - if (var == "" || !var.is_valid_identifier()) { + if (var.is_empty() || !var.is_valid_identifier()) { EditorNode::get_singleton()->show_warning(TTR("Please specify a valid variable identifier name.")); return; } diff --git a/editor/shader_globals_editor.h b/editor/shader_globals_editor.h index 84ab6ac063..efec9f4219 100644 --- a/editor/shader_globals_editor.h +++ b/editor/shader_globals_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/template_builders.py b/editor/template_builders.py new file mode 100644 index 0000000000..efed567d46 --- /dev/null +++ b/editor/template_builders.py @@ -0,0 +1,95 @@ +"""Functions used to generate source files during build time +All such functions are invoked in a subprocess on Windows to prevent build flakiness. +""" + +import os +from io import StringIO +from platform_methods import subprocess_main + + +def parse_template(inherits, source, delimiter): + script_template = { + "inherits": inherits, + "name": "", + "description": "", + "version": "", + "script": "", + "space-indent": "4", + } + meta_prefix = delimiter + " meta-" + meta = ["name", "description", "version", "space-indent"] + + with open(source) as f: + lines = f.readlines() + for line in lines: + if line.startswith(meta_prefix): + line = line[len(meta_prefix) :] + for m in meta: + if line.startswith(m): + strip_lenght = len(m) + 1 + script_template[m] = line[strip_lenght:].strip() + else: + script_template["script"] += line + if script_template["space-indent"] != "": + indent = " " * int(script_template["space-indent"]) + script_template["script"] = script_template["script"].replace(indent, "_TS_") + if script_template["name"] == "": + script_template["name"] = os.path.splitext(os.path.basename(source))[0].replace("_", " ").title() + script_template["script"] = ( + script_template["script"].replace('"', '\\"').lstrip().replace("\n", "\\n").replace("\t", "_TS_") + ) + return ( + '{ String("' + + script_template["inherits"] + + '"), String("' + + script_template["name"] + + '"), String("' + + script_template["description"] + + '"), String("' + + script_template["script"] + + '")' + + " },\n" + ) + + +def make_templates(target, source, env): + dst = target[0] + s = StringIO() + s.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n\n") + s.write("#ifndef _CODE_TEMPLATES_H\n") + s.write("#define _CODE_TEMPLATES_H\n\n") + s.write('#include "core/object/object.h"\n') + s.write('#include "core/object/script_language.h"\n') + + delimiter = "#" # GDScript single line comment delimiter by default. + if source: + ext = os.path.splitext(source[0])[1] + if ext == ".cs": + delimiter = "//" + + parsed_template_string = "" + number_of_templates = 0 + + for filepath in source: + node_name = os.path.basename(os.path.dirname(filepath)) + parsed_template = parse_template(node_name, filepath, delimiter) + parsed_template_string += "\t" + parsed_template + number_of_templates += 1 + + s.write("\nstatic const int TEMPLATES_ARRAY_SIZE = " + str(number_of_templates) + ";\n") + s.write("\nstatic const struct ScriptLanguage::ScriptTemplate TEMPLATES[" + str(number_of_templates) + "] = {\n") + + s.write(parsed_template_string) + + s.write("};\n") + + s.write("\n#endif\n") + + with open(dst, "w") as f: + f.write(s.getvalue()) + + s.close() + + +if __name__ == "__main__": + subprocess_main(globals()) diff --git a/editor/translations/Makefile b/editor/translations/Makefile index 82b3d49c59..71dea3f530 100644 --- a/editor/translations/Makefile +++ b/editor/translations/Makefile @@ -14,6 +14,7 @@ merge: echo -e "\nMerging $$po..."; \ msgmerge -w 79 -C $$po $$po $(TEMPLATE) > "$$po".new; \ mv -f "$$po".new $$po; \ + msgattrib --output-file=$$po --no-obsolete $$po; \ done check: diff --git a/editor/translations/af.po b/editor/translations/af.po index a1a19d1679..deb7375e74 100644 --- a/editor/translations/af.po +++ b/editor/translations/af.po @@ -1,6 +1,6 @@ # Afrikaans translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Ray West <the.raxar@gmail.com>, 2017. # Julius Stopforth <jjstopforth@gmail.com>, 2018. @@ -2178,14 +2178,30 @@ msgstr "Metodes" msgid "Theme Properties" msgstr "Eienskappe" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Opnoemings" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Konstantes" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Opnoemings" + #: editor/editor_help.cpp #, fuzzy msgid "Property Descriptions" @@ -8659,18 +8675,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -13416,7 +13420,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -13425,6 +13434,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14438,257 +14462,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "" - -#, fuzzy -#~ msgid "Package Contents:" -#~ msgstr "Pakket Installeerder" - -#~ msgid "Singleton" -#~ msgstr "EnkelHouer" - -#, fuzzy -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Vervang Alles" - -#, fuzzy -#~ msgid "Class Options" -#~ msgstr "Beskrywing" - -#, fuzzy -#~ msgid "Move to Trash" -#~ msgstr "Skuif AutoLaai" - -#, fuzzy -#~ msgid "Expand All Properties" -#~ msgstr "Eienskappe" - -#, fuzzy -#~ msgid "Theme File" -#~ msgstr "Open 'n Lêer" - -#, fuzzy -#~ msgid "Search complete" -#~ msgstr "Deursoek Teks" - -#, fuzzy -#~ msgid "Move pivot" -#~ msgstr "Skuif Gunsteling Op" - -#, fuzzy -#~ msgid "Add initial export..." -#~ msgstr "Gunstelinge:" - -#, fuzzy -#~ msgid "Pack File" -#~ msgstr "Verpak" - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "Het %d verskynsel(s) vervang." - -#, fuzzy -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Daar is tans geen beskrywing vir hierdie metode nie. Help ons asseblief " -#~ "deur [color=$color][url=$url]een by te dra[/url][/color]!" - -#~ msgid "enum " -#~ msgstr "enum " - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "Kort Beskrywing:" - -#, fuzzy -#~ msgid "Class Description" -#~ msgstr "Beskrywing" - -#, fuzzy -#~ msgid "Methods:" -#~ msgstr "Metodes" - -#, fuzzy -#~ msgid "Theme Properties:" -#~ msgstr "Eienskappe" - -#~ msgid "Constants:" -#~ msgstr "Konstantes:" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "Beskrywing:" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "Eienskap Beskrywing:" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "Metode Beskrywing:" - -#, fuzzy -#~ msgid "Error: could not load file." -#~ msgstr "Kon nie vouer skep nie." - -#, fuzzy -#~ msgid "Previous Folder" -#~ msgstr "Voorskou:" - -#, fuzzy -#~ msgid "Next Folder" -#~ msgstr "Skep Vouer" - -#, fuzzy -#~ msgid "Failed to create solution." -#~ msgstr "Kon nie vouer skep nie." - -#, fuzzy -#~ msgid "Create C# solution" -#~ msgstr "Skep Intekening" - -#, fuzzy -#~ msgid "Enabled Classes" -#~ msgstr "Deursoek Klasse" - -#~ msgid "Delete selected files?" -#~ msgstr "Skrap gekose lêers?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "Daar is nie 'n 'res://default_bus_layout.tres'-lêer nie." - -#~ msgid "Go to parent folder" -#~ msgstr "Gaan na ouer vouer" - -#~ msgid "Line:" -#~ msgstr "Reël:" - -#~ msgid "Col:" -#~ msgstr "Kol:" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "Verwyder Seleksie" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "Zoem Uit" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "Zoem In" - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "Zoem In" - -#~ msgid "Class List:" -#~ msgstr "Klas Lys:" - -#~ msgid "Public Methods" -#~ msgstr "Openbare Metodes" - -#~ msgid "Public Methods:" -#~ msgstr "Openbare Metodes:" - -#, fuzzy -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Wissel Gunsteling" - -#, fuzzy -#~ msgid "Show current scene file." -#~ msgstr "Skep Vouer" - -#, fuzzy -#~ msgid "Whole words" -#~ msgstr "Hele Woorde" - -#, fuzzy -#~ msgid "Match case" -#~ msgstr "Pas Letterkas" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Skuif Anim Baan Op" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Skuif Anim Baan Af" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Anim Baan Verander Interpolasie" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Anim Baan Verander Waarde Modus" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Anim Baan Verander Terug Draai Modus" - -#~ msgid "Anim Add Key" -#~ msgstr "Anim Voeg Sleutel By" - -#~ msgid "In" -#~ msgstr "In" - -#~ msgid "Out" -#~ msgstr "Uit" - -#~ msgid "In-Out" -#~ msgstr "In-Uit" - -#~ msgid "Out-In" -#~ msgstr "Uit-In" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Anim Skep Soort-Waarde Sleutel" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Anim Skep Roep Baan" - -#~ msgid "Length (s):" -#~ msgstr "Lengte(s):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "Wyser tree kiek (in secondes)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Aktiveer/Deaktiveer herspeel in animasie." - -#~ msgid "Add new tracks." -#~ msgstr "Skep nuwe bane." - -#~ msgid "Move current track up." -#~ msgstr "Skuif huidige baan op." - -#~ msgid "Move current track down." -#~ msgstr "Skuif huidige baan af." - -#~ msgid "Track tools" -#~ msgstr "Baan gereedskap" - -#, fuzzy -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Laat verandering van individuele sleutels toe deur hulle te kliek." - -#~ msgid "Key" -#~ msgstr "Sleutel" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Roep Funksies in Watter Nodus?" - -#~ msgid "Thanks!" -#~ msgstr "Dankie!" - -#~ msgid "Replace By" -#~ msgstr "Vervang Met" - -#~ msgid "Backwards" -#~ msgstr "Terugwaarts" - -#~ msgid "Prompt On Replace" -#~ msgstr "Por Op Vervang" - -#~ msgid "Skip" -#~ msgstr "Spring Oor" - -#~ msgid "List:" -#~ msgstr "Lys:" diff --git a/editor/translations/ar.po b/editor/translations/ar.po index c8cc51dd2c..9462d63c69 100644 --- a/editor/translations/ar.po +++ b/editor/translations/ar.po @@ -1,6 +1,6 @@ # Arabic translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Adel <dragonhunter250@gmail.com>, 2018. # athomield <athomield@hotmail.com>, 2017. @@ -56,13 +56,14 @@ # Hafid Talbi <atalbiie@gmail.com>, 2021. # Hareth Mohammed <harethpy@gmail.com>, 2021. # Mohammed Mubarak <modymu9@gmail.com>, 2021. +# Spirit <i8bou3@gmail.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-11-11 08:00+0000\n" -"Last-Translator: Nabeel20 <nabeelandnizam@gmail.com>\n" +"PO-Revision-Date: 2021-12-14 15:28+0000\n" +"Last-Translator: Spirit <i8bou3@gmail.com>\n" "Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/" "godot/ar/>\n" "Language: ar\n" @@ -71,7 +72,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" -"X-Generator: Weblate 4.9.1-dev\n" +"X-Generator: Weblate 4.10-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -1805,7 +1806,6 @@ msgstr "" "الملفات." #: editor/editor_feature_profile.cpp -#, fuzzy msgid "(current)" msgstr "(الحالي)" @@ -2148,14 +2148,34 @@ msgstr "الطُرق" msgid "Theme Properties" msgstr "خصائص الثِمة" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "التعدادات" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Colors" +msgstr "اللون" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "الثوابت" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Fonts" +msgstr "الخط" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Icons" +msgstr "الأيقونة" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Styles" +msgstr "الأسلوب" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "التعدادات" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "أوصاف المُلكية" @@ -6612,6 +6632,9 @@ 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" @@ -7907,12 +7930,12 @@ msgstr "منظوري" #. TRANSLATORS: This will be appended to the view name when Auto Orthogonal is enabled. #: editor/plugins/spatial_editor_plugin.cpp msgid " [auto]" -msgstr "" +msgstr " [auto]" #. TRANSLATORS: This will be appended to the view name when Portal Occulusion is enabled. #: editor/plugins/spatial_editor_plugin.cpp msgid " [portals active]" -msgstr "" +msgstr " [portals active]" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Aborted." @@ -7952,9 +7975,8 @@ msgid "Translate" msgstr "الترجمة:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Scale" -msgstr "تكبير/تصغير:" +msgstr "المقياس" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scaling: " @@ -7983,7 +8005,7 @@ msgstr "حدّة" #: editor/plugins/spatial_editor_plugin.cpp msgid "Yaw:" -msgstr "" +msgstr "ياو:" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy @@ -8222,7 +8244,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" @@ -8250,15 +8272,15 @@ msgstr "الواجهة View اليُمنى" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orbit View Down" -msgstr "" +msgstr "تحريك المسار للأسفل" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orbit View Left" -msgstr "" +msgstr "تحريك المسار لليسار" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orbit View Right" -msgstr "" +msgstr "تحريك المسار لليمين" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy @@ -8267,7 +8289,7 @@ msgstr "الواجهة View الأمامية" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orbit View 180" -msgstr "" +msgstr "درجة عرض المدار 180°" #: editor/plugins/spatial_editor_plugin.cpp msgid "Switch Perspective/Orthogonal View" @@ -8672,21 +8694,6 @@ msgstr "منطقة النقش TextureRegion" #: 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 "الأسلوب" @@ -8729,7 +8736,7 @@ msgstr "لم يوجد!" #: editor/plugins/theme_editor_plugin.cpp msgid "{num} stylebox(es)" -msgstr "" +msgstr "{num} ستايلبوكس" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -10828,7 +10835,7 @@ msgstr "نص" #: editor/project_export.cpp msgid "Compiled Bytecode (Faster Loading)" -msgstr "" +msgstr "التعليمات المتوسطة المستوى (البايتكود) المُجمَّعة (تحميل أسرع)" #: editor/project_export.cpp msgid "Encrypted (Provide Key Below)" @@ -13572,8 +13579,17 @@ msgid "\"Use Custom Build\" must be enabled to use the plugins." msgstr "يجب تفعيل \"Use Custom Build\" لإستخدام الإضافات." #: platform/android/export/export_plugin.cpp +#, fuzzy msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" +"\"Hand Tracking\" تكون صالحة فقط عندما يكون وضع ال \"Xr Mode\"هو \"Oculus " +"Mobile VR\"." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" "\"Hand Tracking\" تكون صالحة فقط عندما يكون وضع ال \"Xr Mode\"هو \"Oculus " "Mobile VR\"." @@ -13585,6 +13601,29 @@ msgstr "" "Custom Build\"." #: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" +"يصبح خيار \"تصدير ABB\" صالحاً فقط عندما يتم اختيار \"استعمال تصدير مخصص " +"Custom Build\"." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" +"يصبح خيار \"تصدير ABB\" صالحاً فقط عندما يتم اختيار \"استعمال تصدير مخصص " +"Custom Build\"." + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" +"إصدار \"حزمة التطوير البرمجية المستهدفة\" يجب أن يكون أعلى من أو يساوي إصدار " +"\"Min Sdk\"." + +#: platform/android/export/export_plugin.cpp msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " @@ -14292,6 +14331,8 @@ msgid "" "longer has any effect.\n" "To remove this warning, disable the GIProbe's Compress property." msgstr "" +"تم إيقاف خاصية GIProbe Compress بسبب أخطاء معروفة ولم يعد لها أي تأثير.\n" +"لإزالة هذا التحذير عطّل خاصية GIProbe's Compress." #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -14312,11 +14353,11 @@ msgstr "" #: scene/3d/occluder.cpp msgid "No shape is set." -msgstr "" +msgstr "لم يتم تعيين أي شكل." #: scene/3d/occluder.cpp msgid "Only uniform scales are supported." -msgstr "" +msgstr "المعايير الموحدة هي المدعومة فقط." #: scene/3d/particles.cpp msgid "" @@ -14768,830 +14809,3 @@ msgstr "التعين للإنتظام." #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "لا يمكن تعديل الثوابت." - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "إنشاء وضعية الراحة (من العظام)" - -#~ msgid "Bottom" -#~ msgstr "الأسفل" - -#~ msgid "Left" -#~ msgstr "اليسار" - -#~ msgid "Right" -#~ msgstr "اليمين" - -#~ msgid "Front" -#~ msgstr "الأمام" - -#~ msgid "Rear" -#~ msgstr "الخلف" - -#~ msgid "Nameless gizmo" -#~ msgstr "أداة (gizmo) غير مسماة" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "\"Degrees Of Freedom\" تكون صالحة فقط عندما يكون وضع ال \"Xr Mode\"هو " -#~ "\"Oculus Mobile VR\"." - -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "\"Focus Awareness\" تكون صالحة فقط عندما يكون وضع ال \"Xr Mode\"هو " -#~ "\"Oculus Mobile VR\"." - -#~ msgid "Package Contents:" -#~ msgstr "محتويات الرزمة:" - -#~ msgid "Singleton" -#~ msgstr "الفردية" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "مسح الملف الشخصي '%s'؟ (لا تراجع)" - -#~ msgid "Enabled Properties:" -#~ msgstr "الخصائص المُمكّنة:" - -#~ msgid "Enabled Features:" -#~ msgstr "الميزات المُمكّنة:" - -#~ msgid "Unset" -#~ msgstr "غير مُحدد" - -#~ msgid "Class Options" -#~ msgstr "إعدادات الصف Class" - -#~ msgid "Set" -#~ msgstr "مجموعة" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "حفظت %s الموارد المعدلة." - -#~ msgid "Q&A" -#~ msgstr "الأسئلة و الأجوبة" - -#~ msgid "Status:" -#~ msgstr "الحالة:" - -#~ msgid "Edit:" -#~ msgstr "تحرير:" - -#~ msgid "Redownload" -#~ msgstr "إعادة التحميل" - -#~ msgid "(Installed)" -#~ msgstr "(مثبت)" - -#~ msgid "(Missing)" -#~ msgstr "(مفقود)" - -#~ msgid "Request Failed." -#~ msgstr "فشل الطلب." - -#~ msgid "Redirect Loop." -#~ msgstr "اعادة توجيه حلقة التكرار." - -#~ msgid "Download Complete." -#~ msgstr "التحميل إكتمل." - -#~ msgid "Remove Template" -#~ msgstr "مسح القالب" - -#~ msgid "Download Templates" -#~ msgstr "تنزيل القوالب" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "حدد السرفر من القائمة: (Shift+Click: للفتح في المتصفح)" - -#~ msgid "Move to Trash" -#~ msgstr "نقل الي سلة المحذوفات" - -#~ msgid "Expand All Properties" -#~ msgstr "توسيع كل الخصائص" - -#~ msgid "Collapse All Properties" -#~ msgstr "طي كل الخصائص" - -#~ msgid "Copy Params" -#~ msgstr "إنسخ المُعامل" - -#~ msgid "Open in Help" -#~ msgstr "إفتح في المساعدة" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "تجاوز كاميرا اللعبة.\n" -#~ "ليس هناك لعبة منمذجة قيد التشغيل." - -#~ msgid "Drag: Rotate" -#~ msgstr "سحب: للتدوير" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "إضغط 'ر' لكي تغيير المحور، 'Shift+ر' لسحب المحور (في حين التحرك)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+زر الفأرة الأيمن: تحديد قائمة العمق" - -#~ msgid "Clone Down" -#~ msgstr "استنساخ أدناه" - -#~ msgid "Yaw" -#~ msgstr "الإنحراف Yaw" - -#~ msgid "Size" -#~ msgstr "الحجم" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "السحب: تدوير.\n" -#~ "Alt+السحب: تحريك.\n" -#~ "Alt+ كبسة الزر الأيمن للفأرةRMB : اختيار قائمة العُمق" - -#~ msgid "Sep.:" -#~ msgstr "الفاصل:" - -#~ msgid "Add All" -#~ msgstr "إضافة الجميع" - -#~ msgid "Theme editing menu." -#~ msgstr "قائمة تحرير الموضوع." - -#~ msgid "Create Empty Template" -#~ msgstr "إنشاء قالب فارغ" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "إنشاء قالب مُحرر فارغ" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "إنشاء مستمد من موضوع Theme المحرر الحالي" - -#~ msgid "Data Type:" -#~ msgstr "نوع البيانات:" - -#~ msgid "Theme File" -#~ msgstr "ملف الثيم" - -#~ msgid "Compiled" -#~ msgstr "مُحولة برمجياً" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "إزالة %d مشاريع من القائمة؟\n" -#~ "لن يتم تعديل محتويات مُجلدات المشاريع." - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "إزالة هذا المشروع من القائمة؟\n" -#~ "لن يتم تعديل محتوى مُجلد المشروع." - -#~ msgid "Templates" -#~ msgstr "القوالب" - -#~ msgid "Add Remapped Path" -#~ msgstr "إضافة مسار مُعاد تعيينه Remapped" - -#~ msgid "Can not perform with the root node." -#~ msgstr "لا يمكن التنفيذ مع العُقدة الرئيسة (الجذر)." - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "لا يمكن قراءة ملف الإقلاع الصوري:" - -#~ msgid "Using default boot splash image." -#~ msgstr "استخدام الصورة الافتراضية للشروع بالتشغيل." - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "مشغل الحركة لا يمكنه أن يحرك نفسه, فقط الاعبين الأخرين." - -#~ msgid "Clipboard is empty" -#~ msgstr "الحافظة (Clipboard) فارغة" - -#~ msgid "No" -#~ msgstr "لا" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "هذا المشهد لم يتم حفظه. هل تود حفظه قبل تشغيله؟" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "لم يتم تهيئة مُنفّذ ADB في إعدادات المُحرر." - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "" -#~ "مُوقّع ملفات الجار jarsigner المفتوح الخاص بحزمة التطوير OpenJDK غير مُهيّئ " -#~ "في إعدادات المُحرر." - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "" -#~ "البُنى المخصوصة تتطلب مساراً لحزمة تطوير Android SDK صالحة في إعدادات " -#~ "المُحرر." - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(الوقت المتبقي: %d:%02d ثانية)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "تخطيط المجسمات: " - -#~ msgid "Lighting Meshes: " -#~ msgstr "إضاءة المجسمات: " - -#~ msgid "Search complete" -#~ msgstr "إكتمل البحث" - -#~ msgid "No commit message was provided" -#~ msgstr "لم يتم تقديم رسالة ارتكاب commit" - -#~ msgid "Add a commit message" -#~ msgstr "إضافة رسالة إجراء" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "يوجد بالفعل ملف أو مجلد بنفس الاسم في هذا المكان." - -#~ msgid "Error trying to save layout!" -#~ msgstr "خطآ في محاولة حفظ النسق!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "تخطي نسق المُحرر الإفتراضي." - -#~ msgid "Move pivot" -#~ msgstr "نقل المحور" - -#~ msgid "Move anchor" -#~ msgstr "نقل الإرتكاز" - -#~ msgid "Resize CanvasItem" -#~ msgstr "تغير حجم العنصر القماشي" - -#~ msgid "Polygon->UV" -#~ msgstr "مُضلع > UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV > مُضلع" - -#~ msgid "Add initial export..." -#~ msgstr "إضافة تصدير مبدئي..." - -#~ msgid "Add previous patches..." -#~ msgstr "إضافة الرُقع السابقة..." - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "حذف رُقعة '%s' من القائمة؟" - -#~ msgid "Patches" -#~ msgstr "الرُقع Patches" - -#~ msgid "Make Patch" -#~ msgstr "إنشاء رُقعة Patch" - -#~ msgid "Pack File" -#~ msgstr "ملف الحِزمة" - -#~ msgid "No build apk generated at: " -#~ msgstr "لم يتم توليد حزمة أندرويد apk في: " - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "رصيف نظام الملفات و الاستيراد" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "حينما يتم التصدير أو النشر، ملف التشغيل الناتج سوف يحاول الإتصال إلي " -#~ "عنوان الأي بي الخاص بهذا الكمبيوتر من أجل تصحيح الأخطاء." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "المشهد الحالي لم يتم حفظه. الرجاء حفظ المشهد قبل تشغيله و اختباره." - -#~ msgid "Revert" -#~ msgstr "إرجاع" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "هذا الفعل لا يمكن إرجاعة. إرجاع علي أية حال؟" - -#~ msgid "Revert Scene" -#~ msgstr "إعادة المشهد" - -#~ msgid "Clear Script" -#~ msgstr "إخلاء الكود" - -#~ msgid "Issue Tracker" -#~ msgstr "متتبع الأخطاء" - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "إستبُدل %d حادثة(حوادث)." - -#~ msgid "Create Static Convex Body" -#~ msgstr "أنشئ جسم محدب ثابت" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "ليس هناك دروس تعليمية في هذا الفصل، يمكنك [color=$color][url=$url] " -#~ "المساهمة في إحداها [/url][/color] أو [color=$color][url=$url2]أطلب أحداها " -#~ "[/url][/color]." - -#~ msgid "enum " -#~ msgstr "التعداد " - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "وصف مختصر:" - -#~ msgid "Class Description" -#~ msgstr "وصف الصف" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "تصدير المشروع فشل, رمز الخطأ %d." - -#~ msgid "Password:" -#~ msgstr "كلمة السر:" - -#~ msgid "Pause the scene" -#~ msgstr "إيقاف المشهد مؤقتاً" - -#, fuzzy -#~ msgid "Snap to Grid" -#~ msgstr "الكبس إلي الشبكة" - -#, fuzzy -#~ msgid "Add input +" -#~ msgstr "أضف مدخله" - -#~ msgid "Input" -#~ msgstr "إدخال" - -#, fuzzy -#~ msgid "Methods:" -#~ msgstr "قائمة الطرق" - -#, fuzzy -#~ msgid "Theme Properties:" -#~ msgstr "خصائص" - -#~ msgid "Constants:" -#~ msgstr "الثوابت:" - -#~ msgid "Class Description:" -#~ msgstr "وصف الصف:" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "وصف الملكية:" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "وصف الطريقة:" - -#, fuzzy -#~ msgid "Reverse sorting." -#~ msgstr "جار الطلب..." - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "لا يمكن فتح file_type_cache.cch من إجل الكتابة، لا يمكن حفظ خبأ أنواع " -#~ "الملف!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "لا يمكن التنقل إلي '%s' حيث لم يتم العثور عليها في نظام الملفات!" - -#~ msgid "Error loading image:" -#~ msgstr "خطأ تحميل الصورة:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "لا بيكسل بشفافية > 128 في الصورة..." - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "الأب ليس لديه وجوه ثابته لكي تتزايد." - -#~ msgid "Couldn't map area." -#~ msgstr "لا يمكنه تخطيط المنطقة." - -#~ msgid "Faces contain no area!" -#~ msgstr "الوجوه لا تحتوي على منطقة!" - -#~ msgid "No faces!" -#~ msgstr "لا وجوه!" - -#, fuzzy -#~ msgid "Error: could not load file." -#~ msgstr "لا يمكن إنشاء المجلد." - -#~ msgid "Select Mode (Q)" -#~ msgstr "تحديد الوضع (ض)" - -#~ msgid "Snap Mode (%s)" -#~ msgstr "وضع الكبس (%s)" - -#~ msgid "Error initializing FreeType." -#~ msgstr "خطأ في معرفة النوع الحر." - -#~ msgid "Unknown font format." -#~ msgstr "صيغة الخط غير معروفة." - -#~ msgid "Error loading font." -#~ msgstr "حدث خطأ أثناء تحميل الخط." - -#~ msgid "Invalid font size." -#~ msgstr "حجم الخط غير مناسب." - -#~ msgid "Previous Folder" -#~ msgstr "المجلد السابق" - -#, fuzzy -#~ msgid "Next Folder" -#~ msgstr "المجلد اللاحق" - -#, fuzzy -#~ msgid "Open in an external image editor." -#~ msgstr "فتح في المُعدل التالي" - -#~ msgid "Reverse" -#~ msgstr "عكس" - -#~ msgid "Generating solution..." -#~ msgstr "إنشاء الحل..." - -#~ msgid "Failed to create solution." -#~ msgstr "لا يمكن إنشاء الحد." - -#~ msgid "Failed to save solution." -#~ msgstr "فشل حفظ الحل." - -#~ msgid "Failed to create C# project." -#~ msgstr "فشل إنشاء مشروع C#." - -#~ msgid "Create C# solution" -#~ msgstr "إنشاء حل C#" - -#, fuzzy -#~ msgid "View log" -#~ msgstr "إظهار الملفات" - -#, fuzzy -#~ msgid "Enabled Classes" -#~ msgstr "إبحث في الأصناف" - -#~ msgid "Update Always" -#~ msgstr "تحديث دائماً" - -#~ msgid "Path to Node:" -#~ msgstr "مسار العقدة:" - -#~ msgid "Delete selected files?" -#~ msgstr "إمسح الملفات المحددة؟" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "ليس هناك ملف 'res://default_bus_layout.tres'." - -#~ msgid "Go to parent folder" -#~ msgstr "إذهب إلي المجلد السابق" - -#~ msgid "Open Scene(s)" -#~ msgstr "فتح مشهد (مشاهد)" - -#~ msgid "Previous Directory" -#~ msgstr "المجلد السابق" - -#~ msgid "Next Directory" -#~ msgstr "المجلد التالي" - -#~ msgid "Ease in" -#~ msgstr "تخفيف للداخل" - -#~ msgid "Ease out" -#~ msgstr "تخفيف للخارج" - -#~ msgid "Create Convex Static Body" -#~ msgstr "أنشئ جسم محدب ثابت" - -#, fuzzy -#~ msgid "CheckBox Radio1" -#~ msgstr "صندوق تأشير ١" - -#, fuzzy -#~ msgid "CheckBox Radio2" -#~ msgstr "صندوق تأشير٢" - -#~ msgid "Create folder" -#~ msgstr "إنشاء مجلد" - -#, fuzzy -#~ msgid "Custom Node" -#~ msgstr "إنشاء عقدة" - -#, fuzzy -#~ msgid "Insert keys." -#~ msgstr "أدخل مفاتيح" - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "نمذج المشهد(المشاهد) المحددة كطفل للعقدة المحددة." - -#, fuzzy -#~ msgid "Font Size:" -#~ msgstr "حجم الخطوط:" - -#~ msgid "Line:" -#~ msgstr "الخط:" - -#~ msgid "Col:" -#~ msgstr "العمود:" - -#, fuzzy -#~ msgid "Add Split" -#~ msgstr "إضافة نقطة" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "مسح النقطة" - -#, fuzzy -#~ msgid "Poly" -#~ msgstr "تعديل البولي" - -#~ msgid "Create Poly" -#~ msgstr "إنشاء بولي" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "إنشاء مُضلع جديد من الصفر" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "إبعاد" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "تقريب" - -#~ msgid "Create Poly3D" -#~ msgstr "إنشاء بولي 3d" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "لا مصدر شكل مُطبق 2D في هذه العقدة.\n" -#~ "أنشئ و ضع واحدة؟" - -#~ msgid "LMB: Move Point." -#~ msgstr "زر الفأرة الأوسط: تحريك النقطة." - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl+ زر الفأرة الأوسط: فصل المقطع." - -#~ msgid "RMB: Erase Point." -#~ msgstr "زر الفأرة الأيمن: مسح النقطة." - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "تقريب" - -#~ msgid "Class List:" -#~ msgstr "قائمة الأصناف:" - -#~ msgid "Public Methods" -#~ msgstr "الطرق العامة" - -#~ msgid "Public Methods:" -#~ msgstr "الطرق العامة:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "عناصر ثيم واجهة المستخدم:" - -#, fuzzy -#~ msgid "Property: " -#~ msgstr "خصائص" - -#, fuzzy -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "تبديل حالة المجلد كما المفضلة" - -#, fuzzy -#~ msgid "Show current scene file." -#~ msgstr "حفظ العنوان الفرعي الذي يتم تعديله حاليا." - -#, fuzzy -#~ msgid "Whole words" -#~ msgstr "كل الكلمات" - -#, fuzzy -#~ msgid "Match case" -#~ msgstr "قضية تشابه" - -#~ msgid "Ok" -#~ msgstr "حسنا" - -#~ msgid "Search the class hierarchy." -#~ msgstr "إبحث في هرمية الأصناف." - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "إبحث في الأصناف" - -#~ msgid "Bake!" -#~ msgstr "طبخ!" - -#~ msgid "Bake the navigation mesh." -#~ msgstr "طبخ ميش المحاور." - -#~ msgid "Modify Color Ramp" -#~ msgstr "تعديل منحدر اللون" - -#~ msgid "Move Anim Track Up" -#~ msgstr "رفع مسار التحريك" - -#~ msgid "Move Anim Track Down" -#~ msgstr "إنزال مسار التحريك" - -#~ msgid "Set Transitions to:" -#~ msgstr "تحديد التحويلات لـ:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "تغيير إقحام مسار التحريك" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "تغيير صيغة القيمة لمسار التحريك" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "تغيير صيغة الغلاف لمسار التحريك" - -#~ msgid "Edit Selection Curve" -#~ msgstr "تحرير منحنى الإختيار" - -#~ msgid "Anim Add Key" -#~ msgstr "مفتاح إضافة تحريك" - -#~ msgid "In" -#~ msgstr "داخل" - -#~ msgid "Out" -#~ msgstr "خارج" - -#~ msgid "In-Out" -#~ msgstr "داخل-خارج" - -#~ msgid "Out-In" -#~ msgstr "خارج-داخل" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "أنشي مفتاح حركة ذا قيمة مكتوبة" - -#~ msgid "Anim Add Call Track" -#~ msgstr "أضف خانة مسار حركة" - -#~ msgid "Length (s):" -#~ msgstr "الطول (ثانية):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "المؤشر خطوة خطوة (بالثواني)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "تمكين/تعطيل التكرار في الحركة." - -#~ msgid "Add new tracks." -#~ msgstr "أضف مسارات جديدة." - -#~ msgid "Move current track up." -#~ msgstr "تحريك المسار الحالي للأعلى." - -#~ msgid "Move current track down." -#~ msgstr "تحريك المسار الحالي للاسفل." - -#~ msgid "Track tools" -#~ msgstr "أدوات المسار" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "السماح بتعديل ازرار منفصلة بالضغط عليها." - -#~ msgid "Key" -#~ msgstr "مفتاح" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "إستدعاء وظائف في أي عقدة؟" - -#~ msgid "Thanks!" -#~ msgstr "شكراً!" - -#~ msgid "I see..." -#~ msgstr "أنا أري..." - -#~ msgid "Ugh" -#~ msgstr "آخخ" - -#~ msgid "Stop Profiling" -#~ msgstr "إيقاف التنميط" - -#~ msgid "Start Profiling" -#~ msgstr "بدء التنميط" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "الإفتراضي (تماماً مثل المحرر)" - -#~ msgid "Create new animation in player." -#~ msgstr "إنشاء حركة جديد في المُشغل." - -#~ msgid "Load animation from disk." -#~ msgstr "تحميل الحركة من الذاكرة." - -#~ msgid "Load an animation from disk." -#~ msgstr "تحميل حركة من الذاكرة." - -#~ msgid "Save the current animation" -#~ msgstr "حفظ الحركة الحالية" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "تعديل هدف الدمج بالوقت" - -#~ msgid "Copy Animation" -#~ msgstr "نسخ الحركة" - -#~ msgid "Fetching:" -#~ msgstr "يجلب:" - -#~ msgid "prev" -#~ msgstr "السابق" - -#~ msgid "next" -#~ msgstr "التالي" - -#~ msgid "last" -#~ msgstr "الأخير" - -#~ msgid "Edit IK Chain" -#~ msgstr "تعديل سلسلة IK" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "سحب المحور من مكان الفأرة" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "ضع المحور في مكان مؤشر الماوس" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "إضافة/مسح نقطة منحدر اللون" - -#~ msgid "OK :(" -#~ msgstr "حسناً :(" - -#~ msgid "Call" -#~ msgstr "نداء" - -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "لا يمكن أن يحتوي علي '/' أو ':'" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "صيغة غير صالحة لـ version.txt داخل القالب. المراجعة ليست معرفاً صالحاً." - -#~ msgid "Can't write file." -#~ msgstr "لا يمكن كتابة الملف." - -#~ msgid "Replace By" -#~ msgstr "إستبدلت بـ" - -#~ msgid "Backwards" -#~ msgstr "إلي الخلف" - -#~ msgid "Prompt On Replace" -#~ msgstr "تأكيد عند الإستبدال" - -#~ msgid "Skip" -#~ msgstr "تخطي" - -#~ msgid "Move Add Key" -#~ msgstr "مفتاح إضافة الحركة" - -#~ msgid "List:" -#~ msgstr "القائمة:" - -#~ msgid "Method List For '%s':" -#~ msgstr "قائمة الطرق لـ '%s':" - -#~ msgid "Return:" -#~ msgstr "العودة:" - -#~ msgid "Added:" -#~ msgstr "تم إضافته:" - -#~ msgid "Could not save atlas subtexture:" -#~ msgstr "لا يمكن حفظ النسيج الفرعي للأطلس:" - -#~ msgid "The quick brown fox jumps over the lazy dog." -#~ msgstr "أبجد هوز حطي كلمن صعفص قرشت ثخذ ضظغ." diff --git a/editor/translations/az.po b/editor/translations/az.po index df60e7757a..1418f6f6b3 100644 --- a/editor/translations/az.po +++ b/editor/translations/az.po @@ -1,6 +1,6 @@ # Azerbaijani translation of the Godot Engine editor. -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # Jafar Tarverdiyev <cefertarverdiyevv@gmail.com>, 2021. @@ -2127,14 +2127,30 @@ msgstr "" msgid "Theme Properties" msgstr "" -#: editor/editor_help.cpp -msgid "Enumerations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "" @@ -8343,18 +8359,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -12891,7 +12895,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12900,6 +12909,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -13889,10 +13913,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "" - -#, fuzzy -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "Animasiya pleyeri özünü canlandıra bilməz, yalnız digər pleyerlər." - -#~ msgid "Clipboard is empty" -#~ msgstr "Panel(Clipboard) boşdur" diff --git a/editor/translations/bg.po b/editor/translations/bg.po index 98f60b8518..c72a8a0c25 100644 --- a/editor/translations/bg.po +++ b/editor/translations/bg.po @@ -1,6 +1,6 @@ # Bulgarian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Bojidar Marinov <bojidar.marinov.bg@gmail.com>, 2016. # Иван Пенев (Адмирал АнимЕ) <aeternus.arcis@gmail.com>, 2016-2017. @@ -2060,14 +2060,31 @@ msgstr "Методи" msgid "Theme Properties" msgstr "Свойства на темата" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Изброени типове" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "Цветове" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Константи" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "Шрифтове" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "Иконки" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Styles" +msgstr "Стил" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Изброени типове" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Описания на свойствата" @@ -8347,18 +8364,6 @@ msgid "TextureRegion" msgstr "Текстурна област" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "Цветове" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "Шрифтове" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "Иконки" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "Стилове" @@ -12926,7 +12931,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12935,6 +12945,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -13971,394 +13996,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Константите не могат да бъдат променени." - -#~ msgid "Enabled Properties:" -#~ msgstr "Включени свойства:" - -#~ msgid "Class Options" -#~ msgstr "Настройки на класа" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "%s променени ресурса бяха запазени." - -#~ msgid "Redownload" -#~ msgstr "Повторно сваляне" - -#~ msgid "(Installed)" -#~ msgstr "(Инсталирано)" - -#~ msgid "Request Failed." -#~ msgstr "Заявката беше неуспешна." - -#~ msgid "Download Templates" -#~ msgstr "Сваляне на шаблони" - -#~ msgid "Move to Trash" -#~ msgstr "Преместване в кошчето" - -#~ msgid "Open in Help" -#~ msgstr "Отваряне в помощната информация" - -#~ msgid "Drag: Rotate" -#~ msgstr "Влачене: завъртане" - -#~ msgid "Clone Down" -#~ msgstr "Копиране на долния ред" - -#~ msgid "Sep.:" -#~ msgstr "Разделител:" - -#~ msgid "Add All" -#~ msgstr "Добавяне на всичко" - -#~ msgid "Theme editing menu." -#~ msgstr "Меню за редактиране на темата." - -#~ msgid "Create Empty Template" -#~ msgstr "Създаване на празен шаблон" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "Създаване на празен шаблон за редактора" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "Създаване от текущата тема на редактора" - -#~ msgid "Data Type:" -#~ msgstr "Тип на данните:" - -#~ msgid "Theme File" -#~ msgstr "Файл с тема" - -#~ msgid "Templates" -#~ msgstr "Шаблони" - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "Не може да се прочете файл с изображение при стартиране:" - -#~ msgid "Using default boot splash image." -#~ msgstr "Използва се стандартното изображение при стартиране." - -#~ msgid "No" -#~ msgstr "Не" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Тази сцена не е била запазвана преди. Запазване преди изпълнението?" - -#~ msgid "Search complete" -#~ msgstr "Търсенето е завършено" - -#~ msgid "UV->Polygon" -#~ msgstr "UV -> Полигон" - -#, fuzzy -#~ msgid "Add initial export..." -#~ msgstr "Любими:" - -#~ msgid "Pack File" -#~ msgstr "Пакетен файл" - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "" -#~ "Текущата сцена никога не е била запазена. Моля, запазете я преди " -#~ "изпълнение." - -#~ msgid "Clear Script" -#~ msgstr "Премахване на скрипта" - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "Заменени съвпадения: %d ." - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "Кратко Описание:" - -#, fuzzy -#~ msgid "Class Description" -#~ msgstr "Описание" - -#~ msgid "Password:" -#~ msgstr "Парола:" - -#~ msgid "Pause the scene" -#~ msgstr "Преустановяване на сцената" - -#, fuzzy -#~ msgid "Methods:" -#~ msgstr "Методи" - -#, fuzzy -#~ msgid "Theme Properties:" -#~ msgstr "Поставяне на възелите" - -#~ msgid "Constants:" -#~ msgstr "Константи:" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "Описание:" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "Кратко Описание:" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "Описание:" - -#, fuzzy -#~ msgid "Reverse sorting." -#~ msgstr "Запитване..." - -#~ msgid "No faces!" -#~ msgstr "Няма лица!" - -#, fuzzy -#~ msgid "Error: could not load file." -#~ msgstr "Грешка, не можа да се зареди файла." - -#~ msgid "Select Mode (Q)" -#~ msgstr "Режим на Селектиране (Q)" - -#~ msgid "Project List" -#~ msgstr "Списък с проекти" - -#~ msgid "Exit" -#~ msgstr "Изход" - -#~ msgid "Unknown font format." -#~ msgstr "Непознат формат за шрифтове." - -#~ msgid "Error loading font." -#~ msgstr "Грешка при зареждането на шрифта." - -#, fuzzy -#~ msgid "Previous Folder" -#~ msgstr "Предишен подпрозорец" - -#, fuzzy -#~ msgid "Next Folder" -#~ msgstr "Създаване на папка" - -#~ msgid "Reverse" -#~ msgstr "В обратен ред" - -#, fuzzy -#~ msgid "Failed to create solution." -#~ msgstr "Неуспешно създаване на папка." - -#, fuzzy -#~ msgid "Build Project" -#~ msgstr "Проект" - -#, fuzzy -#~ msgid "View log" -#~ msgstr "Преглед на файловете" - -#, fuzzy -#~ msgid "Enabled Classes" -#~ msgstr "Търси Класове" - -#~ msgid "Update Always" -#~ msgstr "Обновявай Винаги" - -#~ msgid "Delete selected files?" -#~ msgstr "Изтрий избраните файлове?" - -#~ msgid "Go to parent folder" -#~ msgstr "Към горната папка" - -#, fuzzy -#~ msgid "Open Scene(s)" -#~ msgstr "Отваряне на сцена" - -#, fuzzy -#~ msgid "Create folder" -#~ msgstr "Създаване на папка" - -#, fuzzy -#~ msgid "Custom Node" -#~ msgstr "Изрязване на възелите" - -#, fuzzy -#~ msgid "Create Area" -#~ msgstr "Създаване" - -#, fuzzy -#~ msgid "Create Exterior Connector" -#~ msgstr "Създаване на нов проект" - -#~ msgid "Line:" -#~ msgstr "Ред:" - -#~ msgid "Col:" -#~ msgstr "Колона:" - -#, fuzzy -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "PathFollow2D работи само когато е наследник на Path2D." - -#, fuzzy -#~ msgid "Connect two points to make a split." -#~ msgstr "Свържи две точки, за да направиш разделение" - -#~ msgid "Zoom out" -#~ msgstr "Отдалечи" - -#~ msgid "Zoom in" -#~ msgstr "Приближи" - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl+LMB: Раздели Сегмент." - -#~ msgid "RMB: Erase Point." -#~ msgstr "RMB: Изтрий Точка." - -#~ msgid "Save Theme As" -#~ msgstr "Запази Темата Като" - -#~ msgid "Zoom:" -#~ msgstr "Приближение:" - -#~ msgid "Class List:" -#~ msgstr "Списък на Класове:" - -#~ msgid "Public Methods" -#~ msgstr "Публични методи" - -#~ msgid "Public Methods:" -#~ msgstr "Публични Методи:" - -#, fuzzy -#~ msgid "Show current scene file." -#~ msgstr "Избиране на текущата папка" - -#~ msgid "Whole words" -#~ msgstr "Цели думи" - -#~ msgid "Search the class hierarchy." -#~ msgstr "Търси в йерархията на класовете." - -#~ msgid "Search in files" -#~ msgstr "Търси във файлове" - -#~ msgid "Length (s):" -#~ msgstr "Дължина (сек.):" - -#~ msgid "Move current track up." -#~ msgstr "Преместване на пътечката нагоре." - -#~ msgid "Move current track down." -#~ msgstr "Преместване на пътечката надолу." - -#~ msgid "Fetching:" -#~ msgstr "Изтегляне:" - -#~ msgid "Button 8" -#~ msgstr "Копче 8" - -#~ msgid "Button 9" -#~ msgstr "Копче 9" - -#~ msgid "Condition" -#~ msgstr "Условие" - -#, fuzzy -#~ msgid "Can't write file." -#~ msgstr "Неуспешно създаване на папка." - -#, fuzzy -#~ msgid "Setting '" -#~ msgstr "Настройки" - -#~ msgid "" -#~ "Path property must point to a valid Viewport node to work. Such Viewport " -#~ "must be set to 'render target' mode." -#~ msgstr "" -#~ "Параметъра 'Path' трябва да сочи към валиден Viewport нод за да работи. " -#~ "Този Viewport трябва да бъде настройен в режим 'рендъринг цел'(render " -#~ "target)." - -#~ msgid "Re-Import" -#~ msgstr "Повторно внасяне" - -#~ msgid "Current scene must be saved to re-import." -#~ msgstr "" -#~ "За да се извърши повторното внасяне, текущата сцена трябва да бъде " -#~ "запазена." - -#~ msgid "Re-Importing" -#~ msgstr "Извършва се повторно внасяне" - -#, fuzzy -#~ msgid "" -#~ "\n" -#~ "Status: Needs Re-Import" -#~ msgstr "Запазване и повторно внасяне" - -#~ msgid "Font Import" -#~ msgstr "Внасяне на шрифт" - -#~ msgid "Import 3D Scene" -#~ msgstr "Внасяне на триизмерна сцена" - -#~ msgid "Import Anyway" -#~ msgstr "Внасяне въпреки това" - -#~ msgid "Import Image:" -#~ msgstr "Внасяне на изображение:" - -#~ msgid "Import Textures for Atlas (2D)" -#~ msgstr "Внасяне на текстури за Атлас (двуизмерно)" - -#~ msgid "Import Large Textures (2D)" -#~ msgstr "Внасяне на големи текстури (двуизмерно)" - -#~ msgid "3D Texture" -#~ msgstr "Триизмерна текстура" - -#~ msgid "Import Large Texture" -#~ msgstr "Внасяне на голяма текстура" - -#~ msgid "Couldn't import!" -#~ msgstr "Неуспешно внасяне!" - -#~ msgid "Import Translation" -#~ msgstr "Внасяне на превода" - -#~ msgid "Invalid project path, the path must exist!" -#~ msgstr "Недействителен път. Пътят трябва да съществува!" - -#~ msgid "Import assets to the project." -#~ msgstr "Внасяне на обекти в проекта." - -#~ msgid "Export the project to many platforms." -#~ msgstr "Изнасяне на проекта на много платформи." - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "" -#~ "Параметърът 'Path' трябва да сочи към действителен възел Particles2D, за " -#~ "да работи." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SamplePlayer to play sound." -#~ msgstr "" -#~ "За да изпълнява звук, SamplePlayer трябва да има един SampleLibrary " -#~ "ресурс в параметъра 'samples'." - -#~ msgid "Error exporting project!" -#~ msgstr "Имаше грешка при изнасяне на проекта!" - -#, fuzzy -#~ msgid "Create Android keystore" -#~ msgstr "Създаване на папка" - -#, fuzzy -#~ msgid "Organization" -#~ msgstr "Преходи" - -#~ msgid "Project Export Settings" -#~ msgstr "Настройки за изнасяне на проекта" - -#~ msgid "Export all files in the project directory." -#~ msgstr "Изнасяне на всички файлове в папката на проекта." diff --git a/editor/translations/bn.po b/editor/translations/bn.po index a8581e7f45..856bf55ce2 100644 --- a/editor/translations/bn.po +++ b/editor/translations/bn.po @@ -1,6 +1,6 @@ # Bengali translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Abu Md. Maruf Sarker <maruf.webdev@gmail.com>, 2016-2017. # Abdullah Zubair <abdullahzubair109@gmail.com>, 2017. @@ -2200,16 +2200,36 @@ msgstr "মেথডের তালিকা:" msgid "Theme Properties" msgstr "প্রোপার্টি-সমূহ:" -#: editor/editor_help.cpp +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Enumerations" -msgstr "অ্যানিমেশনসমূহ" +msgid "Colors" +msgstr "রঙ" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Constants" msgstr "ধ্রুবকসমূহ:" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Fonts" +msgstr "ফন্ট" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Icons" +msgstr "আইকন" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Styles" +msgstr "স্টাইল" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Enumerations" +msgstr "অ্যানিমেশনসমূহ" + #: editor/editor_help.cpp #, fuzzy msgid "Property Descriptions" @@ -9154,21 +9174,6 @@ 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 "স্টাইল" @@ -14245,7 +14250,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -14254,6 +14264,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -15343,1976 +15368,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "" - -#~ msgid "Bottom" -#~ msgstr "নিম্ন" - -#~ msgid "Left" -#~ msgstr "বাম" - -#~ msgid "Right" -#~ msgstr "ডান" - -#~ msgid "Front" -#~ msgstr "সন্মুখ" - -#~ msgid "Rear" -#~ msgstr "পশ্চাৎ" - -#, fuzzy -#~ msgid "Package Contents:" -#~ msgstr "ধ্রুবকসমূহ:" - -#~ msgid "Singleton" -#~ msgstr "একক-বস্তু/সিঙ্গেলটোন" - -#, fuzzy -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "সমস্তগুলি প্রতিস্থাপন করুন" - -#, fuzzy -#~ msgid "Enabled Properties:" -#~ msgstr "প্রোপার্টি-সমূহ:" - -#~ msgid "Enabled Features:" -#~ msgstr "গঠনবিন্যাস :" - -#, fuzzy -#~ msgid "Class Options" -#~ msgstr "বর্ণনা:" - -#~ msgid "Set" -#~ msgstr "নিযুক্ত করুন (Set)" - -#, fuzzy -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "রিসোর্স লোড ব্যর্থ হয়েছে।" - -#~ msgid "Q&A" -#~ msgstr "Q&A" - -#~ msgid "Status:" -#~ msgstr "অবস্থা:" - -#, fuzzy -#~ msgid "Edit:" -#~ msgstr "সম্পাদন করুন (Edit)" - -#, fuzzy -#~ msgid "Redownload" -#~ msgstr "রিলোড" - -#, fuzzy -#~ msgid "(Installed)" -#~ msgstr "ইন্সটল" - -#~ msgid "(Missing)" -#~ msgstr "(খুঁজে পাওয়া যায়নি)" - -#, fuzzy -#~ msgid "Request Failed." -#~ msgstr "রিকুয়েস্ট ব্যর্থ হয়েছে।" - -#~ msgid "Redirect Loop." -#~ msgstr "লুপ পুনঃনির্দেশ করুন।" - -#, fuzzy -#~ msgid "Download Complete." -#~ msgstr "নীচে" - -#, fuzzy -#~ msgid "Remove Template" -#~ msgstr "বস্তু অপসারণ করুন" - -#, fuzzy -#~ msgid "Download Templates" -#~ msgstr "বস্তু অপসারণ করুন" - -#, fuzzy -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "লিস্ট থেকে মিরর নির্বাচন করুন: " - -#, fuzzy -#~ msgid "Move to Trash" -#~ msgstr "Autoload স্থানান্তর করুন" - -#, fuzzy -#~ msgid "Expand All Properties" -#~ msgstr "ধারক/বাহক পর্যন্ত বিস্তৃত করুন" - -#, fuzzy -#~ msgid "Collapse All Properties" -#~ msgstr "কলাপ্স করুন" - -#~ msgid "Copy Params" -#~ msgstr "মানসমূহ প্রতিলিপি/কপি করুন" - -#~ msgid "Open in Help" -#~ msgstr "সাহায্যের পাতায় খুলুন" - -#~ msgid "Drag: Rotate" -#~ msgstr "টান: ঘূর্ণন" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "কেন্দ্র পরিবর্তন করতে 'v' চাপুন, কেন্দ্র টানতে 'Shift+v' চাপুন (যখন সরাচ্ছেন)।" - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "অল্টার কী + মাউসের ডান বোতাম: গভীর তালিকায় নির্বাচন" - -#~ msgid "Clone Down" -#~ msgstr "ক্লোন করে নীচে নিন" - -#, fuzzy -#~ msgid "Size" -#~ msgstr "সেল (Cell)-এর আকার:" - -#, fuzzy -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "অল্টার কী + মাউসের ডান বোতাম: গভীর তালিকায় নির্বাচন" - -#~ msgid "Sep.:" -#~ msgstr "বিভক্তকারক:" - -#~ msgid "Add All" -#~ msgstr "সবগুলি যোগ করুন" - -#~ msgid "Theme editing menu." -#~ msgstr "থিম এডিট করার মেনু।" - -#~ msgid "Create Empty Template" -#~ msgstr "খালি টেমপ্লেট তৈরি করুন" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "এডিটরের খালি টেমপ্লেট তৈরি করুন" - -#, fuzzy -#~ msgid "Create From Current Editor Theme" -#~ msgstr "এডিটরের খালি টেমপ্লেট তৈরি করুন" - -#~ msgid "Data Type:" -#~ msgstr "ডাটার ধরণ:" - -#, fuzzy -#~ msgid "Theme File" -#~ msgstr "থিম" - -#~ msgid "Compiled" -#~ msgstr "কম্পাইল্ড" - -#, fuzzy -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "তালিকা হতে প্রকল্প অপসারণ করবেন? (ফোল্ডারের বিষয়াদি পরিবর্তন হবে না)" - -#, fuzzy -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "তালিকা হতে প্রকল্প অপসারণ করবেন? (ফোল্ডারের বিষয়াদি পরিবর্তন হবে না)" - -#, fuzzy -#~ msgid "Templates" -#~ msgstr "বস্তু অপসারণ করুন" - -#~ msgid "Add Remapped Path" -#~ msgstr "পুনঃ-চিত্রাঙ্কিত পথ যোগ করুন" - -#~ msgid "Can not perform with the root node." -#~ msgstr "রুট নোডের জন্য প্রযোজ্য নয়।" - -#, fuzzy -#~ msgid "Could not read boot splash image file:" -#~ msgstr "টাইলটি খুঁজে পাওয়া যায়নি:" - -#, fuzzy -#~ msgid "Using default boot splash image." -#~ msgstr "টাইলটি খুঁজে পাওয়া যায়নি:" - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "একটি অ্যানিমেশন প্লেয়ার নিজেই অ্যানিমেট করতে পারে না, কেবল অন্য প্লেয়ার।" - -#~ msgid "Clipboard is empty" -#~ msgstr "ক্লীপবোর্ড খালি" - -#, fuzzy -#~ msgid "No" -#~ msgstr "নোড" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "এই দৃশ্যটি কখনোই সংরক্ষণ করা হয় নি। চালানোর পূর্বে সংরক্ষণ করবেন?" - -#, fuzzy -#~ msgid "Plotting Meshes: " -#~ msgstr "ছবিসমূহ ব্লিটিং (Blitting) করা হচ্ছে" - -#, fuzzy -#~ msgid "Lighting Meshes: " -#~ msgstr "ছবিসমূহ ব্লিটিং (Blitting) করা হচ্ছে" - -#, fuzzy -#~ msgid "Search complete" -#~ msgstr "টেক্সট অনুসন্ধান করুন" - -#, fuzzy -#~ msgid "No commit message was provided" -#~ msgstr "কোন নাম ব্যাবহার করা হয়নি" - -#, fuzzy -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "গ্রুপের নাম ইতিমধ্যেই আছে!" - -#~ msgid "Error trying to save layout!" -#~ msgstr "লেআউট/নকশা সংরক্ষণের চেষ্টায় সমস্যা হয়েছে!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "এডিটরের সাধারণ লেআউট/নকশা পরিবর্তিত হয়েছে।" - -#, fuzzy -#~ msgid "Move pivot" -#~ msgstr "কেন্দ্র স্থানান্তর করুন" - -#, fuzzy -#~ msgid "Move anchor" -#~ msgstr "প্রক্রিয়া স্থানান্তর করুন" - -#, fuzzy -#~ msgid "Resize CanvasItem" -#~ msgstr "CanvasItem সম্পাদন করুন" - -#~ msgid "Polygon->UV" -#~ msgstr "পলিগন->UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV->পলিগন" - -#, fuzzy -#~ msgid "Add initial export..." -#~ msgstr "ইনপুট যোগ করুন" - -#, fuzzy -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "ইনপুট অপসারণ করুন" - -#, fuzzy -#~ msgid "Patches" -#~ msgstr "মিলসমূহ:" - -#, fuzzy -#~ msgid "Make Patch" -#~ msgstr "উদ্দেশ্যিত পথ:" - -#, fuzzy -#~ msgid "Pack File" -#~ msgstr "ফাইল" - -#, fuzzy -#~ msgid "FileSystem and Import Docks" -#~ msgstr "ফাইলসিস্টেম" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "এক্সপোর্ট (Export) বা ডিপ্লয় (Deploy)-এর সময় প্রস্তুতকৃত এক্সিকিউটেবল " -#~ "(executable) ডিবাগ (debug)-এর উদ্দেশ্যে এই কম্পিউটারের আইপি (IP)-তে সংযোগ " -#~ "করার চেষ্টা করবে।" - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "" -#~ "বর্তমান দৃশ্যটি কখনোই সংরক্ষণ করা হয় নি, অনুগ্রহ করে চালানোর পূর্বে এটি সংরক্ষণ " -#~ "করুন।" - -#~ msgid "Revert" -#~ msgstr "প্রত্যাবর্তন করুন" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "এই কাজটি অসম্পাদিত করা সম্ভব হবে না। তবুও প্রত্যাবর্তন করবেন?" - -#~ msgid "Revert Scene" -#~ msgstr "দৃশ্য প্রত্যাবৃত্ত করুন" - -#~ msgid "Clear Script" -#~ msgstr "স্ক্রিপ্ট পরিস্কার করুন" - -#~ msgid "Issue Tracker" -#~ msgstr "ইস্যু ট্র্যাকার" - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "%d সংখ্যক সংঘটন প্রতিস্থাপিত হয়েছে ।" - -#~ msgid "Create Static Convex Body" -#~ msgstr "স্থিত-কনভেক্স বডি গঠন করুন" - -#, fuzzy -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "এই মেথড সম্পর্কে বিস্তারিত তথ্য লিপিবদ্ধ করা হয়নি। অনুগ্রহ করে তথ্য প্রদানের " -#~ "মাধ্যমে সহায়তা করুন। তথ্য প্রদানের জন্য [color=$color][url=$url], [/url][/" -#~ "color] ফরম্যাট ব্যাবহার করুন !" - -#~ msgid "enum " -#~ msgstr "enum " - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "সংক্ষিপ্ত বর্ণনা:" - -#, fuzzy -#~ msgid "Class Description" -#~ msgstr "বর্ণনা:" - -#~ msgid "Password:" -#~ msgstr "পাসওয়ার্ড:" - -#~ msgid "Pause the scene" -#~ msgstr "দৃশ্যটিকে বিরতি দিন" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Control+" -#~ msgstr "কন্ট্রোল+" - -#, fuzzy -#~ msgid "Snap to Grid" -#~ msgstr "স্ন্যাপ মোড:" - -#, fuzzy -#~ msgid "Add input +" -#~ msgstr "ইনপুট যোগ করুন" - -#~ msgid "Language" -#~ msgstr "ভাষা" - -#, fuzzy -#~ msgid "Inherits" -#~ msgstr "গ্রহণ করে:" - -#~ msgid "Base Type:" -#~ msgstr "তলের ধরণ (Base Type):" - -#~ msgid "Available Nodes:" -#~ msgstr "উপস্থিত নোডসমূহ:" - -#, fuzzy -#~ msgid "Input" -#~ msgstr "ইনপুট যোগ করুন" - -#, fuzzy -#~ msgid "Methods:" -#~ msgstr "মেথডের তালিকা:" - -#, fuzzy -#~ msgid "Theme Properties:" -#~ msgstr "প্রোপার্টি-সমূহ:" - -#, fuzzy -#~ msgid "Enumerations:" -#~ msgstr "অ্যানিমেশনসমূহ" - -#~ msgid "Constants:" -#~ msgstr "ধ্রুবকসমূহ:" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "বর্ণনা:" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "মান/প্রোপার্টির বর্ণনা:" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "মেথডের বর্ণ্না:" - -#, fuzzy -#~ msgid "Reverse sorting." -#~ msgstr "পরীক্ষামূলক উৎস" - -#~ msgid "Delete Node(s)?" -#~ msgstr "নোড(সমূহ) অপসারণ করবেন?" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "লেখার জন্য file_type_cache.cch খোলা সম্ভব হচ্ছে না, ফাইলের ধরণ ক্যাশ (cache) " -#~ "সংরক্ষিত হচ্ছে না!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "'%s' তে নেভিগেট করা যাবে না কারণ এটি ফাইল সিস্টেমে পাওয়া যায়নি!" - -#~ msgid "Error loading image:" -#~ msgstr "ছবি লোডে সমস্যা হয়েছে:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "স্বচ্ছতাসহ কোনো পিক্সেল নেই > ছবিতে ১২৮..." - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "পপুলেট করার জন্য ধারকের কোনো নিরেট পৃষ্ঠ নেই।" - -#~ msgid "Couldn't map area." -#~ msgstr "এলাকার নকশা করা সম্ভব হয়নি।" - -#~ msgid "Faces contain no area!" -#~ msgstr "পৃষ্ঠসমূহ কোনো আকার নেই!" - -#~ msgid "No faces!" -#~ msgstr "কোনো পৃষ্ঠ নেই!" - -#, fuzzy -#~ msgid "Error: could not load file." -#~ msgstr "ছবি লোড অসম্ভব হয়েছে" - -#, fuzzy -#~ msgid "Error could not load file." -#~ msgstr "ছবি লোড অসম্ভব হয়েছে" - -#, fuzzy -#~ msgid "Doppler Enable" -#~ msgstr "সক্রিয় করুন" - -#, fuzzy -#~ msgid "Select Mode (Q)" -#~ msgstr "মোড (Mode) বাছাই করুন" - -#~ msgid "Move Mode (W)" -#~ msgstr "সরানোর মোড (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "ঘোরানোর মোড (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "মাপের মোড করুন (R)" - -#~ msgid "Local Coords" -#~ msgstr "স্থানীয় স্থানাঙ্কসমূহ" - -#, fuzzy -#~ msgid "Snap Mode (%s)" -#~ msgstr "স্ন্যাপ মোড:" - -#, fuzzy -#~ msgid "Tool Select" -#~ msgstr "নির্বাচন করুন" - -#, fuzzy -#~ msgid "Tool Move" -#~ msgstr "সরান" - -#, fuzzy -#~ msgid "Tool Rotate" -#~ msgstr "কন্ট্রোল বোতাম: ঘূর্ণন" - -#, fuzzy -#~ msgid "Tool Scale" -#~ msgstr "স্কেল/মাপ:" - -#, fuzzy -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "তালিকা হতে প্রকল্প অপসারণ করবেন? (ফোল্ডারের বিষয়াদি পরিবর্তন হবে না)" - -#~ msgid "Project List" -#~ msgstr "প্রকল্পের তালিকা" - -#~ msgid "Exit" -#~ msgstr "প্রস্থান করুন" - -#~ msgid "Could not execute PVRTC tool:" -#~ msgstr "PVRTC সরঞ্জাম এক্সিকিউট করা সম্ভব হচ্ছে না:" - -#~ msgid "Can't load back converted image using PVRTC tool:" -#~ msgstr "PVRTC সরঞ্জাম দ্বারা রূপান্তরিত ছবি পুনরায় লোড করা সম্ভব নয়:" - -#~ msgid "Error initializing FreeType." -#~ msgstr "FreeType আরম্ভে সমস্যা হয়েছে।" - -#~ msgid "Unknown font format." -#~ msgstr "অজানা ধরনের ফন্ট।" - -#~ msgid "Error loading font." -#~ msgstr "ফন্ট তুলতে/লোডে সমস্যা হয়েছে।" - -#~ msgid "Invalid font size." -#~ msgstr "ফন্টের আকার অগ্রহনযোগ্য।" - -#, fuzzy -#~ msgid "Previous Folder" -#~ msgstr "পূর্বের ট্যাব" - -#, fuzzy -#~ msgid "Next Folder" -#~ msgstr "ফোল্ডার তৈরি করুন" - -#, fuzzy -#~ msgid "Open in an external image editor." -#~ msgstr "এডিটরে খুলুন" - -#~ msgid "Reverse" -#~ msgstr "উল্টান/বিপরীত দিকে ফিরান" - -#~ msgid "Mirror X" -#~ msgstr "প্রতিবিম্ব X" - -#~ msgid "Mirror Y" -#~ msgstr "প্রতিবিম্ব Y" - -#, fuzzy -#~ msgid "Generating solution..." -#~ msgstr "ওকট্রী (octree) গঠনবিন্যাস তৈরি করা হচ্ছে" - -#, fuzzy -#~ msgid "Failed to create solution." -#~ msgstr "প্রান্তরেখা তৈরি করা সম্ভব হয়নি!" - -#, fuzzy -#~ msgid "Failed to save solution." -#~ msgstr "রিসোর্স লোড ব্যর্থ হয়েছে।" - -#, fuzzy -#~ msgid "Failed to create C# project." -#~ msgstr "রিসোর্স লোড ব্যর্থ হয়েছে।" - -#~ msgid "Mono" -#~ msgstr "মনো" - -#, fuzzy -#~ msgid "Create C# solution" -#~ msgstr "প্রান্তরেখা তৈরি করুন" - -#, fuzzy -#~ msgid "Build Project" -#~ msgstr "নতুন প্রকল্প" - -#, fuzzy -#~ msgid "View log" -#~ msgstr "ফাইল" - -#, fuzzy -#~ msgid "Enabled Classes" -#~ msgstr "ক্লাসের অনুসন্ধান করুন" - -#~ msgid "Update Always" -#~ msgstr "সর্বদা হাল-নাগাদ করুন" - -#, fuzzy -#~ msgid "Raw Mode" -#~ msgstr "প্যান মোড" - -#~ msgid "Path to Node:" -#~ msgstr "নোডের পথ:" - -#~ msgid "Delete selected files?" -#~ msgstr "নির্বাচিত ফাইলসমূহ অপসারণ করবেন?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "'res://default_bus_layout.tres' ফাইল খুঁজে পাওয়া যায়নি।" - -#, fuzzy -#~ msgid "Go to parent folder" -#~ msgstr "ফোল্ডার তৈরী করা সম্ভব হয়নি।" - -#, fuzzy -#~ msgid "Open Scene(s)" -#~ msgstr "দৃশ্য খুলুন" - -#~ msgid "Previous Directory" -#~ msgstr "পূর্বের স্থান" - -#~ msgid "Next Directory" -#~ msgstr "পরের স্থান" - -#, fuzzy -#~ msgid "Ease in" -#~ msgstr "আন্ত-সহজাগমন" - -#, fuzzy -#~ msgid "Ease out" -#~ msgstr "বহিঃ-সহজাগমন" - -#~ msgid "Create Convex Static Body" -#~ msgstr "স্থিত-কনভেক্স বডি তৈরি করুন" - -#~ msgid "CheckBox Radio1" -#~ msgstr "CheckBox Radio১" - -#~ msgid "CheckBox Radio2" -#~ msgstr "CheckBox Radio২" - -#, fuzzy -#~ msgid "Create folder" -#~ msgstr "ফোল্ডার তৈরি করুন" - -#, fuzzy -#~ msgid "Custom Node" -#~ msgstr "নোড-সমূহ কর্তন/কাট করুন" - -#, fuzzy -#~ msgid "Invalid Path" -#~ msgstr "অকার্যকর পথ।" - -#, fuzzy -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "নির্বাচিত সমূহ অনুলিপি করুন" - -#, fuzzy -#~ msgid "Create Area" -#~ msgstr "নতুন তৈরি করুন" - -#, fuzzy -#~ msgid "Create Exterior Connector" -#~ msgstr "নতুন প্রকল্প তৈরি করুন" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "সংকেত/সিগন্যাল-এর মান/আর্গুমেন্ট-সমূহ সম্পাদন করুন:" - -#~ msgid "Edit Variable:" -#~ msgstr "চলক/ভেরিয়েবল সম্পাদন করুন:" - -#, fuzzy -#~ msgid "Snap (s): " -#~ msgstr "স্ন্যাপ (পিক্সেলসমূহ):" - -#, fuzzy -#~ msgid "Insert keys." -#~ msgstr "চাবিসমূহ সন্নিবেশ করুন" - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "নির্বাচিত দৃশ্য(সমূহ)-কে নির্বাচিত নোডের অংশ হিসেবে ইনস্ট্যান্স করুন।" - -#, fuzzy -#~ msgid "Font Size:" -#~ msgstr "উৎস ফন্টের আকার:" - -#~ msgid "Line:" -#~ msgstr "লাইন:" - -#~ msgid "Col:" -#~ msgstr "কলাম:" - -#, fuzzy -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "PathFollow2D একমাত্র Path2D এর অংশ হিসেবে নির্ধারন করালেই কাজ করে।" - -#, fuzzy -#~ msgid "Add Split" -#~ msgstr "ইনপুট যোগ করুন" - -#, fuzzy -#~ msgid "Invalid Split: " -#~ msgstr "অগ্রহণযোগ্য পথ!" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "পথের বিন্দু অপসারণ করুন" - -#, fuzzy -#~ msgid "Poly" -#~ msgstr "Poly সম্পাদন করুন" - -#, fuzzy -#~ msgid "Splits" -#~ msgstr "পথ বিভক্ত করুন" - -#, fuzzy -#~ msgid "Add Node.." -#~ msgstr "নোড সংযোজন করুন" - -#~ msgid "Create from scene?" -#~ msgstr "দৃশ্য হতে তৈরি করবেন?" - -#~ msgid "Create Poly" -#~ msgstr "Poly তৈরি করুন" - -#, fuzzy -#~ msgid "Create a new polygon from scratch" -#~ msgstr "আরম্ভ হতে নতুন polygon তৈরি করুন।" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "সংকুচিত করুন (জুম্ আউট)" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "সম্প্রসারিত করুন (জুম্ ইন)" - -#~ msgid "Create Poly3D" -#~ msgstr "Poly3D তৈরি করুন" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "এই নোডের মধ্যে কোন অক্লুডার পলিগন টুডি রিসোর্স বিদ্যমান নেই।\n" -#~ " নতুন পলিগন তৈরি করবেন?" - -#~ msgid "LMB: Move Point." -#~ msgstr "মাউসের বাম বোতাম: বিন্দু সরান।" - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "কন্ট্রোল + মাউসের বাম বোতাম: অংশ বিভক্ত করুন।" - -#~ msgid "RMB: Erase Point." -#~ msgstr "মাউসের ডান বোতাম: বিন্দু মুছে ফেলুন।" - -#, fuzzy -#~ msgid "New TextFile" -#~ msgstr "ফাইল" - -#~ msgid "Save Theme As" -#~ msgstr "থিম এইরূপে সংরক্ষণ করুন" - -#~ msgid "<None>" -#~ msgstr "<নান/কিছুই না>" - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "জুম্ (%):" - -#~ msgid "Class List:" -#~ msgstr "ক্লাসের তালিকা:" - -#, fuzzy -#~ msgid "Public Methods" -#~ msgstr "সর্বজনীন/প্রকাশ্য মেথডসমূহ:" - -#~ msgid "Public Methods:" -#~ msgstr "সর্বজনীন/প্রকাশ্য মেথডসমূহ:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "GUI থিম এর বস্তুসমূহ:" - -#, fuzzy -#~ msgid "Property: " -#~ msgstr "প্রপার্টি:" - -#, fuzzy -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "ফোল্ডারের অবস্থা ফেবরিট/প্রিয় হিসেবে অদলবদল/টগল করুন" - -#, fuzzy -#~ msgid "Show current scene file." -#~ msgstr "এই-মুহূর্তে সম্পাদিত রিসোর্সটি সংরক্ষণ করুন।" - -#, fuzzy -#~ msgid "Whole words" -#~ msgstr "সম্পূর্ণ শব্দ" - -#, fuzzy -#~ msgid "Match case" -#~ msgstr "অক্ষরের মাত্রা (বড়/ছোট-হাতের) মিল করুন" - -#~ msgid "Ok" -#~ msgstr "ঠিক আছে" - -#, fuzzy -#~ msgid "Show In File System" -#~ msgstr "ফাইলসিস্টেম" - -#~ msgid "Search the class hierarchy." -#~ msgstr "ক্লাসের ক্রমোচ্চতা খুঁজুন।" - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "ক্লাসের অনুসন্ধান করুন" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "" -#~ "পূর্বনির্মিত স্ক্রিপ্ট শুধুমাত্র তাদের অধিকারী দৃশ্য লোড করা হলেই সম্পাদন করা যাবে" - -#, fuzzy -#~ msgid "Convert To Uppercase" -#~ msgstr "এতে রূপান্তর করুন..." - -#, fuzzy -#~ msgid "Convert To Lowercase" -#~ msgstr "এতে রূপান্তর করুন..." - -#~ msgid "Rotate 0 degrees" -#~ msgstr "০ ডিগ্রি ঘোরান্" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "৯০ ডিগ্রি ঘোরান্" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "১৮০ ডিগ্রি ঘোরান্" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "২৭০ ডিগ্রি ঘোরান্" - -#~ msgid "Errors:" -#~ msgstr "সমস্যাসমূহ:" - -#~ msgid "Stack Trace (if applicable):" -#~ msgstr "পদাঙ্ক স্তূপ করুন (প্রযোজ্য হলে):" - -#~ msgid "Bake!" -#~ msgstr "সিদ্ধ/বেক্!" - -#, fuzzy -#~ msgid "Bake the navigation mesh." -#~ msgstr "Navigation Mesh তৈরি করুন" - -#~ msgid "Get" -#~ msgstr "মান পান (Get)" - -#~ msgid "Change RGB Constant" -#~ msgstr "RGB ধ্রুবক পরিবর্তন করুন" - -#~ msgid "Change Vec Scalar Operator" -#~ msgstr "ভেক্টর স্কেলার অপারেটর পরিবর্তন করুন" - -#~ msgid "Change RGB Operator" -#~ msgstr "RGB অপারেটর পরিবর্তন করুন" - -#~ msgid "Toggle Rot Only" -#~ msgstr "শুধুমাত্র ঘূর্ণন টগল করুন" - -#~ msgid "Change Vec Function" -#~ msgstr "ভেক্টর ফাংশন পরিবর্তন করুন" - -#~ msgid "Change RGB Uniform" -#~ msgstr "RGB ইউনিফর্ম পরিবর্তন করুন" - -#~ msgid "Change Default Value" -#~ msgstr "প্রাথমিক মান পরিবর্তন করুন" - -#~ msgid "Change XForm Uniform" -#~ msgstr "XForm ইউনিফর্ম পরিবর্তন করুন" - -#~ msgid "Change Cubemap Uniform" -#~ msgstr "Cubemap ইউনিফর্ম পরিবর্তন করুন" - -#~ msgid "Change Comment" -#~ msgstr "কমেন্ট পরিবর্তন করুন" - -#~ msgid "Add/Remove to Color Ramp" -#~ msgstr "রঙ্গের র্যাম্পে সংযোজন/বিয়োজন করুন" - -#~ msgid "Modify Color Ramp" -#~ msgstr "রঙ্গের র্যাম্প পরিবর্তন করুন" - -#~ msgid "Add/Remove to Curve Map" -#~ msgstr "Curve Map-এ সংযোজন/বিয়োজন করুন" - -#~ msgid "Modify Curve Map" -#~ msgstr "Curve Map পরিবর্তন করুন" - -#~ msgid "Connect Graph Nodes" -#~ msgstr "গ্রাফের নোডসমূহ সংযুক্ত করুন" - -#~ msgid "Remove Shader Graph Node" -#~ msgstr "Shader Graph Node অপসারণ করুন" - -#~ msgid "Move Shader Graph Node" -#~ msgstr "Shader Graph Node সরান" - -#~ msgid "Duplicate Graph Node(s)" -#~ msgstr "গ্রাফ নোড(সমূহ) প্রতিলিপি করুন" - -#~ msgid "Error: Cyclic Connection Link" -#~ msgstr "সমস্যা: আবর্তনশীল সংযোগ লিঙ্ক" - -#~ msgid "Error: Missing Input Connections" -#~ msgstr "সমস্যা: ইনপুট সংযোগ নেই" - -#~ msgid "Add Shader Graph Node" -#~ msgstr "Shader Graph Node যোগ করুন" - -#~ msgid "Move Anim Track Up" -#~ msgstr "অ্যানিমেশন ( Anim) ট্র্যাক আপ" - -#~ msgid "Move Anim Track Down" -#~ msgstr "অ্যানিমেশন (Anim) ট্র্যাক ডাউন" - -#~ msgid "Set Transitions to:" -#~ msgstr "ট্র্যানজিশন/স্থানান্তরণ সেট/নির্ধারণ করুন:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "অ্যানিমেশন (Anim) ট্র্যাক/পথ-এর প্রক্ষেপ/নিবেশ পরিবর্তন করুন" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "অ্যানিমেশন (Anim) ট্র্যাক/পথ-এর মানের ধরন/প্রকার পরিবর্তন করুন" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "অ্যানিমেশন ট্র্যাক-এর Wrapping মোড পরিবর্তন করুন" - -#~ msgid "Edit Node Curve" -#~ msgstr "নোডের বাঁক/কার্ভ সম্পাদন করুন" - -#~ msgid "Edit Selection Curve" -#~ msgstr "নির্বাচন বাঁক/কার্ভ সম্পাদন করুন" - -#~ msgid "Anim Add Key" -#~ msgstr "অ্যানিমেশনে (Anim) চাবি/কী যোগ করুন" - -#~ msgid "In" -#~ msgstr "অভ্যন্তরে/ইন" - -#~ msgid "Out" -#~ msgstr "বাইরে/অউট" - -#~ msgid "In-Out" -#~ msgstr "অভ্যন্তরে-বাইরে/ইন-অউট" - -#~ msgid "Out-In" -#~ msgstr "বাইরে-অভ্যন্তরে/অউট-ইন" - -#~ msgid "Change Anim Len" -#~ msgstr "অ্যানিমেশনের (Anim) দৈর্ঘ্য পরিবর্তন করুন" - -#~ msgid "Change Anim Loop" -#~ msgstr "অ্যানিমেশনের (Anim) পুনরাবৃত্তি/লুপ পরিবর্তন করুন" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "অ্যানিমেশনে (Anim) প্রতীকী মানের চাবি তৈরি করুন" - -#~ msgid "Anim Add Call Track" -#~ msgstr "অ্যানিমেশনে (Anim) ডাকার ট্র্যাক/পথ যোগ করুন" - -#~ msgid "Length (s):" -#~ msgstr "দৈর্ঘ্য (দৈর্ঘ্যসমূহ):" - -#~ msgid "Step (s):" -#~ msgstr "ধাপ (ধাপসমূহ):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "কার্সরের স্থানে/পদক্ষেপে ভাঙ্গুন (snap) (সময় সেকেন্ডে)।" - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "অ্যানিমেশনের পুনরাবৃত্তি/লুপ সক্ষম/অক্ষম করুন।" - -#~ msgid "Add new tracks." -#~ msgstr "নতুন ট্র্যাক/পথ-সমূহ যোগ করুন।" - -#~ msgid "Move current track up." -#~ msgstr "বর্তমান ট্র্যাক/পথ উপরের দিকে তুলুন।" - -#~ msgid "Move current track down." -#~ msgstr "বর্তমান ট্র্যাক/পথ নিচের দিকে নামান।" - -#~ msgid "Track tools" -#~ msgstr "ট্র্যাক/পথের সরঞ্জামসমূহ" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "প্রতিটি চাবির সম্পাদন-যোগ্যতা সক্রিয় করার জন্য তাদের নির্বাচন করুন।" - -#~ msgid "Key" -#~ msgstr "চাবি" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "কোন নোডে ফাংশন(সমূহ) ডাকবেন?" - -#~ msgid "Thanks!" -#~ msgstr "ধন্যবাদ!" - -#~ msgid "I see..." -#~ msgstr "বুঝলাম..." - -#~ msgid "Ugh" -#~ msgstr "আহ্" - -#~ msgid "Run Script" -#~ msgstr "স্ক্রিপ্ট চালান" - -#~ msgid "Stop Profiling" -#~ msgstr "প্রোফাইলিং বন্ধ করুন" - -#~ msgid "Start Profiling" -#~ msgstr "প্রোফাইলিং শুরু করুন" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "ডিফল্ট/সাধারণ (এডিটরের মতোই)" - -#~ msgid "Create new animation in player." -#~ msgstr "প্লেয়ারে নতুন অ্যানিমেশন তৈরি করুন।" - -#~ msgid "Load animation from disk." -#~ msgstr "ডিস্ক হতে অ্যানিমেশন লোড করুন।" - -#~ msgid "Load an animation from disk." -#~ msgstr "ডিস্ক হতে একটি অ্যানিমেশন লোড করুন।" - -#~ msgid "Save the current animation" -#~ msgstr "বর্তমান অ্যানিমেশন সংরক্ষণ করুন" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "উদ্দেশ্যিত ব্লেন্ড-এর সময় সম্পাদন করুন" - -#~ msgid "Copy Animation" -#~ msgstr "অ্যানিমেশন প্রতিলিপি করুন" - -#~ msgid "Fetching:" -#~ msgstr "খুঁজে আনার চেস্টা চলছে:" - -#~ msgid "prev" -#~ msgstr "পূর্ববর্তী" - -#~ msgid "next" -#~ msgstr "পরবর্তী" - -#~ msgid "last" -#~ msgstr "শেষ" - -#~ msgid "Edit IK Chain" -#~ msgstr "IK চেইন সম্পাদন করুন" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "মাউস পজিশন থেকে পিভট ড্র্যাগ করুন" - -#, fuzzy -#~ msgid "Set pivot at mouse position" -#~ msgstr "বহিঃ-বক্ররেখার স্থান নির্ধারণ করুন" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "রঙ্গের র্যাম্প বিন্দু সংযোজন/বিয়োজন করুন" - -#~ msgid "OK :(" -#~ msgstr "ঠিক আছে :(" - -#~ msgid "StyleBox Preview:" -#~ msgstr "StyleBox প্রিভিউ:" - -#~ msgid "Texture Region Editor" -#~ msgstr "গঠনবিন্যাসের এলাকা এডিটর" - -#~ msgid "Erase selection" -#~ msgstr "নির্বাচিতসমূহ মুছে ফেলুন" - -#~ msgid "Item name or ID:" -#~ msgstr "আইটেমের নাম বা আইডি:" - -#~ msgid "Export templates for this platform are missing/corrupted: " -#~ msgstr "" -#~ "এই প্ল্যাটফর্মের জন্য দরকারি এক্সপোর্ট টেমপ্লেটগুলি ক্ষতিগ্রস্থ হয়েছে অথবা খুঁজে পাওয়া " -#~ "যাচ্ছে না: " - -#~ msgid "Button 8" -#~ msgstr "বোতাম ৮" - -#~ msgid "Button 9" -#~ msgstr "বোতাম ৯" - -#~ msgid "Discard Instancing" -#~ msgstr "ইন্সট্যান্স করা বাতিল করুন" - -#~ msgid "Clear!" -#~ msgstr "পরিস্কার করুন!" - -#~ msgid "Toggle Spatial Visible" -#~ msgstr "Spatial দৃশ্যমানতা টগল করুন" - -#~ msgid "Condition" -#~ msgstr "শর্ত (Condition)" - -#~ msgid "Sequence" -#~ msgstr "ক্রম (Sequence)" - -#~ msgid "Switch" -#~ msgstr "সুইচ (Switch)" - -#~ msgid "Iterator" -#~ msgstr "পুনরুক্তিকারী (Iterator)" - -#~ msgid "While" -#~ msgstr "যতক্ষণ (While)" - -#~ msgid "Return" -#~ msgstr "ফেরৎ পাঠান (Return)" - -#~ msgid "Call" -#~ msgstr "ডাকুন (Call)" - -#, fuzzy -#~ msgid "Edit Variable" -#~ msgstr "চলক/ভেরিয়েবল সম্পাদন করুন:" - -#, fuzzy -#~ msgid "Edit Signal" -#~ msgstr "সংকেত/সিগন্যাল সম্পাদন:" - -#~ msgid "Invalid action (anything goes but '/' or ':')." -#~ msgstr "অকার্যকর অ্যাকশন ('/' বা ':' ছাড়া কিছুই যাবে না)।" - -#, fuzzy -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "নোডের সাথে সংযুক্ত করুন:" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "টেমপ্লেট এর version.txt ফরম্যাট অগ্রহণযোগ্য। Revision কোন কাংখিত আইডেন্টিফায়ার " -#~ "নয়।" - -#, fuzzy -#~ msgid "Can't write file." -#~ msgstr "টাইলটি খুঁজে পাওয়া যায়নি:" - -#, fuzzy -#~ msgid "Couldn't get project.godot in project path." -#~ msgstr "প্রকল্পের পথে engine.cfg তৈরি করা সম্ভব হয়নি।" - -#~ msgid "Replace By" -#~ msgstr "এর দ্বারা প্রতিস্থাপন করুন" - -#~ msgid "Backwards" -#~ msgstr "পিছনের/অতীতের দিকে" - -#~ msgid "Prompt On Replace" -#~ msgstr "প্রতিস্থাপনে অবহিত করুন" - -#~ msgid "Skip" -#~ msgstr "অতিক্রম করে যান" - -#~ msgid "" -#~ "Your project will be created in a non empty folder (you might want to " -#~ "create a new folder)." -#~ msgstr "" -#~ "আপনার প্রজেক্ট একটি খালি ফোল্ডারে তৈরি করা হবে (আপনি চাইলে একটি নতুন ফোল্ডার " -#~ "তৈরি করতে পারেন)।" - -#~ msgid "That's a BINGO!" -#~ msgstr "দারুণ খবর!" - -#, fuzzy -#~ msgid "preview" -#~ msgstr "প্রিভিউ" - -#~ msgid "Move Add Key" -#~ msgstr "অ্যাড কি মুভ করুন" - -#~ msgid "Create Subscription" -#~ msgstr "সদস্যতা/সাবস্ক্রিপশন তৈরি করুন" - -#~ msgid "List:" -#~ msgstr "তালিকা:" - -#~ msgid "Set Emission Mask" -#~ msgstr "Emission Mask স্থাপন করুন" - -#~ msgid "Clear Emitter" -#~ msgstr "Emitter পরিস্কার করুন" - -#~ msgid " " -#~ msgstr " " - -#~ msgid "Sections:" -#~ msgstr "অংশাদি:" - -#, fuzzy -#~ msgid "" -#~ "\n" -#~ "Source: " -#~ msgstr "উৎস:" - -#, fuzzy -#~ msgid "Remove Point from Line2D" -#~ msgstr "বক্ররেখা হতে বিন্দু অপসারণ করুন" - -#, fuzzy -#~ msgid "Add Point to Line2D" -#~ msgstr "বক্ররেখায় বিন্দু যোগ করুন" - -#, fuzzy -#~ msgid "Move Point in Line2D" -#~ msgstr "বক্ররেখায় বিন্দু সরান" - -#, fuzzy -#~ msgid "Split Segment (in line)" -#~ msgstr "অংশ বিভক্ত করুন (বক্ররেখায়)" - -#~ msgid "Meta+" -#~ msgstr "Meta+" - -#, fuzzy -#~ msgid "Setting '" -#~ msgstr "সেটিংস" - -#~ msgid "Remote Inspector" -#~ msgstr "রিমোট পরীক্ষক" - -#~ msgid "Live Scene Tree:" -#~ msgstr "দৃশ্যের সক্রিয় শাখা:" - -#~ msgid "Remote Object Properties: " -#~ msgstr "রিমোট বস্তুর প্রোপার্টিস: " - -#, fuzzy -#~ msgid "Selection -> Duplicate" -#~ msgstr "শুধুমাত্র নির্বাচিতসমূহ" - -#, fuzzy -#~ msgid "Selection -> Clear" -#~ msgstr "শুধুমাত্র নির্বাচিতসমূহ" - -#~ msgid "" -#~ "Path property must point to a valid Viewport node to work. Such Viewport " -#~ "must be set to 'render target' mode." -#~ msgstr "" -#~ "Path এর দিক অবশ্যই একটি কার্যকর Viewport এর দিকে নির্দেশ করাতে হবে। সেই " -#~ "Viewport অবশ্যই 'render target' মোডে নির্ধারন করতে হবে।" - -#~ msgid "" -#~ "The Viewport set in the path property must be set as 'render target' in " -#~ "order for this sprite to work." -#~ msgstr "" -#~ "এই sprite টি কার্যকর করতে path প্রোপার্টিতে নির্ধারিত Viewport টি অবশ্যই " -#~ "'render target' এ নির্ধারিত করতে হবে।" - -#~ msgid "Method List For '%s':" -#~ msgstr "'%s' এর জন্য মেথডের তালিকা:" - -#~ msgid "Arguments:" -#~ msgstr "মান/আর্গুমেন্ট-সমূহ:" - -#~ msgid "Return:" -#~ msgstr "প্রত্যাবর্তন:" - -#~ msgid "Added:" -#~ msgstr "সংযোজিত:" - -#~ msgid "Could not save atlas subtexture:" -#~ msgstr "এটলাস/মানচিত্রাবলীর উপ-গঠনবিন্যাস (subtexture) সংরক্ষণ অসমর্থ হয়েছে:" - -#~ msgid "Setting Up..." -#~ msgstr "স্থাপিত/বিন্যস্ত হচ্ছে..." - -#~ msgid "Error loading scene." -#~ msgstr "দৃশ্য লোডে সমস্যা হয়েছে।" - -#~ msgid "Re-Import" -#~ msgstr "পুন-ইম্পোর্ট" - -#~ msgid "Please wait for scan to complete." -#~ msgstr "স্ক্যান সম্পন্ন হওয়া পর্যন্ত অনুগ্রহ করে অপেক্ষা করুন।" - -#~ msgid "Current scene must be saved to re-import." -#~ msgstr "পুনরায়-ইম্পোর্ট করতে বর্তমান দৃশ্যটিকে অবশ্যই সংরক্ষণ করতে হবে।" - -#~ msgid "Re-Importing" -#~ msgstr "পুনরায় ইম্পোর্ট হচ্ছে" - -#~ msgid "Re-Import Changed Resources" -#~ msgstr "পুন-ইম্পোর্টে রিসোর্স-সমূহ পরিবর্তিত হয়েছে" - -#, fuzzy -#~ msgid "" -#~ "\n" -#~ "Status: Needs Re-Import" -#~ msgstr "সংরক্ষণ এবং পুন-ইম্পোর্ট করুন" - -#~ msgid "Same source and destination files, doing nothing." -#~ msgstr "ফাইল্গুলোর একই উৎস এবং গন্তব্যস্থান, কিছুই করা হচ্ছে না।" - -#~ msgid "Same source and destination paths, doing nothing." -#~ msgstr "পথগুলোর একই উৎস এবং গন্তব্যস্থান, কিছুই করা হচ্ছে না।" - -#~ msgid "Can't move directories to within themselves." -#~ msgstr "স্থানসমূহকে তাদের মাঝেই স্থানান্তর করা সম্ভব নয়।" - -#~ msgid "Pick New Name and Location For:" -#~ msgstr "নতুন নাম এবং অবস্থান বাছাই করুন:" - -#~ msgid "Info" -#~ msgstr "তথ্য" - -#~ msgid "No bit masks to import!" -#~ msgstr "ইম্পোর্ট করার জন্য কোনো বিট মাস্ক নেই!" - -#~ msgid "Target path is empty." -#~ msgstr "উদ্দেশ্যিত পথটি খালি।" - -#~ msgid "Target path must be a complete resource path." -#~ msgstr "উদ্দেশ্যিত পথটি অবশ্যই একটি সম্পুর্ণ রিসোর্স পথ হতে হবে।" - -#~ msgid "Target path must exist." -#~ msgstr "উদ্দেশ্যিত পথটি অবশ্যই বিদ্যমান হতে হবে।" - -#~ msgid "Import BitMasks" -#~ msgstr "BitMasks ইম্পোর্ট করুন" - -#~ msgid "Source Texture(s):" -#~ msgstr "টেক্সার(সমূহ)-এর উৎস:" - -#~ msgid "Target Path:" -#~ msgstr "উদ্দেশ্যিত পথ:" - -#~ msgid "Accept" -#~ msgstr "গ্রহণ করুন" - -#~ msgid "Bit Mask" -#~ msgstr "বিট-মাস্ক (Bit Mask)" - -#~ msgid "No source font file!" -#~ msgstr "ফন্টের কোনো উৎস ফাইল নেই!" - -#~ msgid "No target font resource!" -#~ msgstr "ফন্টের কোনো উদ্দেশ্যিত রিসোর্স নেই!" - -#, fuzzy -#~ msgid "" -#~ "Invalid file extension.\n" -#~ "Please use .font." -#~ msgstr "" -#~ "ফাইলের অগ্রহনযোগ্য এক্সটেনশন।\n" -#~ "অনুগ্রহ করে .fnt ব্যবহার করুন।" - -#~ msgid "Couldn't save font." -#~ msgstr "ফন্ট সংরক্ষণ করা সম্ভব হয়নি।" - -#~ msgid "Source Font:" -#~ msgstr "ফন্টের উৎস:" - -#~ msgid "Dest Resource:" -#~ msgstr "রিসোর্সের গন্তব্যস্থান:" - -#~ msgid "The quick brown fox jumps over the lazy dog." -#~ msgstr "" -#~ "বাদামী রঙ্গের দ্রুত শিয়ালটি অলস কুকুরের উপর দিয়ে লাফিয়ে যায় (The quick brown " -#~ "fox jumps over the lazy dog.)।" - -#~ msgid "Test:" -#~ msgstr "পরীক্ষা:" - -#~ msgid "Options:" -#~ msgstr "সিদ্ধান্তসমূহ (অপশন):" - -#~ msgid "Font Import" -#~ msgstr "ফন্ট ইম্পোর্ট করুন" - -#~ msgid "" -#~ "This file is already a Godot font file, please supply a BMFont type file " -#~ "instead." -#~ msgstr "" -#~ "এই ফাইলটি ইতিমধ্যেই একটি Godot ফন্ট ফাইল, পরিবর্তে অনুগ্রহ করে BMFont ধরণের " -#~ "ফাইল প্রদান করুন।" - -#~ msgid "Failed opening as BMFont file." -#~ msgstr "BMFont ফাইল খোলা ব্যর্থ হয়েছে।" - -#~ msgid "Invalid font custom source." -#~ msgstr "স্বনির্মিত ফন্টের অগ্রহনযোগ্য উৎস।" - -#~ msgid "No meshes to import!" -#~ msgstr "ইম্পোর্ট করার মতো কোনো মেস নেই!" - -#~ msgid "Single Mesh Import" -#~ msgstr "একক মেস ইম্পোর্ট করুন" - -#~ msgid "Source Mesh(es):" -#~ msgstr "মেস(সমূহ)-এর উৎস:" - -#~ msgid "Surface %d" -#~ msgstr "পৃষ্ঠতল %d" - -#~ msgid "No samples to import!" -#~ msgstr "ইম্পোর্ট করার মতো কোনো নমুনা নেই!" - -#~ msgid "Import Audio Samples" -#~ msgstr "শব্দের নমুনাসমূহ ইম্পোর্ট করুন" - -#~ msgid "Source Sample(s):" -#~ msgstr "নমুনা(সমূহ)-এর উৎস:" - -#~ msgid "Audio Sample" -#~ msgstr "শব্দের নমুনা" - -#~ msgid "New Clip" -#~ msgstr "নতুন ক্লিপ" - -#~ msgid "Flags" -#~ msgstr "পতাকাসমূহ" - -#~ msgid "Bake FPS:" -#~ msgstr "সিদ্ধ FPS:" - -#~ msgid "Optimizer" -#~ msgstr "পরিমার্জক" - -#~ msgid "Max Linear Error" -#~ msgstr "সর্বোচ্চ রৈখিক ভুল/সমস্যা" - -#~ msgid "Max Angular Error" -#~ msgstr "সর্বোচ্চ কৌণিক ভুল/সমস্যা" - -#~ msgid "Max Angle" -#~ msgstr "সর্বোচ্চ কোণ" - -#~ msgid "Start(s)" -#~ msgstr "আরম্ভ(সমূহ)" - -#~ msgid "Source path is empty." -#~ msgstr "উৎসের পথটি খালি।" - -#~ msgid "Couldn't load post-import script." -#~ msgstr "ইম্পোর্ট-পরবর্তী স্ক্রিপ্ট লোড করা সম্ভব হয়নি।" - -#~ msgid "Invalid/broken script for post-import." -#~ msgstr "ইম্পোর্ট-পরবর্তী স্ক্রিপ্ট অকার্যকর/ত্রুটিপূর্ণ।" - -#~ msgid "Error importing scene." -#~ msgstr "দৃশ্য ইম্পোর্টে সমস্যা হয়েছে।" - -#~ msgid "Import 3D Scene" -#~ msgstr "3D দৃশ্য ইম্পোর্ট করুন" - -#~ msgid "Source Scene:" -#~ msgstr "উৎস দৃশ্য:" - -#~ msgid "Same as Target Scene" -#~ msgstr "উদ্দেশ্যিত দৃশ্যের ন্যায়" - -#~ msgid "Shared" -#~ msgstr "শেয়ারকৃত" - -#~ msgid "Target Texture Folder:" -#~ msgstr "গঠনবিন্যাসের উদ্দেশ্যিত ফোল্ডার:" - -#~ msgid "Custom Root Node Type:" -#~ msgstr "স্বনির্মিত মূল নোডের ধরণ:" - -#~ msgid "Auto" -#~ msgstr "স্বয়ংক্রিয়" - -#~ msgid "The Following Files are Missing:" -#~ msgstr "নিম্নোক্ত ফাইলসমূহ অনুপস্থিত:" - -#~ msgid "Import Anyway" -#~ msgstr "যেকোনো উপায়েই ইম্পোর্ট করুন" - -#~ msgid "Edited scene has not been saved, open imported scene anyway?" -#~ msgstr "সম্পাদিত দৃশ্য সংরক্ষণ করা হয়নি, তবুও ইম্পোর্ট করা দৃশ্যটি খুলবেন?" - -#~ msgid "Import Image:" -#~ msgstr "ছবি ইম্পোর্ট করুন:" - -#~ msgid "Couldn't localize path: %s (already local)" -#~ msgstr "পথ স্থানীয়করণ সম্ভব হচ্ছে না: %s (ইতিমধ্যেই স্থানীয়)" - -#~ msgid "3D Scene Animation" -#~ msgstr "3D দৃশ্যের অ্যানিমেশন" - -#~ msgid "Uncompressed" -#~ msgstr "অসংকুচিত" - -#~ msgid "Compress Lossless (PNG)" -#~ msgstr "ধ্বংসবিহীন সঙ্কোচন (PNG)" - -#~ msgid "Compress Lossy (WebP)" -#~ msgstr "ধ্বংসাত্মক সঙ্কোচন (WebP)" - -#~ msgid "Compress (VRAM)" -#~ msgstr "সঙ্কোচন (VRAM)" - -#~ msgid "Texture Format" -#~ msgstr "গঠনবিন্যাসের ফরম্যাট" - -#~ msgid "Texture Compression Quality (WebP):" -#~ msgstr "গঠনবিন্যাস সঙ্কোচনের গুণমান (WebP):" - -#~ msgid "Please specify some files!" -#~ msgstr "অনুগ্রহ করে কিছু ফাইল নির্দিষ্ট করে দিন!" - -#~ msgid "At least one file needed for Atlas." -#~ msgstr "এটলাস/মানচিত্রাবলীর জন্য কমপক্ষে একটি ফাইল প্রয়োজন।" - -#~ msgid "Error importing:" -#~ msgstr "ইম্পোর্টে সমস্যা হয়েছে:" - -#~ msgid "Max Texture Size:" -#~ msgstr "গঠনবিন্যাসের সর্বোচ্চ আকার:" - -#~ msgid "Import Textures for Atlas (2D)" -#~ msgstr "এটলাস/মানচিত্রাবলীর জন্য গঠনবিন্যাস ইম্পোর্ট করুন (2D)" - -#~ msgid "Large Texture" -#~ msgstr "বৃহৎ গঠনবিন্যাস" - -#~ msgid "Import Large Textures (2D)" -#~ msgstr "বৃহৎ গঠনবিন্যাস ইম্পোর্ট করুন (2D)" - -#~ msgid "Source Texture" -#~ msgstr "গঠনবিন্যাসের উৎস" - -#~ msgid "Base Atlas Texture" -#~ msgstr "গোড়ার এটলাস/মানচিত্রাবলীর গঠনবিন্যাস" - -#~ msgid "Source Texture(s)" -#~ msgstr "গঠনবিন্যাস(সমূহ)-এর উৎস" - -#~ msgid "Import Textures for 2D" -#~ msgstr "2D-এর জন্য গঠনবিন্যাসসমূহ ইম্পোর্ট করুন" - -#~ msgid "Import Textures for 3D" -#~ msgstr "3D-এর জন্য গঠনবিন্যাসসমূহ ইম্পোর্ট করুন" - -#~ msgid "Import Textures" -#~ msgstr "গঠনবিন্যাসসমূহ ইম্পোর্ট করুন" - -#~ msgid "2D Texture" -#~ msgstr "2D গঠনবিন্যাস" - -#~ msgid "3D Texture" -#~ msgstr "3D গঠনবিন্যাস" - -#~ msgid "Atlas Texture" -#~ msgstr "এটলাস/মানচিত্রাবলীর গঠনবিন্যাস" - -#~ msgid "" -#~ "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files " -#~ "to the project." -#~ msgstr "" -#~ "নোটিশ: 2D টেক্সচার (texture) ইম্পোর্ট (import) করা অত্যাবশ্যক নয়। শুধুমাত্র png/" -#~ "jpg ফাইলসমূহ প্রকল্পে প্রতিলিপি/কপি করুন।" - -#~ msgid "Crop empty space." -#~ msgstr "খালি স্থান ছেঁটে ফেলুন।" - -#~ msgid "Texture" -#~ msgstr "গঠনবিন্যাস" - -#~ msgid "Import Large Texture" -#~ msgstr "বৃহৎ গঠনবিন্যাস ইম্পোর্ট করুন" - -#~ msgid "Load Source Image" -#~ msgstr "উৎস হতে ছবি লোড করুন" - -#~ msgid "Slicing" -#~ msgstr "টুকরো করুন" - -#~ msgid "Saving" -#~ msgstr "সংরক্ষিত হচ্ছে" - -#~ msgid "Couldn't save large texture:" -#~ msgstr "বৃহৎ গঠনবিন্যাস সংরক্ষণ করা সম্ভব হচ্ছে না:" - -#~ msgid "Build Atlas For:" -#~ msgstr "এটলাস/মানচিত্রাবলী নির্মাণ করুন:" - -#~ msgid "Loading Image:" -#~ msgstr "ছবি লোড করা হচ্ছে:" - -#~ msgid "Converting Images" -#~ msgstr "ছবিসমূহ রূপান্তর করা হচ্ছে" - -#~ msgid "Cropping Images" -#~ msgstr "ছবিসমূহ ছাঁটা হচ্ছে" - -#~ msgid "Couldn't save atlas image:" -#~ msgstr "এটলাস/মানচিত্রাবলীর ছবি সংরক্ষণ করা সম্ভব হচ্ছে না:" - -#~ msgid "Invalid translation source!" -#~ msgstr "অকার্যকর অনুবাদের উৎস!" - -#~ msgid "Column" -#~ msgstr "কলাম" - -#~ msgid "No items to import!" -#~ msgstr "ইম্পোর্ট করার মতো কোনো বস্তু নেই!" - -#~ msgid "No target path!" -#~ msgstr "কোনো উদ্দেশ্যিত পথ নেই!" - -#~ msgid "Import Translations" -#~ msgstr "অনুবাদসমূহ ইম্পোর্ট করুন" - -#~ msgid "Couldn't import!" -#~ msgstr "ইম্পোর্ট করা সম্ভব হচ্ছে না!" - -#~ msgid "Import Translation" -#~ msgstr "অনুবাদ ইম্পোর্ট করুন" - -#~ msgid "Source CSV:" -#~ msgstr "CSV-এর উৎস:" - -#~ msgid "Ignore First Row" -#~ msgstr "প্রথম সারি অগ্রাহ্য করুন" - -#~ msgid "Compress" -#~ msgstr "সঙ্কোচন করুন" - -#, fuzzy -#~ msgid "Add to Project (project.godot)" -#~ msgstr "প্রকল্পে সংযুক্ত করুন (engine.cfg)" - -#~ msgid "Import Languages:" -#~ msgstr "ভাষাসমূহ ইম্পোর্ট করুন:" - -#~ msgid "Translation" -#~ msgstr "অনুবাদ" - -#~ msgid "Triangle #" -#~ msgstr "ত্রিভুজ #" - -#~ msgid "Light Baker Setup:" -#~ msgstr "লাইট্ সিদ্ধ/বেক্-এর সেটআপ:" - -#~ msgid "Fixing Lights" -#~ msgstr "লাইট্সমূহ ঠিক করা হচ্ছে" - -#~ msgid "Making BVH" -#~ msgstr "BVH তৈরি করা হচ্ছে" - -#~ msgid "Allocating Texture #" -#~ msgstr "গঠনবিন্যাস বণ্টিত হচ্ছে #" - -#~ msgid "Baking Triangle #" -#~ msgstr "ত্রিভুজ সিদ্ধ/বেক্ করা হচ্ছে #" - -#~ msgid "Post-Processing Texture #" -#~ msgstr "গঠনবিন্যাসের প্রক্রিয়া-পরবর্তী প্রক্রিয়াকরণ #" - -#~ msgid "Reset the lightmap octree baking process (start over)." -#~ msgstr "" -#~ "লাইট্ম্যাপ ওকট্রীর (octree) সিদ্ধ/বেক্-এর প্রক্রিয়াকরণ পুন:স্থাপন করুন (পুনরারম্ভ)।" - -#~ msgid "Zoom Set..." -#~ msgstr "জুম্ নির্ধারণ করুন..." - -#~ msgid "Parse BBCode" -#~ msgstr "BBCode বিশ্লেষণ করুন" - -#~ msgid "Length:" -#~ msgstr "লম্বা:" - -#~ msgid "Open Sample File(s)" -#~ msgstr "নমুনা ফাইল(সমূহ) খুলুন" - -#~ msgid "ERROR: Couldn't load sample!" -#~ msgstr "সমস্যা: নমুনা লোড করা সম্ভব হয়নি!" - -#~ msgid "Add Sample" -#~ msgstr "নমুনা যোগ করুন" - -#~ msgid "Rename Sample" -#~ msgstr "নমুনা পুনঃনামকরণ করুন" - -#~ msgid "Delete Sample" -#~ msgstr "নমুনা অপসারণ করুন" - -#~ msgid "16 Bits" -#~ msgstr "১৬ বিটস্" - -#~ msgid "8 Bits" -#~ msgstr "৮ বিটস্" - -#~ msgid "Stereo" -#~ msgstr "স্টেরিও" - -#~ msgid "Scaling to %s%%." -#~ msgstr "%s%% -এ মাপিত হচ্ছে।" - -#~ msgid "Bucket" -#~ msgstr "বাকেট্" - -#~ msgid "Invalid project path, the path must exist!" -#~ msgstr "অকার্যকর প্রকল্পের পথ, পথটি অবশ্যই বিদ্যমান হতে হবে!" - -#, fuzzy -#~ msgid "Invalid project path, project.godot must not exist." -#~ msgstr "অকার্যকর প্রকল্পের পথ, engine.cfg অবশ্যই অনুপস্থিত হতে হবে।" - -#, fuzzy -#~ msgid "Invalid project path, project.godot must exist." -#~ msgstr "অকার্যকর প্রকল্পের পথ, engine.cfg অবশ্যই উপস্থিত হতে হবে।" - -#~ msgid "Project Path (Must Exist):" -#~ msgstr "প্রকল্পের পথ (অবশ্যই বিদ্যমান হতে হবে):" - -#~ msgid "Create New Resource" -#~ msgstr "নতুন রিসোর্স তৈরি করুন" - -#~ msgid "Open Resource" -#~ msgstr "রিসোর্স খুলুন" - -#~ msgid "Save Resource" -#~ msgstr "রিসোর্স সংরক্ষণ করুন" - -#~ msgid "Resource Tools" -#~ msgstr "রিসোর্স-এর সরঞ্জামসমূহ" - -#, fuzzy -#~ msgid "Tiles" -#~ msgstr "ফাইল" - -#~ msgid "Ctrl+" -#~ msgstr "Ctrl+" - -#~ msgid "Close scene? (Unsaved changes will be lost)" -#~ msgstr "দৃশ্য বন্ধ করবেন? (অসংরক্ষিত পরিবর্তনসমূহ হারিয়ে যাবে)" - -#~ msgid "" -#~ "Open Project Manager? \n" -#~ "(Unsaved changes will be lost)" -#~ msgstr "" -#~ "প্রকল্প ম্যানেজার (Project Manager) খুলবেন? \n" -#~ "(অ-সংরক্ষিত পরিবর্তন-সমূহ হারিয়ে যাবে)" - -#~ msgid "Close Goto Prev. Scene" -#~ msgstr "বন্ধ করে পূর্বের দৃশ্যে যান" - -#~ msgid "Del" -#~ msgstr "ডিলিট/অপসারণ" - -#~ msgid "just pressed" -#~ msgstr "এইমাত্র চাপিত" - -#, fuzzy -#~ msgid "" -#~ "Couldn't read the certificate file. Are the path and password both " -#~ "correct?" -#~ msgstr "" -#~ "সার্টিফিকেট ফাইলটি পড়া সম্ভব হচ্ছে না। ফাইলের পথ এবং পাসওয়ার্ড দুটোই কি সঠিক " -#~ "দেয়া হয়েছে?" - -#~ msgid "Error creating the package signature." -#~ msgstr "প্যাকেজের স্বাক্ষর (package signature) তৈরিতে সমস্যা হয়েছে।" - -#, fuzzy -#~ msgid "RAW Mode" -#~ msgstr "চালানোর মোড:" - -#~ msgid "Node From Scene" -#~ msgstr "দৃশ্য হতে নোড" - -#~ msgid "Import assets to the project." -#~ msgstr "উপাদানসমূহ প্রকল্পে ইম্পোর্ট করুন।" - -#~ msgid "Export the project to many platforms." -#~ msgstr "প্রকল্পটি একাধিক প্লাটফর্মে এক্সপোর্ট করুন।" - -#~ msgid "Alerts when an external resource has changed." -#~ msgstr "বহি:স্থ রিসোর্সের পরিবর্তনে সতর্ক করে।" - -#~ msgid "Open https://godotengine.org at tutorials section." -#~ msgstr "টিউটোরিয়ালের স্থানে https://godotengine.org খুলুন।" - -#~ msgid "No scene selected to instance!" -#~ msgstr "ইন্সট্যান্স করার জন্য কোনো দৃশ্য নির্বাচন করা হয়নি!" - -#~ msgid "Instance at Cursor" -#~ msgstr "কার্সরের স্থানে ইন্সট্যান্স করুন" - -#~ msgid "Use Default Light" -#~ msgstr "প্রাথমিক লাইট ব্যবহার করুন" - -#~ msgid "Default Light Normal:" -#~ msgstr "লাইটের প্রাথমিক নরমাল:" - -#~ msgid "Ambient Light Color:" -#~ msgstr "অ্যাম্বিয়েন্ট লাইটের রঙ:" - -#~ msgid "Invalid parent class name" -#~ msgstr "অভিভাবকের অগ্রহণযোগ্য ক্লাস নাম" - -#~ msgid "Valid chars:" -#~ msgstr "গ্রহণযোগ্য অক্ষরসমূহ:" - -#~ msgid "Valid name" -#~ msgstr "গ্রহণযোগ্য নাম" - -#~ msgid "Class name is invalid!" -#~ msgstr "ক্লাস নাম অগ্রহণযোগ্য!" - -#~ msgid "Parent class name is invalid!" -#~ msgstr "অভিভাবকের ক্লাস নাম অগ্রহণযোগ্য!" - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "Path এর দিক অবশ্যই একটি কার্যকর Particles2D এর দিকে নির্দেশ করাতে হবে।" - -#~ msgid "Surface" -#~ msgstr "পৃষ্ঠতল" - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SamplePlayer to play sound." -#~ msgstr "" -#~ "SamplePlayer-এ শব্দ চালাতে এর 'samples'-এ একটি SampleLibrary তৈরি বা " -#~ "নির্ধারন করতে হবে।" - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SpatialSamplePlayer to play sound." -#~ msgstr "" -#~ "SpatialSamplePlayer-এ শব্দ চালাতে এর 'samples'-এ একটি SampleLibrary তৈরি " -#~ "বা নির্ধারন করতে হবে।" - -#~ msgid "Replaced %d Ocurrence(s)." -#~ msgstr "%d টি সংঘটন প্রতিস্থাপিত হয়েছে।" - -#~ msgid "Save Translatable Strings" -#~ msgstr "অনুবাদ-সম্ভব শব্দমালা/বাক্য-সমূহ সংরক্ষণ করুন" - -#~ msgid "Edit Script Options" -#~ msgstr "স্ক্রিপ্ট-এর সিদ্ধান্তসমূহ সম্পাদন করুন" - -#~ msgid "Error exporting project!" -#~ msgstr "প্রকল্প এক্সপোর্টে সমস্যা হয়েছে!" - -#~ msgid "Error writing the project PCK!" -#~ msgstr "প্রকল্পের PCK লিখতে সমস্যা হয়েছে!" - -#~ msgid "No exporter for platform '%s' yet." -#~ msgstr "'%s' প্ল্যাটফর্মের জন্য এখনো কোনো এক্সপোর্টার নেই।" - -#~ msgid "Create Android keystore" -#~ msgstr "অ্যান্ড্রয়েড কীস্টোর (keystore) তৈরি করুন" - -#~ msgid "Organizational unit" -#~ msgstr "সাংগঠনিক একক (Organizational unit)" - -#~ msgid "Organization" -#~ msgstr "সংগঠন" - -#~ msgid "City" -#~ msgstr "শহর" - -#~ msgid "2 letter country code" -#~ msgstr "২ অক্ষরে দেশের কোড" - -#~ msgid "User alias" -#~ msgstr "ব্যবহারকারীর উপনাম (User alias)" - -#~ msgid "Password" -#~ msgstr "পাসওয়ার্ড" - -#~ msgid "at least 6 characters" -#~ msgstr "কমপক্ষে ৬ টি অক্ষর" - -#~ msgid "File name" -#~ msgstr "ফাইলের নাম" - -#~ msgid "Path : (better to save outside of project)" -#~ msgstr "পথ : (প্রকল্পের বাইরে সংরক্ষণ করা ভালো হবে)" - -#~ msgid "" -#~ "Release keystore is not set.\n" -#~ "Do you want to create one?" -#~ msgstr "" -#~ "রিলিসের কীস্টোর (keystore) স্থাপন করা নেই।\n" -#~ "আপনি কি একটি তৈরি করতে চান?" - -#~ msgid "Fill Keystore/Release User and Release Password" -#~ msgstr "" -#~ "কীস্টোর(keystore)/রিলিসের ব্যবহারকারী (User) এবং রিলিসের পাসওয়ার্ড পূরণ করুন" - -#~ msgid "Include" -#~ msgstr "অন্তর্ভুক্ত করুন" - -#~ msgid "Group name can't be empty!" -#~ msgstr "গ্রুপের নাম খালি হতে পারবে না!" - -#~ msgid "Invalid character in group name!" -#~ msgstr "গ্রুপের নামে অগ্রহনযোগ্য অক্ষর!" - -#~ msgid "Add Image Group" -#~ msgstr "ছবির গ্রুপ যোগ করুন" - -#~ msgid "Project Export Settings" -#~ msgstr "প্রকল্প এক্সপোর্ট-এর সেটিংস" - -#~ msgid "Export to Platform" -#~ msgstr "প্লাটফর্মে এক্সপোর্ট করুন" - -#~ msgid "Export all files in the project directory." -#~ msgstr "প্রকল্পের পথে সকল ফাইল এক্সপোর্ট করুন।" - -#~ msgid "Convert text scenes to binary on export." -#~ msgstr "এক্সপর্টের সময় টেক্সট দৃশ্যগুলোকে বাইনারিতে রুপান্তর করুন।" - -#~ msgid "Images" -#~ msgstr "ছবিসমূহ" - -#~ msgid "Keep Original" -#~ msgstr "মূলটিই (অরিজিনাল) রাখুন" - -#~ msgid "Compress for Disk (Lossy, WebP)" -#~ msgstr "ডিস্কের জন্য সংকুচিত করুন (ধ্বংসাত্মক, WebP)" - -#~ msgid "Compress for RAM (BC/PVRTC/ETC)" -#~ msgstr "RAM-এর জন্য সংকুচিত করুন (BC/PVRTC/ETC)" - -#~ msgid "Convert Images (*.png):" -#~ msgstr "ছবিসমূহ রূপান্তর করুন (*.png):" - -#~ msgid "Compress for Disk (Lossy) Quality:" -#~ msgstr "ডিস্ক-এর জন্য সংকুচিত করুন (ধ্বংসাত্মক গুণের):" - -#~ msgid "Shrink All Images:" -#~ msgstr "সকল ছবি সংকুচিত করুন:" - -#~ msgid "Compress Formats:" -#~ msgstr "ধরণসমূহ সংকোচন করুন:" - -#~ msgid "Groups:" -#~ msgstr "গ্রুপসমূহ:" - -#~ msgid "Compress Disk" -#~ msgstr "ডিস্ক সঙ্কোচন" - -#~ msgid "Compress RAM" -#~ msgstr "RAM সঙ্কোচন" - -#~ msgid "Compress Mode:" -#~ msgstr "সঙ্কোচন মোড:" - -#~ msgid "Lossy Quality:" -#~ msgstr "ধ্বংসাত্মক গুণের:" - -#~ msgid "Shrink By:" -#~ msgstr "সঙ্কোচন দ্বারা:" - -#~ msgid "Images:" -#~ msgstr "ছবিসমূহ:" - -#~ msgid "Sample Conversion Mode: (.wav files):" -#~ msgstr "নমুনা রূপান্তর মোড: (.wav ফাইল):" - -#~ msgid "Compress (RAM - IMA-ADPCM)" -#~ msgstr "সঙ্কোচন (RAM - IMA-ADPCM)" - -#~ msgid "Sampling Rate Limit (Hz):" -#~ msgstr "আদর্শ রেট লিমিট (Hz):" - -#~ msgid "Trim" -#~ msgstr "ছাঁটা" - -#~ msgid "Trailing Silence:" -#~ msgstr "পরিশিষ্ট নীরবতা:" - -#~ msgid "Export Project PCK" -#~ msgstr "প্রকল্পের PCK এক্সপোর্ট করুন" - -#~ msgid "Project Export" -#~ msgstr "এক্সপোর্ট প্রকল্প" - -#~ msgid "BakedLightInstance does not contain a BakedLight resource." -#~ msgstr "BakedLightInstance কোনো BakedLight রিসোর্স ধারণ করে না।" - -#~ msgid "Lighting" -#~ msgstr "লাইটিং" - -#~ msgid "Global" -#~ msgstr "সার্বজনীন" - -#~ msgid "" -#~ "This item cannot be made visible because the parent is hidden. Unhide the " -#~ "parent first." -#~ msgstr "" -#~ "এর ধারক/বাহক অদৃশ্য হওয়ায় এই বস্তুটি দৃশ্যমান করা সম্ভব নয়। প্রথমে ধারক/বাহককে " -#~ "দৃশ্যমান করুন।" diff --git a/editor/translations/br.po b/editor/translations/br.po index 3cbe4155a9..fcf0e0bdc0 100644 --- a/editor/translations/br.po +++ b/editor/translations/br.po @@ -1,6 +1,6 @@ # Breton translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # Feufoll <feufoll@gmail.com>, 2020. @@ -2061,14 +2061,30 @@ msgstr "" msgid "Theme Properties" msgstr "" -#: editor/editor_help.cpp -msgid "Enumerations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "" @@ -8263,18 +8279,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -12804,7 +12808,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12813,6 +12822,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -13802,11 +13826,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "" - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Ul lennerezh fiñvskeudenn ne c'hell ket em lakaat da fiñval, nemet " -#~ "lennerezhioù all." - -#~ msgid "Clipboard is empty" -#~ msgstr "Goullo ar gwask-paper" diff --git a/editor/translations/ca.po b/editor/translations/ca.po index 22b9e47836..826052e07f 100644 --- a/editor/translations/ca.po +++ b/editor/translations/ca.po @@ -1,12 +1,12 @@ # Catalan translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # BennyBeat <bennybeat@gmail.com>, 2017. # Javier Ocampos <xavier.ocampos@gmail.com>, 2018. # Roger Blanco Ribera <roger.blancoribera@gmail.com>, 2016-2018, 2020. # Rubén Moreno <ruben.moreno.romero@gmail.com>, 2018. -# roger <616steam@gmail.com>, 2019, 2020. +# roger <616steam@gmail.com>, 2019, 2020, 2021. # Roger BR <drai_kin@hotmail.com>, 2019. # Adolfo Jayme Barrientos <fitojb@ubuntu.com>, 2020. # Xavier Gomez <hiulit@gmail.com>, 2020, 2021. @@ -21,8 +21,8 @@ msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-10-21 10:31+0000\n" -"Last-Translator: Xavier Gomez <hiulit@gmail.com>\n" +"PO-Revision-Date: 2021-12-20 18:53+0000\n" +"Last-Translator: roger <616steam@gmail.com>\n" "Language-Team: Catalan <https://hosted.weblate.org/projects/godot-engine/" "godot/ca/>\n" "Language: ca\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.9-dev\n" +"X-Generator: Weblate 4.10\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -378,15 +378,13 @@ 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' ." +msgstr "node '%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ó" +msgstr "animació" #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." @@ -395,9 +393,8 @@ 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 "No existeix cap propietat '%s'." +msgstr "propietat '%s'" #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" @@ -1210,12 +1207,10 @@ msgid "Gold Sponsors" msgstr "Patrocinadors Gold" #: editor/editor_about.cpp -#, fuzzy msgid "Silver Sponsors" -msgstr "Donants Silver" +msgstr "Donants Plata" #: editor/editor_about.cpp -#, fuzzy msgid "Bronze Sponsors" msgstr "Donants Bronze" @@ -1279,17 +1274,22 @@ msgstr "" "S'ha produit un error en obrir el fitxer comprimit, no té el format ZIP." #: editor/editor_asset_installer.cpp -#, fuzzy msgid "%s (already exists)" -msgstr "%s (Ja existeix)" +msgstr "%s (ja existeix)" #: editor/editor_asset_installer.cpp +#, fuzzy msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:" msgstr "" +"El contingut del(s) fitxer(s) d'asset \"%s\" - %d entra en conflicte amb el " +"vostre project:" #: editor/editor_asset_installer.cpp +#, fuzzy msgid "Contents of asset \"%s\" - No files conflict with your project:" msgstr "" +"Continguts de l'asset \"%s\" - Cap fitxer entra en conflicte amb el vostre " +"projecte:" #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" @@ -1301,14 +1301,13 @@ msgid "The following files failed extraction from asset \"%s\":" msgstr "Ha fracassat l'extracció del paquet dels següents fitxers:" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "(and %s more files)" -msgstr "I %d fitxer(s) més." +msgstr "(i %s fitxer(s) més)" #: editor/editor_asset_installer.cpp #, fuzzy msgid "Asset \"%s\" installed successfully!" -msgstr "Paquet instal·lat amb èxit!" +msgstr "El asset \"%s\" s'ha instal·lat exitosament!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -1385,7 +1384,6 @@ msgid "Bypass" msgstr "Derivació" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Bus Options" msgstr "Opcions del Bus" @@ -1553,13 +1551,13 @@ msgid "Can't add autoload:" msgstr "No es pot afegir l'autocàrrega:" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "%s is an invalid path. File does not exist." -msgstr "El Fitxer no existeix." +msgstr "%s es un camí no vàlid. El fitxer no existeix." #: editor/editor_autoload_settings.cpp +#, fuzzy msgid "%s is an invalid path. Not in resource path (res://)." -msgstr "" +msgstr "%s es un camí no vàlid. No està en el camí del recurs (res://)." #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1583,9 +1581,8 @@ msgid "Name" msgstr "Nom" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Global Variable" -msgstr "Variable" +msgstr "Variable Global" #: editor/editor_data.cpp msgid "Paste Params" @@ -1763,35 +1760,40 @@ msgstr "Importació" #: editor/editor_feature_profile.cpp msgid "Allows to view and edit 3D scenes." -msgstr "" +msgstr "Permet veure i editar escenes 3D." #: editor/editor_feature_profile.cpp msgid "Allows to edit scripts using the integrated script editor." -msgstr "" +msgstr "Permet editar scripts utilitzant l'editor de scripts integrat." #: editor/editor_feature_profile.cpp +#, fuzzy msgid "Provides built-in access to the Asset Library." -msgstr "" +msgstr "Proveeix accés integrat a la Llibreria de Assets." #: editor/editor_feature_profile.cpp msgid "Allows editing the node hierarchy in the Scene dock." -msgstr "" +msgstr "Permet editar la jerarquia de nodes en el panell d'Escena." #: editor/editor_feature_profile.cpp msgid "" "Allows to work with signals and groups of the node selected in the Scene " "dock." msgstr "" +"Permet treballar amb senyals i grups del node seleccionat en el panell " +"d'Escena." #: editor/editor_feature_profile.cpp msgid "Allows to browse the local file system via a dedicated dock." -msgstr "" +msgstr "Permet navegar el sistema local d'arxius mitjançant un panell dedicat." #: editor/editor_feature_profile.cpp msgid "" "Allows to configure import settings for individual assets. Requires the " "FileSystem dock to function." msgstr "" +"Permet configurar els ajustos d'importació per assets individuals. Requereix " +"el panell Sistema de Fitxers per a funcionar." #: editor/editor_feature_profile.cpp #, fuzzy @@ -1800,11 +1802,11 @@ msgstr "(Actual)" #: editor/editor_feature_profile.cpp msgid "(none)" -msgstr "" +msgstr "(cap)" #: editor/editor_feature_profile.cpp msgid "Remove currently selected profile, '%s'? Cannot be undone." -msgstr "" +msgstr "Eliminar el perfil selecciona actualment, '%s'? No es pot desfer." #: editor/editor_feature_profile.cpp msgid "Profile must be a valid filename and must not contain '.'" @@ -1840,9 +1842,8 @@ msgid "Class Properties:" msgstr "Propietats:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Main Features:" -msgstr "Característiques" +msgstr "Característiques Principals:" #: editor/editor_feature_profile.cpp #, fuzzy @@ -1875,14 +1876,12 @@ msgid "Current Profile:" msgstr "Perfil Actual:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Create Profile" -msgstr "Esborrar Perfil" +msgstr "Crear Perfil" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Remove Profile" -msgstr "Eliminar Rajola" +msgstr "Eliminar Perfil" #: editor/editor_feature_profile.cpp msgid "Available Profiles:" @@ -1890,7 +1889,7 @@ msgstr "Perfils Disponibles:" #: editor/editor_feature_profile.cpp msgid "Make Current" -msgstr "Fés l'actual" +msgstr "Fer Actual" #: editor/editor_feature_profile.cpp editor/editor_node.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp @@ -1907,13 +1906,13 @@ msgid "Configure Selected Profile:" msgstr "Perfil Actual:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Extra Options:" -msgstr "Opcions de Textura" +msgstr "Opcions Extra:" #: editor/editor_feature_profile.cpp msgid "Create or import a profile to edit available classes and properties." msgstr "" +"Crea o importa un perfil per editar les classes i propietats disponibles." #: editor/editor_feature_profile.cpp msgid "New profile name:" @@ -2068,7 +2067,7 @@ msgstr "Commutar visibilitat dels fitxers ocults." #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails." -msgstr "Visualitza en una graella de miniatures." +msgstr "Visualitza en una quadrícula de miniatures." #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "View items as a list." @@ -2148,14 +2147,34 @@ msgstr "Mètodes" msgid "Theme Properties" msgstr "Propietats del tema" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Enumeracions" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Colors" +msgstr "Color" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Constants" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Fonts" +msgstr "Lletra" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Icons" +msgstr "Icona" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Styles" +msgstr "Estil" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Enumeracions" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Descripcions de la Propietat" @@ -2169,8 +2188,8 @@ msgid "" "There is currently no description for this property. Please help us by " "[color=$color][url=$url]contributing one[/url][/color]!" msgstr "" -"Aquesta propietat no disposa de cap descripció. Podeu contribuir [color=" -"$color][url=$url] totaportant-ne una[/url][/color]!" +"Aquesta propietat no disposa de cap descripció. Podeu contribuir " +"[color=$color][url=$url] tot aportant-ne una[/url][/color]!" #: editor/editor_help.cpp msgid "Method Descriptions" @@ -2340,6 +2359,9 @@ msgid "" "Update Continuously is enabled, which can increase power usage. Click to " "disable it." msgstr "" +"Gira mentre l'editor repinta.\n" +"L'Actualització Contínua està activada, pot augmentar l'ús d'energia. " +"Cliqueu per desactivar-la." #: editor/editor_node.cpp msgid "Spins when the editor window redraws." @@ -2424,8 +2446,8 @@ msgid "" "This scene can't be saved because there is a cyclic instancing inclusion.\n" "Please resolve it and then attempt to save again." msgstr "" -"Aquesta escena no es pot desar per culpa d'una inclusió cíclica de " -"l'instanciació.\n" +"Aquesta escena no es pot desar per culpa d'una inclusió cíclica de la " +"instanciació.\n" "Resol-la i torna a desar altre cop." #: editor/editor_node.cpp @@ -2447,7 +2469,7 @@ msgstr "Desar Totes les Escenes" #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "Can't overwrite scene that is still open!" -msgstr "No es pot sobreescriure la escena si encara està oberta!" +msgstr "No es pot sobreescriure l'escena si encara està oberta!" #: editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" @@ -2459,7 +2481,7 @@ msgstr "Error en desar MeshLibrary!" #: editor/editor_node.cpp msgid "Can't load TileSet for merging!" -msgstr "No s'ha pogut carregar el TileSet per combinar'ne les dades!" +msgstr "No s'ha pogut carregar el TileSet per combinar-ne les dades!" #: editor/editor_node.cpp msgid "Error saving TileSet!" @@ -2470,8 +2492,8 @@ msgid "" "An error occurred while trying to save the editor layout.\n" "Make sure the editor's user data path is writable." msgstr "" -"S'ha produit un error al desar el diseny de l'editor.\n" -"Assegura't de que el directori de dades d'usuari de l'editor és editable." +"S'ha produït un error al desar el disseny de l'editor.\n" +"Assegureu-vos que el directori de dades d'usuari de l'editor és editable." #: editor/editor_node.cpp msgid "" @@ -2479,9 +2501,9 @@ msgid "" "To restore the Default layout to its base settings, use the Delete Layout " "option and delete the Default layout." msgstr "" -"S'ha anulat el diseny per defecte de l'editor.\n" -"Per a restaurar el Diseny per defecte a la seva configuració base, usa la " -"opció d'Esborrar el Diseny i esborra el Diseny per defecte." +"S'ha anul·lat el disseny per defecte de l'editor.\n" +"Per a restaurar el Disseny per defecte a la seva configuració base, " +"utilitzeu l'opció d'Esborrar el Disseny i esborra el Disseny per defecte." #: editor/editor_node.cpp msgid "Layout name not found!" @@ -2580,21 +2602,26 @@ msgid "Save changes to '%s' before closing?" msgstr "Desar els canvis a '%s' abans de tancar?" #: editor/editor_node.cpp +#, fuzzy msgid "%s no longer exists! Please specify a new save location." msgstr "" +"%s ja no existeix! Si us plau especifiqueu una nova localització de guardat." #: editor/editor_node.cpp msgid "" "The current scene has no root node, but %d modified external resource(s) " "were saved anyway." msgstr "" +"L'escena actual no té cap node arrel, però %d recurs(os) modificat(s) " +"externament s'ha(n) desat igualment." #: 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 "Es requereix un node arrel per a guardar l'escena." +msgstr "" +"Es requereix un node arrel per a desar l'escena. Podeu afegir un node arrel " +"utilitzant el panell d'arbre d'Escenes." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -2626,38 +2653,35 @@ msgstr "L'escena actual no s'ha desat. Voleu obrir-la igualment?" #: editor/editor_node.cpp msgid "Can't undo while mouse buttons are pressed." -msgstr "" +msgstr "No es pot desfer mentre hi ha botons del ratolí premuts." #: editor/editor_node.cpp msgid "Nothing to undo." -msgstr "" +msgstr "Res a desfer." #: editor/editor_node.cpp -#, fuzzy msgid "Undo: %s" -msgstr "Desfés" +msgstr "Desfer: %s" #: editor/editor_node.cpp msgid "Can't redo while mouse buttons are pressed." -msgstr "" +msgstr "No es pot refer mentre hi hagi botons del ratolí premuts." #: editor/editor_node.cpp msgid "Nothing to redo." -msgstr "" +msgstr "Res a refer." #: editor/editor_node.cpp -#, fuzzy msgid "Redo: %s" -msgstr "Refés" +msgstr "Refer: %s" #: editor/editor_node.cpp msgid "Can't reload a scene that was never saved." msgstr "No es pot recarregar una escena mai desada." #: editor/editor_node.cpp -#, fuzzy msgid "Reload Saved Scene" -msgstr "Desa Escena" +msgstr "Recarregar l'Escena Desada" #: editor/editor_node.cpp msgid "" @@ -2720,7 +2744,7 @@ msgstr "Tanca l'Escena" #: editor/editor_node.cpp msgid "Reopen Closed Scene" -msgstr "Reobrir l'escena tancada" +msgstr "Reobrir l'Escena Tancada" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." @@ -2729,11 +2753,8 @@ msgstr "" "configuració." #: editor/editor_node.cpp -#, fuzzy msgid "Unable to find script field for addon plugin at: '%s'." -msgstr "" -"No s'ha pogut trobar el camp d'Script per al complement a: 'res: // addons /" -"%s'." +msgstr "No s'ha pogut trobar el camp d'script per al complement a: '%s'." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s'." @@ -2753,7 +2774,7 @@ msgstr "" msgid "" "Unable to load addon script from path: '%s' Base type is not EditorPlugin." msgstr "" -"No es pot carregar l'Script complementari: El tipus base de '%s' no és pas " +"No es pot carregar l'Script del complement: El tipus base de '%s' no és pas " "EditorPlugin." #: editor/editor_node.cpp @@ -2869,7 +2890,7 @@ msgstr "%d fitxer(s) o directori(s) més" #: editor/editor_node.cpp msgid "%d more folders" -msgstr "%d fitxer(s) més" +msgstr "%d directori(s) més" #: editor/editor_node.cpp msgid "%d more files" @@ -2885,7 +2906,7 @@ msgstr "Mode Lliure de Distraccions" #: editor/editor_node.cpp msgid "Toggle distraction-free mode." -msgstr "Mode Lliure de Distraccions." +msgstr "Commutar el Mode Lliure de Distraccions." #: editor/editor_node.cpp msgid "Add a new scene." @@ -2913,7 +2934,7 @@ msgstr "Pestanya Anterior" #: editor/editor_node.cpp msgid "Filter Files..." -msgstr "Filtrat de Fitxers..." +msgstr "Filtrar Fitxers..." #: editor/editor_node.cpp msgid "Operations with scene files." @@ -2984,7 +3005,7 @@ msgstr "Configurar Control de Versions" #: editor/editor_node.cpp msgid "Shut Down Version Control" -msgstr "Desactivar el control de versions" +msgstr "Desactivar el Control de Versions" #: editor/editor_node.cpp msgid "Export..." @@ -3007,13 +3028,12 @@ msgid "Orphan Resource Explorer..." msgstr "Navegador de Recursos Orfes..." #: editor/editor_node.cpp -#, fuzzy msgid "Reload Current Project" -msgstr "Reanomena el Projecte" +msgstr "Recarregar Projecte Actual" #: editor/editor_node.cpp msgid "Quit to Project List" -msgstr "Surt a la Llista de Projectes" +msgstr "Sortir a la Llista de Projectes" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: editor/project_export.cpp @@ -3033,6 +3053,12 @@ msgid "" "mobile device).\n" "You don't need to enable it to use the GDScript debugger locally." msgstr "" +"Quan aquesta opció està activada, utilitzar el desplegament en un clic farà " +"que l'executable intenti connectar-se a la IP d'aquest ordinador per tal que " +"el projecte pugui ser depurat.\n" +"Aquesta opció està pensada per ser usada per la depuració remota (" +"habitualment amb un dispositiu mòbil).\n" +"No cal que l'activeu per utilitzar el depurador del GDScript localment." #: editor/editor_node.cpp #, fuzzy @@ -3040,7 +3066,6 @@ msgid "Small Deploy with Network Filesystem" msgstr "Desplegament Reduït amb Sistema de Fitxers en Xarxa" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, using one-click deploy for Android will only " "export an executable without the project data.\n" @@ -3049,9 +3074,9 @@ msgid "" "On Android, deploying will use the USB cable for faster performance. This " "option speeds up testing for projects with large assets." msgstr "" -"Amb aquesta opció activada, 'Exportar' o 'Desplegar' generen un executable " -"reduït.\n" -"L'Editor proveeix el sistema de fitxers del projecte a través de la xarxa.\n" +"Amb aquesta opció activada, utilitzar el desplegament en un clic d'Android " +"només exportarà un executable sense les dades del projecte.\n" +"L'Editor proveirà el sistema de fitxers del projecte a través de la xarxa.\n" "En sistemes Android, 'Desplegar' utilitzarà el cable USB per millorar-ne el " "rendiment. Aquesta opció ajuda a accelerar els cicles de prova i verificació " "en jocs de gran mida." @@ -3083,27 +3108,24 @@ msgstr "" "l'execució del joc." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Scene Changes" -msgstr "Sincronitzar Canvis en Escena" +msgstr "Sincronitzar els Canvis en Escena" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any changes made to the scene in the editor " "will be replicated in the running project.\n" "When used remotely on a device, this is more efficient when the network " "filesystem option is enabled." msgstr "" -"En activar aquesta opció, els canvis fets en l'Editor es repliquen en el joc " -"en execució.\n" -"En usar-se remotament en un dispositiu, un sistema de fitxers en xarxa en " -"millora el rendiment." +"En activar aquesta opció, els canvis fets en l'escena des de l'Editor es " +"repliquen en el projecte en execució.\n" +"En usar-se remotament en un dispositiu, és més eficient quan l'opció del " +"sistema de fitxers en xarxa està activada." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Script Changes" -msgstr "Sincronitzar Canvis en Scripts" +msgstr "Sincronitzar els Canvis en Scripts" #: editor/editor_node.cpp #, fuzzy @@ -3173,22 +3195,20 @@ msgid "Help" msgstr "Ajuda" #: editor/editor_node.cpp -#, fuzzy msgid "Online Documentation" -msgstr "Obrir documentació" +msgstr "Documentació en Línia" #: editor/editor_node.cpp msgid "Questions & Answers" -msgstr "" +msgstr "Preguntes i Respostes" #: editor/editor_node.cpp -#, fuzzy msgid "Report a Bug" -msgstr "ReImportar" +msgstr "Informar d'un Bug" #: editor/editor_node.cpp msgid "Suggest a Feature" -msgstr "" +msgstr "Suggerir una Característica" #: editor/editor_node.cpp msgid "Send Docs Feedback" @@ -3199,13 +3219,12 @@ msgid "Community" msgstr "Comunitat" #: editor/editor_node.cpp -#, fuzzy msgid "About Godot" -msgstr "Quant a" +msgstr "Quant a Godot" #: editor/editor_node.cpp msgid "Support Godot Development" -msgstr "Contribueix a el Desenvolupament de Godot" +msgstr "Contribueix al Desenvolupament de Godot" #: editor/editor_node.cpp msgid "Play the project." @@ -3453,9 +3472,8 @@ msgid "Update" msgstr "Actualitza" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Version" -msgstr "Versió:" +msgstr "Versió" #: editor/editor_plugin_settings.cpp #, fuzzy @@ -3611,7 +3629,7 @@ msgstr "" #: editor/editor_resource_picker.cpp msgid "Quick Load" -msgstr "" +msgstr "Carrega Rapida" #: editor/editor_resource_picker.cpp editor/property_editor.cpp msgid "Make Unique" @@ -3706,12 +3724,13 @@ msgid "Import From Node:" msgstr "Importa des del Node:" #: editor/export_template_manager.cpp +#, fuzzy msgid "Open the folder containing these templates." -msgstr "" +msgstr "Obrir la carpeta que conte aquestes plantilles." #: editor/export_template_manager.cpp msgid "Uninstall these templates." -msgstr "" +msgstr "Desinstal·lar aquestes plantilles." #: editor/export_template_manager.cpp #, fuzzy @@ -3724,32 +3743,29 @@ msgid "Retrieving the mirror list..." msgstr "S'estan buscant rèpliques..." #: editor/export_template_manager.cpp +#, fuzzy msgid "Starting the download..." -msgstr "" +msgstr "Començant la descarrega..." #: editor/export_template_manager.cpp msgid "Error requesting URL:" msgstr "Error en sol·licitar l'URL:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Connecting to the mirror..." -msgstr "Connexió amb la Rèplica..." +msgstr "Connectant amb el mirall..." #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't resolve the requested address." -msgstr "No es pot resoldre l'amfitrió:" +msgstr "No es pot resoldre l'adreça sol·licitada." #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't connect to the mirror." -msgstr "No es pot connectar a l'amfitrió:" +msgstr "No es pot connectar al mirall." #: editor/export_template_manager.cpp -#, fuzzy msgid "No response from the mirror." -msgstr "Cap resposta de l'amfitrió:" +msgstr "Cap resposta del mirall." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -3760,16 +3776,16 @@ msgstr "Ha fallat la sol·licitud." #: editor/export_template_manager.cpp #, fuzzy msgid "Request ended up in a redirect loop." -msgstr "Ha fallat la sol·licitud. Massa redireccionaments" +msgstr "La sol·licitud a acabat en un bucle de redirecció." #: editor/export_template_manager.cpp -#, fuzzy msgid "Request failed:" -msgstr "Ha fallat la sol·licitud." +msgstr "La Sol·licitud ha fallat:" #: editor/export_template_manager.cpp +#, fuzzy msgid "Download complete; extracting templates..." -msgstr "" +msgstr "Descarrega completa; extraient plantilles..." #: editor/export_template_manager.cpp #, fuzzy @@ -3785,9 +3801,8 @@ msgstr "" "Les plantilles problemàtics es troben a '%s'." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error getting the list of mirrors." -msgstr "No s'ha pogut l'objecte signatura." +msgstr "Error obtenint la llista de miralls." #: editor/export_template_manager.cpp #, fuzzy @@ -3797,8 +3812,9 @@ msgstr "" "informeu d'aquest problema!" #: editor/export_template_manager.cpp +#, fuzzy msgid "Best available mirror" -msgstr "" +msgstr "Millor mirall disponible" #: editor/export_template_manager.cpp msgid "" @@ -3898,10 +3914,14 @@ msgstr "Versió Actual:" #: editor/export_template_manager.cpp msgid "Export templates are missing. Download them or install from a file." msgstr "" +"Les plantilles d'exportació falten. Descarregueu-les o instal·leu-les des " +"d'un fitxer." #: editor/export_template_manager.cpp msgid "Export templates are installed and ready to be used." msgstr "" +"Les plantilles d'exportació estan instal·lades i llestes per a ser " +"utilitzades." #: editor/export_template_manager.cpp #, fuzzy @@ -3919,12 +3939,11 @@ msgstr "Desinstal·lar" #: editor/export_template_manager.cpp #, fuzzy msgid "Uninstall templates for the current version." -msgstr "Valor inicial per al comptador" +msgstr "Valor inicial per al comptador." #: editor/export_template_manager.cpp -#, fuzzy msgid "Download from:" -msgstr "Error en la Baixada" +msgstr "Descarregar des de:" #: editor/export_template_manager.cpp #, fuzzy @@ -3938,7 +3957,7 @@ msgstr "Copia l'error" #: editor/export_template_manager.cpp msgid "Download and Install" -msgstr "" +msgstr "Descarregar i instal·lar" #: editor/export_template_manager.cpp msgid "" @@ -3960,7 +3979,7 @@ msgstr "Instal·lar des d'un Fitxer" #: editor/export_template_manager.cpp #, fuzzy msgid "Install templates from a local file." -msgstr "Importa Plantilles des d'un Fitxer ZIP" +msgstr "Instal·lar plantilles des d'un fitxer local." #: editor/export_template_manager.cpp editor/find_in_files.cpp #: editor/progress_dialog.cpp scene/gui/dialogs.cpp @@ -4034,7 +4053,7 @@ msgstr "No s'han pogut actualitzar les dependències:" #: editor/filesystem_dock.cpp editor/scene_tree_editor.cpp msgid "No name provided." -msgstr "Manca Nom." +msgstr "No s'ha proporcionat cap nom." #: editor/filesystem_dock.cpp msgid "Provided name contains invalid characters." @@ -4142,35 +4161,32 @@ msgid "Collapse All" msgstr "Col·lapsar tot" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort files" -msgstr "Cerca Fitxers" +msgstr "Ordenar fitxers" #: editor/filesystem_dock.cpp msgid "Sort by Name (Ascending)" -msgstr "" +msgstr "Ordenar per Nom (Ascendent)" #: editor/filesystem_dock.cpp msgid "Sort by Name (Descending)" -msgstr "" +msgstr "Ordenar per Nom (Descendent)" #: editor/filesystem_dock.cpp msgid "Sort by Type (Ascending)" -msgstr "" +msgstr "Ordenar per Tipus (Ascendent)" #: editor/filesystem_dock.cpp msgid "Sort by Type (Descending)" -msgstr "" +msgstr "Ordenar per Tipus (Descendent)" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort by Last Modified" -msgstr "Última modificació" +msgstr "Ordenar per Última Modificació" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Sort by First Modified" -msgstr "Última modificació" +msgstr "Ordenar per Primera Modificació" #: editor/filesystem_dock.cpp msgid "Duplicate..." @@ -4444,9 +4460,8 @@ msgid "Select Importer" msgstr "Mode de selecció" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Importer:" -msgstr "Importa" +msgstr "Importador:" #: editor/import_defaults_editor.cpp #, fuzzy @@ -4574,9 +4589,8 @@ msgid "History of recently edited objects." msgstr "Historial d'objectes editats recentment." #: editor/inspector_dock.cpp -#, fuzzy msgid "Open documentation for this object." -msgstr "Obrir documentació" +msgstr "Obrir la documentació per aquest objecte." #: editor/inspector_dock.cpp editor/scene_tree_dock.cpp msgid "Open Documentation" @@ -4600,9 +4614,8 @@ msgid "MultiNode Set" msgstr "Establir MultiNode" #: editor/node_dock.cpp -#, fuzzy msgid "Select a single node to edit its signals and groups." -msgstr "Seleccioneu un Node per editar Senyals i Grups." +msgstr "Seleccioneu un únic node per editar les seves senyals i grups." #: editor/plugin_config_dialog.cpp msgid "Edit a Plugin" @@ -4837,7 +4850,7 @@ msgstr "Mescla:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Parameter Changed:" -msgstr "Paràmetre Canviat" +msgstr "Paràmetre Canviat:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -4917,12 +4930,12 @@ msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Anim Clips" -msgstr "Talls d'Animació:" +msgstr "Talls d'Animació" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Audio Clips" -msgstr "Talls d'Àudio:" +msgstr "Talls d'Àudio" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Functions" @@ -5545,14 +5558,12 @@ msgid "Name (Z-A)" msgstr "Nom (Z-A)" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "License (A-Z)" -msgstr "Llicència" +msgstr "Llicència (A-Z)" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "License (Z-A)" -msgstr "Llicència" +msgstr "Llicència (Z-A)" #: editor/plugins/asset_library_editor_plugin.cpp msgid "First" @@ -5674,7 +5685,7 @@ msgstr "Precalcular Lightmaps" #: editor/plugins/baked_lightmap_editor_plugin.cpp #, fuzzy msgid "Select lightmap bake file:" -msgstr "Seleccioneu un Fitxer de Plantilla" +msgstr "Seleccioneu un Fitxer de Plantilla:" #: editor/plugins/camera_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5687,11 +5698,11 @@ msgstr "Configurar Ajustament" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Grid Offset:" -msgstr "òfset de la graella:" +msgstr "òfset de la quadrícula:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Grid Step:" -msgstr "Pas de la Graella:" +msgstr "Pas de la Quadrícula:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Primary Line Every:" @@ -6005,9 +6016,8 @@ msgid "Drag: Rotate selected node around pivot." msgstr "Eliminar el node o transició seleccionats." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Alt+Drag: Move selected node." -msgstr "Alt+Arrosegar: Mou" +msgstr "Alt+Arrossegar: Mou el node seleccionat." #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -6062,24 +6072,20 @@ msgid "Ruler Mode" msgstr "Mode Regla" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Toggle smart snapping." -msgstr "Commutar Ajustament." +msgstr "Commutar Ajustament Intel·ligent." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Use Smart Snap" -msgstr "Utilitzar Ajustament" +msgstr "Utilitzar Ajustament Intel·ligent" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Toggle grid snapping." -msgstr "Commutar Ajustament." +msgstr "Commutar Ajustament a la Quadrícula." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Use Grid Snap" -msgstr "Ajustar a la quadrícula" +msgstr "Utilitzar Ajustament a la Quadrícula" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snapping Options" @@ -6090,9 +6096,8 @@ msgid "Use Rotation Snap" msgstr "Utilitzar Ajustament de Rotació" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Use Scale Snap" -msgstr "Utilitzar Ajustament" +msgstr "Utilitzar Ajustament d'Escalat" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap Relative" @@ -6178,9 +6183,8 @@ msgid "View" msgstr "Vista" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Always Show Grid" -msgstr "Mostra la graella" +msgstr "Mostra la Quadrícula Sempre" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Helpers" @@ -6280,11 +6284,11 @@ msgstr "Instància les Escenes" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" -msgstr "Multiplica l'increment de la graella per 2" +msgstr "Multiplica l'increment de la quadrícula per 2" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Divide grid step by 2" -msgstr "Divideix l'increment de la graella per 2" +msgstr "Divideix l'increment de la quadrícula per 2" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -6293,15 +6297,15 @@ msgstr "Vista Posterior" #: 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 @@ -6335,7 +6339,7 @@ msgstr "Allunya" #: 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" @@ -6629,7 +6633,7 @@ msgstr "Cap malla per depurar." #: editor/plugins/mesh_instance_editor_plugin.cpp #, fuzzy msgid "Mesh has no UV in layer %d." -msgstr "El model no té UVs en aquesta capa" +msgstr "El model no té UVs en aquesta capa." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" @@ -7286,7 +7290,7 @@ msgstr "Quadrícula" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Show Grid" -msgstr "Mostra la graella" +msgstr "Mostra la Quadrícula" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Configure Grid:" @@ -7294,19 +7298,19 @@ msgstr "Configurar Quadrícula:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Offset X:" -msgstr "Desplaçament X de la quadrícula:" +msgstr "Desplaçament X de la Quadrícula:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Offset Y:" -msgstr "Desplaçament Y de la quadrícula:" +msgstr "Desplaçament Y de la Quadrícula:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Step X:" -msgstr "Pas X de la quadrícula:" +msgstr "Pas X de la Quadrícula:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Step Y:" -msgstr "Pas Y de la quadrícula:" +msgstr "Pas Y de la Quadrícula:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Sync Bones to Polygon" @@ -7370,12 +7374,12 @@ msgstr "Invertir Horitzontalment" #: editor/plugins/room_manager_editor_plugin.cpp #, fuzzy msgid "Room Generate Points" -msgstr "Recompte de punts generats:" +msgstr "Recompte de punts generats" #: editor/plugins/room_manager_editor_plugin.cpp #, fuzzy msgid "Generate Points" -msgstr "Recompte de punts generats:" +msgstr "Recompte de punts generats" #: editor/plugins/room_manager_editor_plugin.cpp #, fuzzy @@ -7438,7 +7442,6 @@ msgid "Error Importing" msgstr "Error en Importar" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "New Text File..." msgstr "Nou Fitxer de Text..." @@ -7509,9 +7512,8 @@ msgid "Toggle alphabetical sorting of the method list." msgstr "Alterna l'ordenació alfabètica de la llista de mètodes." #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Filter methods" -msgstr "Filtra Mode:" +msgstr "Filtrar mètodes" #: editor/plugins/script_editor_plugin.cpp msgid "Sort" @@ -7548,9 +7550,8 @@ msgid "Open..." msgstr "Obrir..." #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Reopen Closed Script" -msgstr "Obrir Script" +msgstr "Reobrir Script Tancat" #: editor/plugins/script_editor_plugin.cpp msgid "Save All" @@ -8035,20 +8036,19 @@ msgid "None" msgstr "Cap" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Rotate" -msgstr "Estat:" +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 "Translació:" +msgstr "Translació" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Scale" -msgstr "Escala:" +msgstr "Escala" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scaling: " @@ -8073,7 +8073,7 @@ msgstr "S'ha insertit una Clau d'Animació." #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Pitch:" -msgstr "commutador" +msgstr "commutador:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Yaw:" @@ -8086,36 +8086,35 @@ msgstr "Mida:" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Objects Drawn:" -msgstr "Objectes Dibuixats" +msgstr "Objectes Dibuixats:" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Material Changes:" -msgstr "Canvis de Material" +msgstr "Canvis de Material:" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Shader Changes:" -msgstr "Canvis de Shader" +msgstr "Canvis de Shader:" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Surface Changes:" -msgstr "Canvis de superfície" +msgstr "Canvis de superfície:" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Draw Calls:" -msgstr "Crides de Dibuix" +msgstr "Crides de Dibuix:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Vertices:" -msgstr "Vèrtexs" +msgstr "Vèrtexs:" #: 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." @@ -8142,14 +8141,12 @@ msgid "Rear View." msgstr "Vista Posterior." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Align Transform with View" -msgstr "Alinear amb la Vista" +msgstr "Alinear Transformació amb la Vista" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Align Rotation with View" -msgstr "Alinea la Selecció amb la Vista" +msgstr "Alinea Rotació amb la Vista" #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "No parent to instance a child at." @@ -8160,9 +8157,8 @@ msgid "This operation requires a single selected node." msgstr "Aquesta operació requereix un únic node seleccionat." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Auto Orthogonal Enabled" -msgstr "Ortogonal" +msgstr "Auto Ortogonal Activat" #: editor/plugins/spatial_editor_plugin.cpp msgid "Lock View Rotation" @@ -8305,9 +8301,8 @@ msgid "Couldn't find a solid floor to snap the selection to." msgstr "No s'ha pogut trobar un sòl sòlid on ajustar la selecció." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Use Local Space" -msgstr "Mode Espai Local (%s)" +msgstr "Utilitzar Espai Local" #: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" @@ -8429,7 +8424,7 @@ msgstr "Mostra l'Origen" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Grid" -msgstr "Mostra la Graella" +msgstr "Mostra la Quadrícula" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy @@ -8749,7 +8744,7 @@ msgstr "Ajustament de Píxels" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Grid Snap" -msgstr "Ajustar a la quadrícula" +msgstr "Ajustar a la Quadrícula" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Auto Slice" @@ -8774,21 +8769,6 @@ msgstr "Regió de Textura" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Colors" -msgstr "Color" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Fonts" -msgstr "Lletra" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Icons" -msgstr "Icona" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Styleboxes" msgstr "StyleBox" @@ -8842,7 +8822,7 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Nothing was selected for the import." -msgstr "" +msgstr "No s'ha seleccionat per l'importació." #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -8851,7 +8831,7 @@ msgstr "Importa un Tema" #: editor/plugins/theme_editor_plugin.cpp msgid "Importing items {n}/{n}" -msgstr "" +msgstr "Important elements {n}/{n}" #: editor/plugins/theme_editor_plugin.cpp msgid "Updating the editor" @@ -8873,7 +8853,7 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Select by data type:" -msgstr "Selecciona un Node" +msgstr "Selecciona un Node:" #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible color items." @@ -8881,11 +8861,11 @@ msgstr "Seleccioneu tots els elements de color visibles." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible color items and their data." -msgstr "" +msgstr "Seleccionar tots els elements de color visibles i les seves dades." #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all visible color items." -msgstr "" +msgstr "Desseleccionar tots els elements de color visibles." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible constant items." @@ -8944,17 +8924,17 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Collapse types." -msgstr "Col·lapsar tot" +msgstr "Col·lapsar tot." #: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Expand types." -msgstr "Expandir tot" +msgstr "Expandir tot." #: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Select all Theme items." -msgstr "Seleccioneu un Fitxer de Plantilla" +msgstr "Seleccioneu un Fitxer de Plantilla." #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -9110,7 +9090,7 @@ msgstr "Tipus:" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Add Item:" -msgstr "Afegeix un Element" +msgstr "Afegeix un Element:" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -9120,7 +9100,7 @@ msgstr "Afegeix tots els Elements" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove Items:" -msgstr "Elimina Element" +msgstr "Elimina Element:" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Class Items" @@ -9163,7 +9143,7 @@ msgstr "Editar Tema" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Select Another Theme Resource:" -msgstr "Elimina el Recurs" +msgstr "Elimina el Recurs:" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -9208,7 +9188,7 @@ msgstr "Afegeix un Element" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Node Types:" -msgstr "Tipus de node" +msgstr "Tipus de node:" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -9229,9 +9209,8 @@ msgid "Override all default type items." msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Theme:" -msgstr "Tema" +msgstr "Tema:" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -9296,9 +9275,8 @@ msgid "Checked Radio Item" msgstr "Element de ràdio validat" #: editor/plugins/theme_editor_preview.cpp -#, fuzzy msgid "Named Separator" -msgstr "Separador amb nom." +msgstr "Separador amb Nom" #: editor/plugins/theme_editor_preview.cpp msgid "Submenu" @@ -9474,7 +9452,7 @@ msgstr "Restablir Transformació" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Add Texture(s) to TileSet." -msgstr "Afegir Textura(es) al TileSet" +msgstr "Afegir Textura(es) al TileSet." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove selected Texture from TileSet." @@ -9555,7 +9533,7 @@ msgstr "Icona" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Z Index" -msgstr "Índex:" +msgstr "Índex" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Region Mode" @@ -10059,7 +10037,7 @@ msgstr "Llum" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Show resulted shader code." -msgstr "Crear node Shader" +msgstr "Crear node Shader." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Create Shader Node" @@ -10542,12 +10520,12 @@ msgstr "Modifica un Uniforme Textura." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "2D texture uniform lookup." -msgstr "Modifica un Uniforme Textura" +msgstr "Modifica un Uniforme Textura." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "2D texture uniform lookup with triplanar." -msgstr "Modifica un Uniforme Textura" +msgstr "Modifica un Uniforme Textura." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -10761,12 +10739,12 @@ msgstr "Resta vector al vector." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Vector constant." -msgstr "Modificar una constant vectorial" +msgstr "Modificar una constant vectorial." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Vector uniform." -msgstr "Modifica un Uniforme Vectorial" +msgstr "Modifica un Uniforme Vectorial." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -10848,7 +10826,7 @@ msgstr "ShaderVisual" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Edit Visual Property:" -msgstr "Editar Propietat Visual" +msgstr "Editar Propietat Visual:" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Mode Changed" @@ -11345,9 +11323,8 @@ msgid "Project Manager" msgstr "Gestor del Projecte" #: editor/project_manager.cpp -#, fuzzy msgid "Local Projects" -msgstr "Projecte" +msgstr "Projectes Locals" #: editor/project_manager.cpp #, fuzzy @@ -11435,9 +11412,8 @@ msgstr "" "Us agradaria explorar projectes d'exemple oficials a la biblioteca d'actius?" #: editor/project_manager.cpp -#, fuzzy msgid "Filter projects" -msgstr "Filtra les propietats" +msgstr "Filtrar projectes" #: editor/project_manager.cpp msgid "" @@ -11852,14 +11828,12 @@ msgid "Replace:" msgstr "Reemplaça:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Prefix:" -msgstr "Prefix" +msgstr "Prefix:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Suffix:" -msgstr "Sufix" +msgstr "Sufix:" #: editor/rename_dialog.cpp #, fuzzy @@ -11908,9 +11882,9 @@ msgid "Per-level Counter" msgstr "Comptador per nivell" #: editor/rename_dialog.cpp -#, fuzzy msgid "If set, the counter restarts for each group of child nodes." -msgstr "Si s'estableix el comptador es reinicia per a cada grup de nodes fills" +msgstr "" +"Si s'estableix, el comptador es reinicia per a cada grup de nodes fills." #: editor/rename_dialog.cpp msgid "Initial value for the counter" @@ -11976,7 +11950,7 @@ msgstr "Resetejar" #: editor/rename_dialog.cpp #, fuzzy msgid "Regular Expression Error:" -msgstr "Expressions Regulars" +msgstr "Expressions Regulars:" #: editor/rename_dialog.cpp #, fuzzy @@ -12125,12 +12099,16 @@ msgstr "Suprimir el node \"% s\"?" msgid "" "Saving the branch as a scene requires having a scene open in the editor." msgstr "" +"Guardar la branca com una escena requereix tenir una escena oberta en " +"l'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 branca com una escena requereix seleccionar nomes un node, però " +"heu seleccionat %d nodes." #: editor/scene_tree_dock.cpp msgid "" @@ -12306,9 +12284,8 @@ msgid "Delete (No Confirm)" msgstr "Elimina (Sense Confirmació)" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Add/Create a New Node." -msgstr "Afegeix/Crea un Node Nou" +msgstr "Afegir/Crear un Node Nou." #: editor/scene_tree_dock.cpp msgid "" @@ -12461,7 +12438,7 @@ msgstr "El camí no és local." #: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid base path." -msgstr "El Camí de base no és vàlid" +msgstr "El Camí base no és vàlid." #: editor/script_create_dialog.cpp msgid "A directory with the same name exists." @@ -12530,9 +12507,8 @@ msgid "Script path/name is valid." msgstr "L' script és vàlid." #: editor/script_create_dialog.cpp -#, fuzzy msgid "Allowed: a-z, A-Z, 0-9, _ and ." -msgstr "Permesos: a-z, a-Z, 0-9 i _" +msgstr "Permesos: a-z, A-Z, 0-9, _ i ." #: editor/script_create_dialog.cpp msgid "Built-in script (into scene file)." @@ -12631,7 +12607,7 @@ msgstr "Errors" #: editor/script_editor_debugger.cpp #, fuzzy msgid "Child process connected." -msgstr "Procés Fill Connectat" +msgstr "Procés Fill Connectat." #: editor/script_editor_debugger.cpp msgid "Copy Error" @@ -12649,7 +12625,7 @@ msgstr "Memòria de Vídeo" #: editor/script_editor_debugger.cpp #, fuzzy msgid "Skip Breakpoints" -msgstr "Crea punts." +msgstr "Saltar Punts de Parada" #: editor/script_editor_debugger.cpp msgid "Inspect Previous Instance" @@ -12668,9 +12644,8 @@ msgid "Profiler" msgstr "Perfilador" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Network Profiler" -msgstr "Profiler de xarxa" +msgstr "Perfilador de Xarxa" #: editor/script_editor_debugger.cpp msgid "Monitor" @@ -12738,9 +12713,8 @@ msgid "Set From Tree" msgstr "Estableix des de l'Arbre" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Export measures as CSV" -msgstr "Exporta les mesures com a CSV" +msgstr "Exportar les mesures com a CSV" #: editor/settings_config_dialog.cpp msgid "Erase Shortcut" @@ -12962,14 +12936,12 @@ msgid "Object can't provide a length." msgstr "L'objecte no pot proporcionar una longitud." #: modules/gltf/editor_scene_exporter_gltf_plugin.cpp -#, fuzzy msgid "Export Mesh GLTF2" -msgstr "Exporta Biblioteca de Models" +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" @@ -13140,7 +13112,7 @@ msgstr "Post-Processat" #: modules/lightmapper_cpu/lightmapper_cpu.cpp #, fuzzy msgid "Plotting lightmaps" -msgstr "S'està traçant l'Il·luminació:" +msgstr "S'està traçant l'Il·luminació" #: modules/mono/csharp_script.cpp msgid "Class name can't be a reserved keyword" @@ -13169,7 +13141,7 @@ msgstr "Establint la Configuració..." #: modules/recast/navigation_mesh_generator.cpp msgid "Calculating grid size..." -msgstr "Calculant la mida de la graella..." +msgstr "Calculant la mida de la quadrícula..." #: modules/recast/navigation_mesh_generator.cpp msgid "Creating heightfield..." @@ -13554,7 +13526,7 @@ msgstr "Afegir Node..." #: modules/visual_script/visual_script_editor.cpp #, fuzzy msgid "Add Function..." -msgstr "Afegeix una Funció" +msgstr "Afegeix una Funció..." #: modules/visual_script/visual_script_editor.cpp #, fuzzy @@ -13564,7 +13536,7 @@ msgstr "nom_funció" #: modules/visual_script/visual_script_editor.cpp #, fuzzy msgid "Select or create a function to edit its graph." -msgstr "Selecciona o crea una funció per editar la corba" +msgstr "Selecciona o crea una funció per editar la corba." #: modules/visual_script/visual_script_editor.cpp msgid "Delete Selected" @@ -13700,14 +13672,12 @@ msgid "Running on %s" msgstr "" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Exporting APK..." -msgstr "Exportant tot" +msgstr "Exportant APK..." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Uninstalling..." -msgstr "Desinstal·lar" +msgstr "Desinstal·lant..." #: platform/android/export/export_plugin.cpp #, fuzzy @@ -13818,7 +13788,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -13827,6 +13802,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -13844,7 +13834,7 @@ msgstr "S'està signant la versió %s ..." #: platform/android/export/export_plugin.cpp #, fuzzy msgid "Could not find keystore, unable to export." -msgstr "No es pot obrir la plantilla per exportar:" +msgstr "No es pot obrir la plantilla per exportar." #: platform/android/export/export_plugin.cpp msgid "'apksigner' returned with error #%d" @@ -13878,7 +13868,7 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "Unsupported export format!\n" -msgstr "" +msgstr "Format d'exportació no suportat.\n" #: platform/android/export/export_plugin.cpp #, fuzzy @@ -13976,7 +13966,7 @@ msgstr "Afegint %s..." #: platform/android/export/export_plugin.cpp #, fuzzy msgid "Could not export project files" -msgstr "No s'ha pogut escriure el fitxer:" +msgstr "No s'ha pogut escriure el fitxer" #: platform/android/export/export_plugin.cpp msgid "Aligning APK..." @@ -14045,12 +14035,12 @@ msgstr "No es pot llegir l'intèrpret personalitzat d’ordres HTML:" #: platform/javascript/export/export.cpp #, fuzzy msgid "Could not create HTTP server directory:" -msgstr "No s'ha pogut crear el directori." +msgstr "No s'ha pogut crear el directori:" #: platform/javascript/export/export.cpp #, fuzzy msgid "Error starting HTTP server:" -msgstr "Error en desar l'escena." +msgstr "Error en desar l'escena:" #: platform/osx/export/export.cpp #, fuzzy @@ -14355,12 +14345,12 @@ msgstr "" #: scene/3d/arvr_nodes.cpp #, fuzzy msgid "ARVRCamera must have an ARVROrigin node as its parent." -msgstr "El node ARVRCamera requereix un Pare del tipus ARVROrigin" +msgstr "El node ARVRCamera requereix un Pare del tipus ARVROrigin." #: scene/3d/arvr_nodes.cpp #, fuzzy msgid "ARVRController must have an ARVROrigin node as its parent." -msgstr "El node ARVRController requereix un Pare del tipus ARVROrigin" +msgstr "El node ARVRController requereix un Pare del tipus ARVROrigin." #: scene/3d/arvr_nodes.cpp #, fuzzy @@ -14368,12 +14358,12 @@ msgid "" "The controller ID must not be 0 or this controller won't be bound to an " "actual controller." msgstr "" -"L'Id del Controlador no pot ser 0 si es vol vincular-lo amb Controlador real" +"L'Id del Controlador no pot ser 0 si es vol vincular-lo amb Controlador real." #: scene/3d/arvr_nodes.cpp #, fuzzy msgid "ARVRAnchor must have an ARVROrigin node as its parent." -msgstr "El node ARVRAnchor requereix un Pare del tipus ARVROrigin" +msgstr "El node ARVRAnchor requereix un Pare del tipus ARVROrigin." #: scene/3d/arvr_nodes.cpp #, fuzzy @@ -14381,21 +14371,20 @@ msgid "" "The anchor ID must not be 0 or this anchor won't be bound to an actual " "anchor." msgstr "" -"L'Id de l'ancoratge no pot ser 0 si es vol vincular-lo amb un ancoratge real" +"L'Id de l'ancoratge no pot ser 0 si es vol vincular-lo amb un ancoratge real." #: scene/3d/arvr_nodes.cpp #, fuzzy msgid "ARVROrigin requires an ARVRCamera child node." -msgstr "El node ARVROrigin requreix un node Fill del tipus ARVRCamera" +msgstr "El node ARVROrigin requreix un node Fill del tipus ARVRCamera." #: scene/3d/baked_lightmap.cpp msgid "Finding meshes and lights" msgstr "" #: scene/3d/baked_lightmap.cpp -#, fuzzy msgid "Preparing geometry (%d/%d)" -msgstr "Analitzant la Geometria..." +msgstr "Preparant geometria (%d/%d)" #: scene/3d/baked_lightmap.cpp #, fuzzy @@ -14694,7 +14683,7 @@ msgstr "" #: scene/3d/soft_body.cpp #, fuzzy msgid "This body will be ignored until you set a mesh." -msgstr "Aquest cos s'ignorarà fins que l'hi establiu una malla" +msgstr "Aquest cos s'ignorarà fins que l'hi establiu una malla." #: scene/3d/soft_body.cpp #, fuzzy @@ -14768,7 +14757,7 @@ msgstr "Animació invàlida: '%s'." #: scene/animation/animation_tree.cpp #, fuzzy msgid "Nothing connected to input '%s' of node '%s'." -msgstr "Desconnecta '%s' de '%s'" +msgstr "Desconnecta '%s' de '%s'." #: scene/animation/animation_tree.cpp msgid "No root AnimationNode for the graph is set." @@ -14824,7 +14813,7 @@ msgstr "Canviar entre valors hexadecimals i de codi." #: scene/gui/color_picker.cpp #, fuzzy msgid "Add current color as a preset." -msgstr "Afegeix el Color actual com a predeterminat" +msgstr "Afegeix el Color actual com a predeterminat." #: scene/gui/container.cpp msgid "" @@ -14983,1654 +14972,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Les constants no es poden modificar." - -#, fuzzy -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "Crear Pose de Repòs (A partir dels Ossos)" - -#~ msgid "Bottom" -#~ msgstr "Part inferior" - -#~ msgid "Left" -#~ msgstr "Esquerra" - -#~ msgid "Right" -#~ msgstr "Dreta" - -#~ msgid "Front" -#~ msgstr "Davant" - -#~ msgid "Rear" -#~ msgstr "Darrere" - -#, fuzzy -#~ msgid "Nameless gizmo" -#~ msgstr "Gizmo sense nom" - -#~ msgid "Package Contents:" -#~ msgstr "Contingut del Paquet:" - -#~ msgid "Singleton" -#~ msgstr "Singleton" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Esborra el perfil '%s'? (no es pot desfer)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Propietats Habilitades:" - -#~ msgid "Enabled Features:" -#~ msgstr "Característiques Habilitades:" - -#~ msgid "Unset" -#~ msgstr "Desactivar" - -#~ msgid "Class Options" -#~ msgstr "Opcions de Classe" - -#~ msgid "Set" -#~ msgstr "Establir" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Desat(s) el(s) %s recurs(os) modificat(s)." - -#~ msgid "Q&A" -#~ msgstr "Preguntes i Respostes" - -#~ msgid "Status:" -#~ msgstr "Estat:" - -#~ msgid "Edit:" -#~ msgstr "Edita:" - -#, fuzzy -#~ msgid "Redownload" -#~ msgstr "Torna a Baixar" - -#~ msgid "(Installed)" -#~ msgstr "(Instal·lat)" - -#~ msgid "(Missing)" -#~ msgstr "(Mancant)" - -#~ msgid "Request Failed." -#~ msgstr "Ha fallat la sol·licitud." - -#~ msgid "Redirect Loop." -#~ msgstr "Bucle de redirecció." - -#~ msgid "Download Complete." -#~ msgstr "Baixada Completa." - -#~ msgid "Remove Template" -#~ msgstr "Elimina la Plantilla" - -#~ msgid "Download Templates" -#~ msgstr "Baixa plantilles" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "Selecciona un mirror de la llista: (Maj+Clic: Obre en el Navegador)" - -#, fuzzy -#~ msgid "Move to Trash" -#~ msgstr "Mou l'AutoCàrrega" - -#~ msgid "Expand All Properties" -#~ msgstr "Expandir Totes les Propietats" - -#~ msgid "Collapse All Properties" -#~ msgstr "Col·lapsar Totes les Propietats" - -#~ msgid "Copy Params" -#~ msgstr "Copia els Paràmetres" - -#~ msgid "Open in Help" -#~ msgstr "Obre dins l'Ajuda" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "Substitueix la càmera del joc.\n" -#~ "Cap instància del joc en execució." - -#~ msgid "Drag: Rotate" -#~ msgstr "Arrossega: gira" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Premeu 'v' per canviar el Pivot, 'Maj+v' per arrosegar el Pivot (mentre " -#~ "es mou)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+Clic Dret: Selecció detallada per llista" - -#~ msgid "Clone Down" -#~ msgstr "Clona avall" - -#~ msgid "Yaw" -#~ msgstr "Guinyada" - -#~ msgid "Size" -#~ msgstr "Mida:" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "Arrossegar: Gira\n" -#~ "Alt+Arrossegar: Mou\n" -#~ "Alt+Clic Dret: Selecció de llista de profunditat" - -#, fuzzy -#~ msgid "Sep.:" -#~ msgstr "Sep.:" - -#~ msgid "Add All" -#~ msgstr "Afegeix-ho Tot" - -#~ msgid "Theme editing menu." -#~ msgstr "Menú d'edició de Temes." - -#~ msgid "Create Empty Template" -#~ msgstr "Crea una Plantilla Buida" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "Crea un Plantilla d'Editor Buida" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "Crea a partir del Tema d'Editor actual" - -#~ msgid "Data Type:" -#~ msgstr "Tipus de Dades:" - -#, fuzzy -#~ msgid "Theme File" -#~ msgstr "Tema" - -#~ msgid "Compiled" -#~ msgstr "Compilat" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "Eliminar %d projectes de la llista?\n" -#~ "El contingut del directori del projecte no es modificarà." - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "Eliminar aquest projecte de la llista?\n" -#~ "El contingut del directori del projecte no es modificarà." - -#~ msgid "Templates" -#~ msgstr "Plantilles" - -#~ msgid "Add Remapped Path" -#~ msgstr "Afegeix un camí remapat" - -#~ msgid "Can not perform with the root node." -#~ msgstr "No es pot executar en el node arrel." - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "No es pot llegir la imatge de presentació:" - -#~ msgid "Using default boot splash image." -#~ msgstr "Utilitzant la imatge de presentació per defecte." - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Un reproductor d'Animacions no pot animar-se a si mateix, només altres " -#~ "reproductors." - -#~ msgid "Clipboard is empty" -#~ msgstr "El porta-retalls és buit" - -#~ msgid "No" -#~ msgstr "No" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "" -#~ "Aquesta escena no s'ha desat mai encara. Voleu desar-la abans d'executar-" -#~ "la?" - -#, fuzzy -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "L'executable ADB no està configurat a la configuració de l'editor." - -#, fuzzy -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "" -#~ "OpenJDK Jarsigner no està configurat en la configuració de l'editor." - -#, fuzzy -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "" -#~ "La compilació personalitzada requereix un camí d'Android SDK vàlid en la " -#~ "configuració de l'editor." - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(Temps restant: %d:%02d s)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "S'estàn traçant les Malles: " - -#~ msgid "Lighting Meshes: " -#~ msgstr "Il·luminant les Malles: " - -#~ msgid "Search complete" -#~ msgstr "Cerca completa" - -#, fuzzy -#~ msgid "No commit message was provided" -#~ msgstr "Manca Nom" - -#, fuzzy -#~ msgid "Add a commit message" -#~ msgstr "Afegir un missatge de commit" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "Ja hi existex un fitxer o directori amb aquest nom." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Error en desar els canvis!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "S'han sobreescrit els Ajustos Predeterminats de l'Editor." - -#~ msgid "Move pivot" -#~ msgstr "Moure pivot" - -#~ msgid "Move anchor" -#~ msgstr "Moure àncora" - -#, fuzzy -#~ msgid "Resize CanvasItem" -#~ msgstr "Modifica el elementCanvas" - -#~ msgid "Polygon->UV" -#~ msgstr "Polígon -> UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV->Polígon" - -#, fuzzy -#~ msgid "Add initial export..." -#~ msgstr "Afegeix una Entrada" - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "Eliminar el Pedaç '%s' de la llista?" - -#~ msgid "Patches" -#~ msgstr "Pedaços" - -#~ msgid "Make Patch" -#~ msgstr "Crea un Pedaç" - -#, fuzzy -#~ msgid "Pack File" -#~ msgstr "Fitxers" - -#, fuzzy -#~ msgid "No build apk generated at: " -#~ msgstr "No s'ha generat cap compilació apk a: " - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "Importació i sistema de fitxers" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "En ser exportat o desplegat, l'executable resultant intenta connectar-se " -#~ "a l'IP d'aquest equip per iniciar-ne la depuració." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "" -#~ "L'escena actual no s'ha desat encara. Desa l'escena abans d'executar-la." - -#~ msgid "Revert" -#~ msgstr "Reverteix" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Aquesta acció no es pot desfer. N'esteu segur?" - -#~ msgid "Revert Scene" -#~ msgstr "Reverteix Escena" - -#~ msgid "Clear Script" -#~ msgstr "Esborra l'Script" - -#~ msgid "Issue Tracker" -#~ msgstr "Seguiment d'Incidències" - -#~ msgid "Request Docs" -#~ msgstr "Sol·licitar Documentació" - -#, fuzzy -#~ msgid "Help improve the Godot documentation by giving feedback." -#~ msgstr "Ajudeu a millorar la documentació de Godot donant comentaris" - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "%d ocurrència/es reemplaçades." - -#~ msgid "Create Static Convex Body" -#~ msgstr "Crea un Cos Estàtic Convex" - -#, fuzzy -#~ msgid "Failed creating shapes!" -#~ msgstr "Ha fallat la creació de formes!" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Aquesta classe no disposa encara de cap Tutorial. Podeu contribuir " -#~ "[color=$color][url=$url] tot aportant-ne un[/url][/color] o [color=" -#~ "$color][url=$url2]sol·licitant-lo[/url][/color]." - -#~ msgid "enum " -#~ msgstr "enum " - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "Descripció breu:" - -#~ msgid "Class Description" -#~ msgstr "Descripció de la classe" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "L'exportació del projecte ha fallat amb el codi d'error %d." - -#~ msgid "Password:" -#~ msgstr "Contrasenya:" - -#~ msgid "A digit cannot be the first character in a Identifier segment." -#~ msgstr "Un dígit no pot ser el primer caràcter en un segment Identificador." - -#~ msgid "" -#~ "The character '%s' cannot be the first character in a Identifier segment." -#~ msgstr "" -#~ "El caràcter '%s' no pot ser el primer caràcter en un segment " -#~ "Identificador." - -#~ msgid "The Identifier must have at least one '.' separator." -#~ msgstr "L'identificador ha de tenir com a mínim un separador '. '." - -#~ msgid "Pause the scene" -#~ msgstr "Pausa l'escena" - -#~ msgid "Shift+" -#~ msgstr "Maj +" - -#~ msgid "Alt+" -#~ msgstr "Alt +" - -#~ msgid "Control+" -#~ msgstr "Control+" - -#~ msgid "Snap to Grid" -#~ msgstr "Ajustar a la Quadrícula" - -#, fuzzy -#~ msgid "Add input +" -#~ msgstr "Afegeix una Entrada" - -#~ msgid "Language" -#~ msgstr "Llengua" - -#~ msgid "Inherits" -#~ msgstr "Hereta" - -#~ msgid "Base Type:" -#~ msgstr "Tipus Base:" - -#~ msgid "Available Nodes:" -#~ msgstr "Nodes disponibles:" - -#~ msgid "Input" -#~ msgstr "Entrada" - -#~ msgid "Methods:" -#~ msgstr "Mètodes:" - -#~ msgid "Theme Properties:" -#~ msgstr "Propietats del tema:" - -#~ msgid "Enumerations:" -#~ msgstr "Enumeracions:" - -#~ msgid "Constants:" -#~ msgstr "Constants:" - -#~ msgid "Class Description:" -#~ msgstr "Descripció de la classe:" - -#~ msgid "Property Descriptions:" -#~ msgstr "Descripcions de la Propietat:" - -#~ msgid "Method Descriptions:" -#~ msgstr "Descripcions del Mètode:" - -#~ msgid "Reverse sorting." -#~ msgstr "Ordenació inversa." - -#~ msgid "Delete Node(s)?" -#~ msgstr "Elimina els Nodes?" - -#~ msgid "No Matches" -#~ msgstr "Cap Coincidència" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "No s'ha pogut escriure el fitxer file_type_cache.cch. No es desara el cau " -#~ "de tipus de fitxers!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "No es pot accedir a '%s'. No es troba en el sistema de fitxers!" - -#~ msgid "Error loading image:" -#~ msgstr "Error en carregar la imatge:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "Cap píxel amb transparència > 128 en la imatge..." - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "el node Pare no disposa de cares sòlides per omplir." - -#~ msgid "Couldn't map area." -#~ msgstr "No es pot mapar la zona." - -#~ msgid "Faces contain no area!" -#~ msgstr "Les Cares no tenen àrea!" - -#~ msgid "No faces!" -#~ msgstr "Cap Cara!" - -#~ msgid "Error: could not load file." -#~ msgstr "Error: No s'ha pogut carregar el fitxer." - -#~ msgid "Error could not load file." -#~ msgstr "Error no s'ha pogut carregar el fitxer." - -#~ msgid "Doppler Enable" -#~ msgstr "Activa Doppler" - -#~ msgid "Select Mode (Q)" -#~ msgstr "Mode Selecció (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "Mode Moviment (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "Mode Rotació (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "Mode Escala (R)" - -#~ msgid "Local Coords" -#~ msgstr "Coordenades Locals" - -#~ msgid "Snap Mode (%s)" -#~ msgstr "Mode d'Ajustament (%s)" - -#~ msgid "Tool Select" -#~ msgstr "Selecciona una Eina" - -#~ msgid "Tool Move" -#~ msgstr "Eina de Translació" - -#~ msgid "Tool Rotate" -#~ msgstr "Eina de Rotació" - -#~ msgid "Tool Scale" -#~ msgstr "Eina d'Escala" - -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "" -#~ "Eliminar tots els projectes que falten de la llista? (El contingut dels " -#~ "directoris no es modificarà)" - -#~ msgid "Project List" -#~ msgstr "Llista de Projectes" - -#~ msgid "Exit" -#~ msgstr "Surt" - -#~ msgid "Could not execute PVRTC tool:" -#~ msgstr "No s'ha pogut executar l'eina PVRTC:" - -#~ msgid "Can't load back converted image using PVRTC tool:" -#~ msgstr "No es pot recarregar la imatge convertida amb PVRTC:" - -#~ msgid "Error initializing FreeType." -#~ msgstr "Error inicialitzant FreeType." - -#~ msgid "Unknown font format." -#~ msgstr "Format de lletra desconegut." - -#~ msgid "Error loading font." -#~ msgstr "Error carregant lletra." - -#~ msgid "Invalid font size." -#~ msgstr "La mida de la lletra no és vàlida." - -#~ msgid "Previous Folder" -#~ msgstr "Directori Anterior" - -#~ msgid "Next Folder" -#~ msgstr "Directori Següent" - -#~ msgid "Automatically Open Screenshots" -#~ msgstr "Obrir automàticament captures de pantalla" - -#~ msgid "Open in an external image editor." -#~ msgstr "Obrir en un editor d'imatges extern." - -#~ msgid "Reverse" -#~ msgstr "Inverteix" - -#~ msgid "Mirror X" -#~ msgstr "Replica en l'eix X" - -#~ msgid "Mirror Y" -#~ msgstr "Replica en l'Eix Y" - -#~ msgid "Generating solution..." -#~ msgstr "S'està generant la solució..." - -#~ msgid "Generating C# project..." -#~ msgstr "S'està generant el projecte en C#..." - -#~ msgid "Failed to create solution." -#~ msgstr "No s'ha pogut crear la solució." - -#~ msgid "Failed to save solution." -#~ msgstr "No s'ha pogut desar la solució." - -#~ msgid "Failed to create C# project." -#~ msgstr "No s'ha pogut crear el projecte en C#." - -#~ msgid "Mono" -#~ msgstr "Mono" - -#~ msgid "About C# support" -#~ msgstr "Sobre el suport de C#" - -#~ msgid "Create C# solution" -#~ msgstr "Crea una solució en C#" - -#~ msgid "Builds" -#~ msgstr "Muntatges" - -#~ msgid "Build Project" -#~ msgstr "Munta el Projecte" - -#~ msgid "View log" -#~ msgstr "Mostra el Registre" - -#~ msgid "WorldEnvironment needs an Environment resource." -#~ msgstr "WorldEnvironment necessita un recurs Ambiental." - -#~ msgid "Enabled Classes" -#~ msgstr "Classes Habilitades" - -#~ msgid "Update Always" -#~ msgstr "Actualitza Sempre" - -#~ msgid "'camera' input parameter for all shader modes." -#~ msgstr "paràmetre d'entrada 'càmera' per a tots els modes shader." - -#~ msgid "'inv_camera' input parameter for all shader modes." -#~ msgstr "paràmetre d'entrada 'inv_camera' per a tots els modes shader." - -#~ msgid "'inv_projection' input parameter for all shader modes." -#~ msgstr "paràmetre d'entrada 'inv_projection' per a tots els modes shader." - -#~ msgid "'normal' input parameter for all shader modes." -#~ msgstr "paràmetre d'entrada 'normal' per a tots els modes shader." - -#~ msgid "'projection' input parameter for all shader modes." -#~ msgstr "paràmetre d'entrada 'projection' per a tots els modes shader." - -#~ msgid "'time' input parameter for all shader modes." -#~ msgstr "paràmetre d'entrada 'time' per a tots els modes shader." - -#~ msgid "'viewport_size' input parameter for all shader modes." -#~ msgstr "paràmetre d'entrada 'viewport_size' per a tots els modes shader." - -#~ msgid "'world' input parameter for all shader modes." -#~ msgstr "paràmetre d'entrada 'world' per a tots els modes shader." - -#~ msgid "'alpha' input parameter for all shader modes." -#~ msgstr "paràmetre d'entrada 'alpha' per a tots els modes shader." - -#~ msgid "'color' input parameter for all shader modes." -#~ msgstr "paràmetre d'entrada 'color' per a tots els modes shader." - -#~ msgid "'texture_pixel_size' input parameter for all shader modes." -#~ msgstr "" -#~ "paràmetre d'entrada 'texture_pixel_size' per a tots els modes shader." - -#~ msgid "Raw Mode" -#~ msgstr "Mode Cru" - -#~ msgid "Path to Node:" -#~ msgstr "Camí al Node:" - -#~ msgid "Delete selected files?" -#~ msgstr "Voleu Esborrar els fitxers seleccionats?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "No s'ha trobat cap 'res://default_bus_layout.tres'." - -#~ msgid "Go to parent folder" -#~ msgstr "Vés al directori principal" - -#~ msgid "Open Scene(s)" -#~ msgstr "Obre Escenes" - -#~ msgid "Previous Directory" -#~ msgstr "Directori Anterior" - -#~ msgid "Next Directory" -#~ msgstr "Directori Següent" - -#~ msgid "Ease in" -#~ msgstr "Entrada Lenta" - -#~ msgid "Ease out" -#~ msgstr "Sortida Lenta" - -#~ msgid "Create Convex Static Body" -#~ msgstr "Crea un Cos Estàtic Convex" - -#~ msgid "CheckBox Radio1" -#~ msgstr "casella Radio1" - -#~ msgid "CheckBox Radio2" -#~ msgstr "Casella Radio2" - -#~ msgid "Create folder" -#~ msgstr "Crea un Directori" - -#~ msgid "Custom Node" -#~ msgstr "Node Personalitzat" - -#~ msgid "Invalid Path" -#~ msgstr "Camí no vàlid" - -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "Duplica la Selecció del GridMap" - -#~ msgid "Create Area" -#~ msgstr "Crea una Àrea" - -#~ msgid "Create Exterior Connector" -#~ msgstr "Crea un Connector Exterior" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "Edita Arguments del Senyal:" - -#~ msgid "Edit Variable:" -#~ msgstr "Edita Variable:" - -#~ msgid "Snap (s): " -#~ msgstr "Pas (s): " - -#, fuzzy -#~ msgid "Insert keys." -#~ msgstr "Insereix Claus" - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "" -#~ "Instancia les escenes seleccionades com a filles del node seleccionat." - -#, fuzzy -#~ msgid "Font Size:" -#~ msgstr "Mida de la lletra:" - -#~ msgid "Line:" -#~ msgstr "Línia:" - -#~ msgid "Col:" -#~ msgstr "Col:" - -#, fuzzy -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "" -#~ "PathFollow2D només funciona si s'estableix com a fill d'un node Path2D." - -#, fuzzy -#~ msgid "Add Split" -#~ msgstr "Afegeix un punt" - -#, fuzzy -#~ msgid "Invalid Split: " -#~ msgstr "Camí no vàlid" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "Elimina el punt" - -#, fuzzy -#~ msgid "Poly" -#~ msgstr "Edita Polígon" - -#, fuzzy -#~ msgid "Splits" -#~ msgstr "Parteix el Camí" - -#, fuzzy -#~ msgid "Add Node.." -#~ msgstr "Afegeix un Node" - -#~ msgid "Create from scene?" -#~ msgstr "Crear-ho a partir de l'escena?" - -#~ msgid "Create Poly" -#~ msgstr "Crea Polígon" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "Crea un Polígon nou del no-res" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "Allunya" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "Apropa" - -#~ msgid "Create Poly3D" -#~ msgstr "Crea un Poly3D" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "No s'ha trobat cap recurs de tipus OccluderPolygon2D en aquest node.\n" -#~ "Vol Crear i assignar-ne un ara?" - -#~ msgid "LMB: Move Point." -#~ msgstr "Clic Esquerra: Mou un Punt." - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl + Clic Esquerra: Divideix el Segment." - -#~ msgid "RMB: Erase Point." -#~ msgstr "Clic Dret: Eliminar un Punt." - -#, fuzzy -#~ msgid "New TextFile" -#~ msgstr "Visualitza Fitxers" - -#~ msgid "Save Theme As" -#~ msgstr "Anomena i Desa el Tema" - -#~ msgid "<None>" -#~ msgstr "<Cap>" - -#~ msgid "" -#~ "Select sub-tile to use as icon, this will be also used on invalid " -#~ "autotile bindings." -#~ msgstr "" -#~ "Selecciona una sub-tessel·la com a icona. També s'utilitzarà per les " -#~ "assignacions automàtiques no-vàlides de l'autotile." - -#~ msgid "Zoom:" -#~ msgstr "Zoom:" - -#~ msgid "Are you sure you want to remove all connections from the \"" -#~ msgstr "Esteu segur que voleu eliminar totes les connexions de \"" - -#~ msgid "Class List:" -#~ msgstr "Llista de Classes:" - -#~ msgid "Public Methods" -#~ msgstr "Mètodes Públics" - -#~ msgid "Public Methods:" -#~ msgstr "Mètodes públics:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "Elements del Tema de la Interfície :" - -#~ msgid "Property: " -#~ msgstr "Propietat: " - -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Modifica l'estat del directori com a Favorit." - -#~ msgid "Show current scene file." -#~ msgstr "Mostra el fitxer de l'escena actual." - -#~ msgid "Enter tree-view." -#~ msgstr "Entra a la vista d'arbre." - -#~ msgid "Whole words" -#~ msgstr "Paraules senceres" - -#~ msgid "Match case" -#~ msgstr "Distingeix majúscules/minúscules" - -#~ msgid "Ok" -#~ msgstr "D'acord" - -#~ msgid "Show In File System" -#~ msgstr "Mostra'l en el Sistema de Fitxers" - -#~ msgid "Search the class hierarchy." -#~ msgstr "Cerca dins la jerarquia de classes." - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "Cerca Classes" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "" -#~ "Només es poden editar els Scripts Integrats amb la seva escena associada " -#~ "carregada" - -#~ msgid "Convert To Uppercase" -#~ msgstr "Converteix en majúscules" - -#~ msgid "Convert To Lowercase" -#~ msgstr "Converteix en minúscules" - -#~ msgid "Rotate 0 degrees" -#~ msgstr "Gira-ho 0 graus" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "Gira-ho 90 graus" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "Gira-ho 180 graus" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "Gira-ho 270 graus" - -#~ msgid "Errors:" -#~ msgstr "Errors:" - -#~ msgid "Stack Trace (if applicable):" -#~ msgstr "Traça de la Pila (si s'escau):" - -#~ msgid "Bake!" -#~ msgstr "Calcula!" - -#~ msgid "Bake the navigation mesh." -#~ msgstr "Precalcula la malla de navegació." - -#~ msgid "Get" -#~ msgstr "Obtenir" - -#~ msgid "Change RGB Constant" -#~ msgstr "Modificar una constant RGB" - -#~ msgid "Change Vec Scalar Operator" -#~ msgstr "Modifica un operador vectorial- escalar" - -#~ msgid "Change RGB Operator" -#~ msgstr "Modifica un operador RGB" - -#~ msgid "Toggle Rot Only" -#~ msgstr "només Rotacio" - -#~ msgid "Change Vec Function" -#~ msgstr "Modifica una Funció Vectorial" - -#~ msgid "Change RGB Uniform" -#~ msgstr "Modifica un Uniforme RGB" - -#~ msgid "Change Default Value" -#~ msgstr "Modifica el Valor per Defecte" - -#~ msgid "Change XForm Uniform" -#~ msgstr "Modifica el Uniforme XForm" - -#~ msgid "Change Cubemap Uniform" -#~ msgstr "Modifica un Uniforme 'CubeMap'" - -#~ msgid "Change Comment" -#~ msgstr "Modifica el Comentari" - -#~ msgid "Add/Remove to Color Ramp" -#~ msgstr "Afegeix/Elimina-ho de la Rampa de Colors" - -#~ msgid "Modify Color Ramp" -#~ msgstr "Modifica la Rampa de Color" - -#~ msgid "Add/Remove to Curve Map" -#~ msgstr "Afegeix/Ellimina-ho del Mapa de Corbes" - -#~ msgid "Modify Curve Map" -#~ msgstr "Modifica el Mapa de Corbes" - -#~ msgid "Connect Graph Nodes" -#~ msgstr "Connecta els Nodes de Graf" - -#~ msgid "Remove Shader Graph Node" -#~ msgstr "Elimina el Node de Graf d'Ombreig" - -#~ msgid "Move Shader Graph Node" -#~ msgstr "Mou el Node de Graf d'Ombreig" - -#~ msgid "Duplicate Graph Node(s)" -#~ msgstr "Duplica el(s) Node(s) de Graf" - -#~ msgid "Error: Cyclic Connection Link" -#~ msgstr "Error: Enllaç de Connexió Cíclic" - -#~ msgid "Error: Missing Input Connections" -#~ msgstr "Error: Manquen les Connexions d'Entrada" - -#~ msgid "Add Shader Graph Node" -#~ msgstr "Afegeix un Node de Graf d'Ombreig" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Mou la Pista Amunt" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Mou la Pista Avall" - -#~ msgid "Set Transitions to:" -#~ msgstr "Estableix les Transicions com :" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Modifica l'Interpolació de la Pista" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Modifica el Valor del Mode de Pista" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Modifica el Valor del Mode d'Ajustament de Pista" - -#~ msgid "Edit Node Curve" -#~ msgstr "Edita la Corba del Node" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Edita la Corba de Selecció" - -#~ msgid "Anim Add Key" -#~ msgstr "Afegeix una Clau" - -#~ msgid "In" -#~ msgstr "Entrada" - -#~ msgid "Out" -#~ msgstr "Sortida" - -#~ msgid "In-Out" -#~ msgstr "Entrada-Sortida" - -#~ msgid "Out-In" -#~ msgstr "Sortida-Entrada" - -#~ msgid "Change Anim Len" -#~ msgstr "Modifica la durada" - -#~ msgid "Change Anim Loop" -#~ msgstr "Modifica el bucle de l'Animació" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Crea una Clau de Valor Tipat" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Afegeix una Pista de Crida" - -#~ msgid "Length (s):" -#~ msgstr "Durada (s):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "Pas del cursor (s)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Activa/Desactiva el bucle de l'animació." - -#~ msgid "Add new tracks." -#~ msgstr "Afegeix noves pistes." - -#~ msgid "Move current track up." -#~ msgstr "Mou amunt." - -#~ msgid "Move current track down." -#~ msgstr "Mou avall." - -#~ msgid "Track tools" -#~ msgstr "Eines de Pista" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Edició individual de claus en clicar-hi." - -#~ msgid "Key" -#~ msgstr "Clau" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Voleu cridar les Funcions en el Node \"Which\"?" - -#~ msgid "Thanks!" -#~ msgstr "Gràcies!" - -#~ msgid "I see..." -#~ msgstr "Vaja..." - -#~ msgid "Ugh" -#~ msgstr "Uf..." - -#~ msgid "Run Script" -#~ msgstr "Executa Script" - -#~ msgid "Stop Profiling" -#~ msgstr "Atura Perfilació" - -#~ msgid "Start Profiling" -#~ msgstr "Comença Perfilació" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "Predeterminat (Idèntic a l'Editor)" - -#~ msgid "Create new animation in player." -#~ msgstr "Crea una nova animació en el reproductor." - -#~ msgid "Load animation from disk." -#~ msgstr "Carrega un animació del del disc." - -#~ msgid "Load an animation from disk." -#~ msgstr "Carrega una animació des del disc." - -#~ msgid "Save the current animation" -#~ msgstr "Desar l'animació actual" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "Edita els Temps de Mescla dels Objectius" - -#~ msgid "Copy Animation" -#~ msgstr "Copiar l'Animació" - -#~ msgid "Fetching:" -#~ msgstr "Recollida:" - -#~ msgid "prev" -#~ msgstr "anterior" - -#~ msgid "next" -#~ msgstr "següent" - -#~ msgid "last" -#~ msgstr "darrer" - -#~ msgid "Edit IK Chain" -#~ msgstr "Edita la Cadena CI" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "Arrossega el pivot des de l la posició del ratolí" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "Estableix el pivot a la posició del ratolí" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "Afegeix/Elimina un Punt en la Rampa de Color" - -#~ msgid "OK :(" -#~ msgstr "Buenu, pos molt bé, pos adiós... :(" - -#~ msgid "Skeleton Gizmo visibility" -#~ msgstr "Visibilitat del giny esquelet" - -#~ msgid "StyleBox Preview:" -#~ msgstr "Previsualització del StyleBox:" - -#~ msgid "Texture Region Editor" -#~ msgstr "Editor de Regions de Textura" - -#~ msgid "Erase selection" -#~ msgstr "Elimina la Selecció" - -#~ msgid "Item name or ID:" -#~ msgstr "Nom o ID de l'Element:" - -#~ msgid "Export templates for this platform are missing/corrupted: " -#~ msgstr "" -#~ "Manquen les Plantilles d'Exportació per aquesta plataforma o s'han " -#~ "malmès: " - -#~ msgid "Button 8" -#~ msgstr "Botó 8" - -#~ msgid "Button 9" -#~ msgstr "Botó 9" - -#~ msgid "Discard Instancing" -#~ msgstr "Descarta l'instància" - -#~ msgid "Clear!" -#~ msgstr "Elimina!" - -#~ msgid "Toggle Spatial Visible" -#~ msgstr "Visibilitat dels Espacials" - -#~ msgid "Condition" -#~ msgstr "Condició" - -#~ msgid "Sequence" -#~ msgstr "Seqüència" - -#~ msgid "Iterator" -#~ msgstr "Iterador" - -#~ msgid "While" -#~ msgstr "Mentre" - -#~ msgid "Return" -#~ msgstr "Retorna" - -#~ msgid "Call" -#~ msgstr "Crida" - -#~ msgid "Edit Variable" -#~ msgstr "Edita la Variable" - -#~ msgid "Edit Signal" -#~ msgstr "Edita el Senyal" - -#~ msgid "Invalid action (anything goes but '/' or ':')." -#~ msgstr "L'Acció no és vàlida (no es pot utilitzar ' / ' o ':')." - -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "No pot contenir '/' o ':'" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "El format de version.txt dins les plantilles no és vàlid. \"Revision\" no " -#~ "és un indentificador vàlid." - -#~ msgid "Can't write file." -#~ msgstr "No es pot escriure el fitxer." - -#~ msgid "Couldn't get project.godot in project path." -#~ msgstr "No s'ha trobat el fitxer 'project.godot' en el camí del Projecte." - -#~ msgid "Replace By" -#~ msgstr "Reemplaça per" - -#~ msgid "Backwards" -#~ msgstr "Enrere" - -#~ msgid "Prompt On Replace" -#~ msgstr "Indica en reemplaçar" - -#~ msgid "Skip" -#~ msgstr "Omet" - -#~ msgid "" -#~ "Your project will be created in a non empty folder (you might want to " -#~ "create a new folder)." -#~ msgstr "" -#~ "El projecte es crearà en un directori ja existent (Si s'escau, creeu un " -#~ "directori nou)." - -#~ msgid "That's a BINGO!" -#~ msgstr "BINGO!" - -#~ msgid "preview" -#~ msgstr "Previsualització" - -#~ msgid "Move Add Key" -#~ msgstr "Mou o Afegeix una Clau" - -#~ msgid "Create Subscription" -#~ msgstr "Crea Subscripció" - -#~ msgid "List:" -#~ msgstr "Llista:" - -#~ msgid "Set Emission Mask" -#~ msgstr "Estableix la Màscara d'Emissió" - -#~ msgid "Clear Emitter" -#~ msgstr "Esborra l'Emissor" - -#~ msgid "Fold Line" -#~ msgstr "Plega la Línia" - -#~ msgid " " -#~ msgstr " " - -#~ msgid "Sections:" -#~ msgstr "Seccions:" - -#~ msgid "Cannot navigate to '" -#~ msgstr "No es pot navegar fins '" - -#~ msgid "" -#~ "\n" -#~ "Source: " -#~ msgstr "" -#~ "\n" -#~ "Font: " - -#~ msgid "Remove Point from Line2D" -#~ msgstr "Elimina un Punt de la Línia2D" - -#~ msgid "Add Point to Line2D" -#~ msgstr "Afegeix punt a la Línia2D" - -#~ msgid "Move Point in Line2D" -#~ msgstr "Mou el Punt de la Línia2D" - -#~ msgid "Split Segment (in line)" -#~ msgstr "Parteix el Segment (en la línia)" - -#~ msgid "Meta+" -#~ msgstr "Meta +" - -#, fuzzy -#~ msgid "Setting '" -#~ msgstr "Configuració" - -#, fuzzy -#~ msgid "Selection -> Duplicate" -#~ msgstr "Selecció Només" - -#, fuzzy -#~ msgid "Selection -> Clear" -#~ msgstr "Selecció Només" - -#~ msgid "" -#~ "Path property must point to a valid Viewport node to work. Such Viewport " -#~ "must be set to 'render target' mode." -#~ msgstr "" -#~ "Cal que la propietat Camí (Path) assenyali un node de Vista (Viewport) " -#~ "vàlid. Aquest ha de ser especificat en el mode \"destinació de " -#~ "renderització\" (render target)." - -#~ msgid "" -#~ "The Viewport set in the path property must be set as 'render target' in " -#~ "order for this sprite to work." -#~ msgstr "" -#~ "La Vista (Viewport) especificada en la propietat \"Camí\" (Path) ha " -#~ "d'utilitzar el mode 'Destinació de renderització' (render target) perquè " -#~ "l'sprite funcioni." - -#~ msgid "Method List For '%s':" -#~ msgstr "Llista de mètodes de '%s':" - -#~ msgid "Return:" -#~ msgstr "Retorn:" - -#~ msgid "Added:" -#~ msgstr "Afegit:" - -#~ msgid "Could not save atlas subtexture:" -#~ msgstr "No s'ha pogut desar la subtextura de l'atles:" - -#~ msgid "Setting Up..." -#~ msgstr "Instal·lant..." - -#~ msgid "Error loading scene." -#~ msgstr "No s'ha pogut carregar l'escena." - -#~ msgid "Re-Import" -#~ msgstr "ReImporta" - -#~ msgid "Please wait for scan to complete." -#~ msgstr "Espera que s'acabi l'anàlisi." - -#~ msgid "Current scene must be saved to re-import." -#~ msgstr "S'ha de desar l'escena abans de reimportar-la." - -#~ msgid "Re-Importing" -#~ msgstr "Re-Importació" - -#~ msgid "Re-Import Changed Resources" -#~ msgstr "ReImporta Recursos Modificats" - -#, fuzzy -#~ msgid "" -#~ "\n" -#~ "Status: Needs Re-Import" -#~ msgstr "Desa i ReImporta" - -#~ msgid "Same source and destination files, doing nothing." -#~ msgstr "" -#~ "Els fitxers d'origen i destinació són els mateixos. No s'ha produït cap " -#~ "acció." - -#~ msgid "Same source and destination paths, doing nothing." -#~ msgstr "" -#~ "El camí d'origen i destinació es idèntic. No s'ha produït cap acció." - -#~ msgid "Can't move directories to within themselves." -#~ msgstr "No es poden moure directoris en si mateixos." - -#~ msgid "Pick New Name and Location For:" -#~ msgstr "Tria un Nou Nom i Ubicació per a:" - -#~ msgid "Info" -#~ msgstr "Informació" - -#~ msgid "No bit masks to import!" -#~ msgstr "Cap màscara de bits per importar!" - -#~ msgid "Target path is empty." -#~ msgstr "El camí de Destinació és buit." - -#~ msgid "Target path must be a complete resource path." -#~ msgstr "El camí de Destinació ha de ser un camí de recursos complet." - -#~ msgid "Target path must exist." -#~ msgstr "El camí de Destinació ha d'existir." - -#~ msgid "Import BitMasks" -#~ msgstr "Importa Màscares de Bit" - -#~ msgid "Source Texture(s):" -#~ msgstr "Textures Font:" - -#~ msgid "Accept" -#~ msgstr "Accepta" - -#~ msgid "Bit Mask" -#~ msgstr "Màscara de bits" - -#~ msgid "No source font file!" -#~ msgstr "Cap fitxer de lletra font!" - -#~ msgid "No target font resource!" -#~ msgstr "Cap recurs de Lletra!" - -#, fuzzy -#~ msgid "" -#~ "Invalid file extension.\n" -#~ "Please use .font." -#~ msgstr "" -#~ "Extensió de fitxer no vàlida.\n" -#~ "Utilitzeu .fnt." - -#~ msgid "Couldn't save font." -#~ msgstr "No s'ha pogut desar la lletra." - -#~ msgid "Source Font:" -#~ msgstr "Lletra:" - -#~ msgid "Dest Resource:" -#~ msgstr "Recurs Objectiu:" - -#~ msgid "The quick brown fox jumps over the lazy dog." -#~ msgstr "" -#~ "«Dóna amor que seràs feliç!». Això, il·lús veí i company geniüt, ja és un " -#~ "lluït rètol d'onze kWh." - -#~ msgid "Test:" -#~ msgstr "Prova:" - -#~ msgid "Options:" -#~ msgstr "Opcions:" - -#~ msgid "Font Import" -#~ msgstr "Importa lletra" - -#~ msgid "" -#~ "This file is already a Godot font file, please supply a BMFont type file " -#~ "instead." -#~ msgstr "" -#~ "Aquest fitxer ja és un fitxer de lletra de Godot. Proveïu un fitxer de " -#~ "tipus BMFont." - -#~ msgid "Failed opening as BMFont file." -#~ msgstr "No s'ha pogut obrir com a fitxer BMFont." - -#~ msgid "Invalid font custom source." -#~ msgstr "Lletra personalitzada no vàlida." - -#~ msgid "No meshes to import!" -#~ msgstr "Cap malla per importar!" - -#~ msgid "Single Mesh Import" -#~ msgstr "Importa una Malla" - -#~ msgid "Source Mesh(es):" -#~ msgstr "Malla/es :" - -#~ msgid "Surface %d" -#~ msgstr "Superfície %d" - -#~ msgid "No samples to import!" -#~ msgstr "No s'ha trobat cap mostra d'Àudio per importar!" - -#~ msgid "Import Audio Samples" -#~ msgstr "Importa Mostra d'Àudio" - -#~ msgid "Source Sample(s):" -#~ msgstr "Mostra/es d'Origen:" - -#~ msgid "New Clip" -#~ msgstr "Nou Clip" - -#, fuzzy -#~ msgid "Flags" -#~ msgstr "Indicadors (flags)" - -#~ msgid "Bake FPS:" -#~ msgstr "Fer Bake dels FPS:" - -#~ msgid "Optimizer" -#~ msgstr "Optimitzador" - -#~ msgid "Max Linear Error" -#~ msgstr "Error Lineal Màxim" - -#~ msgid "Max Angular Error" -#~ msgstr "Error Angular Màxim" - -#~ msgid "Max Angle" -#~ msgstr "Angle Màxim" - -#~ msgid "Start(s)" -#~ msgstr "Inici/s" - -#~ msgid "Source path is empty." -#~ msgstr "El camí d'origen és buit." - -#~ msgid "Couldn't load post-import script." -#~ msgstr "No s'ha pogut carregar l'script de post-importació." - -#~ msgid "Invalid/broken script for post-import." -#~ msgstr "L'script de post-importació no és vàlid ." - -#~ msgid "Error importing scene." -#~ msgstr "No s'ha pogut importar l'escena." - -#~ msgid "Import 3D Scene" -#~ msgstr "Importa Escena 3D" - -#~ msgid "Source Scene:" -#~ msgstr "Escena d'Origen:" - -#~ msgid "Same as Target Scene" -#~ msgstr "Igual que l'Escena de Destinació" - -#~ msgid "Shared" -#~ msgstr "Compartit" - -#~ msgid "Target Texture Folder:" -#~ msgstr "Directori per a Textures escollit:" - -#~ msgid "Custom Root Node Type:" -#~ msgstr "Tipus de Node Arrel Personalitzat:" - -#~ msgid "Auto" -#~ msgstr "Auto" - -#~ msgid "The Following Files are Missing:" -#~ msgstr "Manquen els següents Fitxers:" - -#~ msgid "Import Anyway" -#~ msgstr "Importa Igualment" - -#~ msgid "Edited scene has not been saved, open imported scene anyway?" -#~ msgstr "" -#~ "No s'ha desat l'escena editada. Vol obrir l'escena importada igualment?" - -#~ msgid "Import Image:" -#~ msgstr "Importa Imatge:" - -#~ msgid "Couldn't localize path: %s (already local)" -#~ msgstr "No s'ha pogut localitzar el camí: %s (ja és local)" - -#~ msgid "3D Scene Animation" -#~ msgstr "Animació d'Escenes 3D" - -#~ msgid "Uncompressed" -#~ msgstr "Sense Compressió" - -#~ msgid "Compress Lossless (PNG)" -#~ msgstr "Compressió sense Pèrdua (PNG)" - -#~ msgid "Compress Lossy (WebP)" -#~ msgstr "Compressió amb Pèrdua (WebP)" - -#~ msgid "Compress (VRAM)" -#~ msgstr "Compressió (VRAM)" - -#~ msgid "Texture Format" -#~ msgstr "Format de Textura" - -#~ msgid "Texture Compression Quality (WebP):" -#~ msgstr "Qualitat de Compressió de Textura (WebP):" - -#~ msgid "Please specify some files!" -#~ msgstr "Cal especificar algun fitxer!" - -#~ msgid "At least one file needed for Atlas." -#~ msgstr "Es necessita com a mínim un fitxer per a l'Atles." - -#, fuzzy -#~ msgid "Invalid project path, project.godot must not exist." -#~ msgstr "El camí de Destinació ha d'existir." - -#, fuzzy -#~ msgid "Invalid project path, project.godot must exist." -#~ msgstr "El camí de Destinació ha d'existir." - -#, fuzzy -#~ msgid "Tiles" -#~ msgstr "Fitxer:" - -#~ msgid "Ctrl+" -#~ msgstr "Ctrl +" - -#~ msgid "Close scene? (Unsaved changes will be lost)" -#~ msgstr "Tanca l'Escena? (Es perdran els canvis sense desar)" - -#~ msgid "" -#~ "Open Project Manager? \n" -#~ "(Unsaved changes will be lost)" -#~ msgstr "" -#~ "Vol Obrir el Gestor de Projectes?\n" -#~ "(Es perdran els canvis sense desar)" - -#~ msgid "Close Goto Prev. Scene" -#~ msgstr "Tanca i Vés a l'Escena anterior" - -#~ msgid "just pressed" -#~ msgstr "premut" - -#, fuzzy -#~ msgid "" -#~ "Couldn't read the certificate file. Are the path and password both " -#~ "correct?" -#~ msgstr "" -#~ "No s'ha pogut llegir el certificat. Comproveu que tant el camí com la " -#~ "contrasenya són correctes" - -#~ msgid "Error creating the package signature." -#~ msgstr "No s'ha pogut crear el paquet signatura." - -#~ msgid "Node From Scene" -#~ msgstr "Node de l'Escena" - -#~ msgid "Import assets to the project." -#~ msgstr "Importa actius al projecte." - -#~ msgid "Export the project to many platforms." -#~ msgstr "Exporta el projecte a diverses plataformes." - -#~ msgid "Alerts when an external resource has changed." -#~ msgstr "Alerta en canviar un recurs extern." - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "" -#~ "Cal que la propietat Camí (Path) assenyali cap a un node Particles2D " -#~ "vàlid." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SamplePlayer to play sound." -#~ msgstr "" -#~ "Cal crear o especificar un recurs SampleLibrary en la propietat 'samples' " -#~ "perquè SamplePlayer pugui reproduir so." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SpatialSamplePlayer to play sound." -#~ msgstr "" -#~ "Cal crear o establir un recurs SampleLibrary en la propietat 'samples' " -#~ "perquè SpatialSamplePlayer pugui reproduir so." - -#~ msgid "Replaced %d Ocurrence(s)." -#~ msgstr "Substituïdes %d ocurrència/es." - -#~ msgid "Save Translatable Strings" -#~ msgstr "Desa els texts Traduïbles" - -#, fuzzy -#~ msgid "Create Android keystore" -#~ msgstr "Crea una Carpeta" - -#, fuzzy -#~ msgid "Organization" -#~ msgstr "Transició" - -#, fuzzy -#~ msgid "Password" -#~ msgstr "Contrasenya:" - -#, fuzzy -#~ msgid "at least 6 characters" -#~ msgstr "Caràcters vàlids:" - -#~ msgid "Project Export Settings" -#~ msgstr "Configuració d'Exportació de Projectes" - -#~ msgid "BakedLightInstance does not contain a BakedLight resource." -#~ msgstr "BakedLightInstance no conté cap recurs BakedLight." - -#~ msgid "" -#~ "Paths cannot start with '/', absolute paths must start with 'res://', " -#~ "'user://', or 'local://'" -#~ msgstr "" -#~ "No es pot començar un camí per '/'. Els camins absoluts han de començar " -#~ "per 'res://', 'user://' o 'local://'" - -#~ msgid "" -#~ "Custom node has no _get_output_port_unsequenced(idx,wmem), but " -#~ "unsequenced ports were specified." -#~ msgstr "" -#~ "El node personalitzat no té _get_output_port_unsequenced(idx,wmem), però " -#~ "s'han especificat ports sense seqüenciar." diff --git a/editor/translations/cs.po b/editor/translations/cs.po index 34de7ebc7a..3e089f5a94 100644 --- a/editor/translations/cs.po +++ b/editor/translations/cs.po @@ -1,6 +1,6 @@ # Czech translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Fadex <vitekpaulik@gmail.com>, 2017. # Jan 'spl!te' Kondelík <j.kondelik@centrum.cz>, 2016, 2018. @@ -27,13 +27,14 @@ # ProfJack <profjackcz@gmail.com>, 2021. # swifterik <blaha.j502@gmail.com>, 2021. # Daniel <dan@ger.cz>, 2021. +# Jakub Janšta <jansta.ja@gmail.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-10-27 21:45+0000\n" -"Last-Translator: Daniel <dan@ger.cz>\n" +"PO-Revision-Date: 2021-12-15 17:40+0000\n" +"Last-Translator: Zbyněk <zbynek.fiala@gmail.com>\n" "Language-Team: Czech <https://hosted.weblate.org/projects/godot-engine/godot/" "cs/>\n" "Language: cs\n" @@ -41,7 +42,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Generator: Weblate 4.9-dev\n" +"X-Generator: Weblate 4.10-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -294,6 +295,7 @@ msgid "Time (s): " msgstr "Čas (s): " #: editor/animation_track_editor.cpp +#, fuzzy msgid "Toggle Track Enabled" msgstr "Povolit stopu" @@ -307,7 +309,7 @@ msgstr "Diskrétní" #: editor/animation_track_editor.cpp msgid "Trigger" -msgstr "Spoušť" +msgstr "Spouštěč" #: editor/animation_track_editor.cpp msgid "Capture" @@ -327,6 +329,7 @@ msgid "Cubic" msgstr "Kubická" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Clamp Loop Interp" msgstr "Interpolace smyčky svorkou" @@ -637,9 +640,8 @@ msgid "Use Bezier Curves" msgstr "Použít Bézierovy křivky" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Create RESET Track(s)" -msgstr "Vložit stopy" +msgstr "Vytvořit RESET stopu/stopy" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" @@ -1380,9 +1382,8 @@ msgid "Bypass" msgstr "Obejít" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Bus Options" -msgstr "Možnosti Busu" +msgstr "Možnosti sběrnice" #: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp @@ -1403,31 +1404,31 @@ msgstr "Zvuk" #: editor/editor_audio_buses.cpp msgid "Add Audio Bus" -msgstr "Přidat Audio Bus" +msgstr "Přidat audio sběrnici" #: editor/editor_audio_buses.cpp msgid "Master bus can't be deleted!" -msgstr "Master bus nelze smazat!" +msgstr "Master sběrnici nelze smazat!" #: editor/editor_audio_buses.cpp msgid "Delete Audio Bus" -msgstr "Smazat Audio Bus" +msgstr "Smazat zvukovou sběrnici" #: editor/editor_audio_buses.cpp msgid "Duplicate Audio Bus" -msgstr "Duplikovat Audio Bus" +msgstr "Duplikovat audio sběrnici" #: editor/editor_audio_buses.cpp msgid "Reset Bus Volume" -msgstr "Obnovit hlasitost Busu" +msgstr "Obnovit hlasitost sběrnice" #: editor/editor_audio_buses.cpp msgid "Move Audio Bus" -msgstr "Přesunout Audio Bus" +msgstr "Přesunout audio sběrnici" #: editor/editor_audio_buses.cpp msgid "Save Audio Bus Layout As..." -msgstr "Uložit rozložení Audio Busu jako..." +msgstr "Uložit rozložení audio sběrnice jako..." #: editor/editor_audio_buses.cpp msgid "Location for New Layout..." @@ -1435,7 +1436,7 @@ msgstr "Umístění pro nové rozložení..." #: editor/editor_audio_buses.cpp msgid "Open Audio Bus Layout" -msgstr "Otevřít rozložení Audio Busu" +msgstr "Otevřít rozložení audio sběrnice" #: editor/editor_audio_buses.cpp msgid "There is no '%s' file." @@ -1447,7 +1448,7 @@ msgstr "Rozložení" #: editor/editor_audio_buses.cpp msgid "Invalid file, not an audio bus layout." -msgstr "Neplatný soubor, neni to rozložení Audio Busu." +msgstr "Neplatný soubor, není rozložení audio sběrnice." #: editor/editor_audio_buses.cpp msgid "Error saving file: %s" @@ -1455,7 +1456,7 @@ msgstr "Chyba při ukládání souboru: %s" #: editor/editor_audio_buses.cpp msgid "Add Bus" -msgstr "Přidat bus" +msgstr "Přidat sběrnici" #: editor/editor_audio_buses.cpp msgid "Add a new Audio Bus to this layout." @@ -2128,14 +2129,33 @@ msgstr "Metody" msgid "Theme Properties" msgstr "Vlastnosti motivu" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Výčty" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "Barvy" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Konstanty" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Fonts" +msgstr "Font" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Icons" +msgstr "Ikona" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Styles" +msgstr "Styl" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Výčty" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Popisy vlastnosti" @@ -6532,9 +6552,8 @@ msgstr "" "Toto je nejrychlejší (ale nejméně přesná) možnost detekce kolizí." #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Simplified Convex Collision Sibling" -msgstr "Vytvořit jediného konvexního kolizního sourozence" +msgstr "Vytvořit zjednodušeného sourozence konvexní kolize" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "" @@ -7228,9 +7247,8 @@ msgid "Occluder Set Transform" msgstr "Promazat transformaci" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Center Node" -msgstr "Vytvořit uzel" +msgstr "Vycentrovat uzel" #: editor/plugins/root_motion_editor_plugin.cpp msgid "AnimationTree has no path set to an AnimationPlayer" @@ -7366,12 +7384,10 @@ msgid "Move Down" msgstr "Přesunout dolů" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Next Script" msgstr "Další skript" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Previous Script" msgstr "Předchozí skript" @@ -7739,9 +7755,8 @@ msgid "Reset to Rest Pose" msgstr "Umístit kosti do klidové pózy" #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Overwrite Rest Pose" -msgstr "Přepsat" +msgstr "Přepsat klidovou pózu" #: editor/plugins/skeleton_editor_plugin.cpp msgid "Create physical bones" @@ -7874,7 +7889,7 @@ msgstr "Posunout" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale" -msgstr "Zvětšit" +msgstr "Měřítko" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scaling: " @@ -8069,9 +8084,8 @@ msgid "Freelook Slow Modifier" msgstr "Zpomalení volného pohledu" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Toggle Camera Preview" -msgstr "Změnit velikost kamery" +msgstr "Přepnout náhled kamery" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Rotation Locked" @@ -8116,7 +8130,6 @@ msgstr "" "Polootevřené oko: Gizmo je viditelné přes neprůhledné (rentgenové) povrchy." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Snap Nodes to Floor" msgstr "Přichytit uzly k podlaze" @@ -8580,21 +8593,6 @@ msgstr "Oblast textury" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Colors" -msgstr "Barva" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Fonts" -msgstr "Font" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Icons" -msgstr "Ikona" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Styleboxes" msgstr "Styl" @@ -8901,18 +8899,16 @@ msgid "Edit Items" msgstr "Upravitelná položka" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Types:" -msgstr "Typ:" +msgstr "Typy:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Type:" -msgstr "Typ:" +msgstr "Přidat typ:" #: editor/plugins/theme_editor_plugin.cpp msgid "Add Item:" -msgstr "Přidat položku:" +msgstr "Přidat prvek:" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -13398,8 +13394,17 @@ msgstr "" "Chcete-li používat doplňky, musí být povoleno \"použít vlastní build\"." #: platform/android/export/export_plugin.cpp +#, fuzzy msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" +"\"Hand Tracking\" je platné pouze v případě, že \"Režim Xr\" má hodnotu " +"\"Oculus Mobile VR\"." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" "\"Hand Tracking\" je platné pouze v případě, že \"Režim Xr\" má hodnotu " "\"Oculus Mobile VR\"." @@ -13411,6 +13416,27 @@ msgstr "" "vlastní sestavu\"." #: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" +"\"Export AAB\" je validní pouze v případě, že je povolena možnost \"Použít " +"vlastní sestavu\"." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" +"\"Export AAB\" je validní pouze v případě, že je povolena možnost \"Použít " +"vlastní sestavu\"." + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " @@ -14543,1067 +14569,3 @@ msgstr "Přiřazeno uniformu." #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Konstanty není možné upravovat." - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "Vytvořit klidovou pózu (z kostí)" - -#~ msgid "Bottom" -#~ msgstr "Dolní" - -#~ msgid "Left" -#~ msgstr "Levý" - -#~ msgid "Right" -#~ msgstr "Pravý" - -#~ msgid "Front" -#~ msgstr "Přední" - -#~ msgid "Rear" -#~ msgstr "Zadní" - -#~ msgid "Nameless gizmo" -#~ msgstr "Gizmo beze jména" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "\"Stupně svobody\" je platné pouze v případě, že \"Xr Mode\" je \"Oculus " -#~ "Mobile VR\"." - -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "\"Focus Awareness\" je platné pouze v případě, že \"Režim Xr\" má hodnotu " -#~ "\"Oculus Mobile VR\"." - -#~ msgid "Package Contents:" -#~ msgstr "Obsah balíčku:" - -#~ msgid "Singleton" -#~ msgstr "Singleton" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Smazat profil '%s'? (bez možnosti vrácení)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Aktivní vlastnosti:" - -#~ msgid "Enabled Features:" -#~ msgstr "Povolené funkce:" - -#~ msgid "Unset" -#~ msgstr "Odznačit" - -#~ msgid "Class Options" -#~ msgstr "Možnosti třídy" - -#~ msgid "Set" -#~ msgstr "Nastavit" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Uloženo %s upravených zdrojů." - -#~ msgid "Q&A" -#~ msgstr "Otázky a odpovědi" - -#~ msgid "Status:" -#~ msgstr "Stav:" - -#~ msgid "Edit:" -#~ msgstr "Upravit:" - -#~ msgid "Redownload" -#~ msgstr "Stáhnout znovu" - -#~ msgid "(Installed)" -#~ msgstr "(Instalováno)" - -#~ msgid "(Missing)" -#~ msgstr "(Nenalezeno)" - -#~ msgid "Request Failed." -#~ msgstr "Požadavek se nezdařil." - -#~ msgid "Redirect Loop." -#~ msgstr "Zacyklené přesměrování." - -#~ msgid "Download Complete." -#~ msgstr "Stahování dokončeno." - -#~ msgid "Remove Template" -#~ msgstr "Odstranit šablonu" - -#~ msgid "Download Templates" -#~ msgstr "Stáhnout šablony" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "Zvolte zrcadlo ze seznamu: (Shift + Klik: Otevřit v prohlížeči)" - -#~ msgid "Move to Trash" -#~ msgstr "Přesunout do koše" - -#~ msgid "Expand All Properties" -#~ msgstr "Rozbalit všechny vlastnosti" - -#~ msgid "Collapse All Properties" -#~ msgstr "Sbalit všechny vlastnosti" - -#~ msgid "Copy Params" -#~ msgstr "Kopírovat parametry" - -#~ msgid "Open in Help" -#~ msgstr "Otevřít v nápovědě" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "Přepsat herní kameru\n" -#~ "Není spuštěna žádná instance hry." - -#~ msgid "Drag: Rotate" -#~ msgstr "Táhnutí: Otočit" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Stisknutím klávesy \"V\" se upraví pivot, stisknutím kláves \"Shift+V\" " -#~ "se posune pivot (při pohybu)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+PTM: Výběr hloubkového seznamu" - -#~ msgid "Clone Down" -#~ msgstr "Duplikovat dolů" - -#~ msgid "Yaw" -#~ msgstr "Náklon" - -#~ msgid "Size" -#~ msgstr "Velikost" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "Táhnutí: Otočit\n" -#~ "Alt+Táhnutí: Přemístit\n" -#~ "Alt+Pravé tlačíko myši: Výběr seznamu hloubky" - -#~ msgid "Sep.:" -#~ msgstr "Oddělovač:" - -#~ msgid "Add All" -#~ msgstr "Přidat vše" - -#~ msgid "Theme editing menu." -#~ msgstr "Menu editace motivu." - -#~ msgid "Create Empty Template" -#~ msgstr "Vytvořit prázdnou šablonu" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "Vytvořit prázdný motiv editoru" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "Vytvořit ze současného motivu editoru" - -#~ msgid "Data Type:" -#~ msgstr "Datový typ:" - -#~ msgid "Theme File" -#~ msgstr "Soubor tématu" - -#~ msgid "Compiled" -#~ msgstr "Zkompilovaný" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "Odebrat %d projekty ze seznamu?\n" -#~ "Obsah složek projektů zůstane nedotčen." - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "Odstranit projekt ze seznamu?\n" -#~ "Obsah složky zůstane nedotčen." - -#~ msgid "Templates" -#~ msgstr "Šablony" - -#~ msgid "Add Remapped Path" -#~ msgstr "Přidat přemapovanou cestu" - -#~ msgid "Can not perform with the root node." -#~ msgstr "Toto nelze provést s kořenovým uzlem." - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "Nebylo možné načíst soubor splash obrázku:" - -#~ msgid "Using default boot splash image." -#~ msgstr "Používám výchozí splash obrázek." - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Přehrávač animace nemůže animovat sám sebe, pouze ostatní přehrávače." - -#~ msgid "Clipboard is empty" -#~ msgstr "Schránka je prázdná" - -#~ msgid "" -#~ "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -#~ msgstr "Uzel InterpolatedCamera je zastaralý a bude odstraněn v Godot 4.0." - -#~ msgid "No" -#~ msgstr "Ne" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Tato scéna nebyla nikdy uložena. Uložit před spuštěním?" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "Spustitelný ADB není nakonfigurovaný v Nastavení Editoru." - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "OpenJDK jarsigner není nakonfigurovaný v Nastavení Editoru." - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "" -#~ "Vlastní sestavení vyžaduje správnou cestu k sadě Android SDK v nastavení " -#~ "editoru." - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(Zbývající čas: %d:%02d s)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "Vykreslení mřížek: " - -#~ msgid "Lighting Meshes: " -#~ msgstr "Osvětlení sítí: " - -#~ msgid "Search complete" -#~ msgstr "Vyhledávání dokončeno" - -#~ msgid "No commit message was provided" -#~ msgstr "Nebyla poskytnuta commit message" - -#~ msgid "Add a commit message" -#~ msgstr "Přidat zprávu commitu" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "Soubor nebo složka se stejným názvem již na tomto místě existuje." - -#~ msgid "Unable to complete APK alignment." -#~ msgstr "Nelze dokončit zarovnání APK." - -#~ msgid "Unable to delete unaligned APK." -#~ msgstr "Nelze odstranit nezarovnané APK." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Chyba při pokusu uložit rozložení!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Výchozí rozložení editoru přepsáno." - -#~ msgid "Move pivot" -#~ msgstr "Přemístit pivot" - -#~ msgid "Move anchor" -#~ msgstr "Přesunout kotvu" - -#~ msgid "Resize CanvasItem" -#~ msgstr "Změnit velikost CanvasItem" - -#~ msgid "Polygon->UV" -#~ msgstr "Polygon->UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV->Polygon" - -#, fuzzy -#~ msgid "Add initial export..." -#~ msgstr "Přidat vstup" - -#, fuzzy -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "Odstranit" - -#, fuzzy -#~ msgid "Patches" -#~ msgstr "Shody:" - -#~ msgid "Pack File" -#~ msgstr "Soubour balíčk" - -#, fuzzy -#~ msgid "FileSystem and Import Docks" -#~ msgstr "Souborový systém" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "Při exportu nebo nasazení, se výsledný spustitelný soubor pokusí připojit " -#~ "k IP tohoto počítače, aby ho bylo možné ladit." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "" -#~ "Aktuální scéna nebyla nikdy uložena, prosím uložte jí před spuštěním." - -#~ msgid "Revert" -#~ msgstr "Vrátit zpět" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Tuto akci nelze vrátit zpět. Pokračovat?" - -#~ msgid "Revert Scene" -#~ msgstr "Vrátit scénu" - -#~ msgid "Clear Script" -#~ msgstr "Vymazat skript" - -#~ msgid "Issue Tracker" -#~ msgstr "Sledování chyb" - -#~ msgid "Request Docs" -#~ msgstr "Požádat o dokumentaci" - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "Nahrazeno %d výskytů." - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "V současné době pro tuto třídu neexistují žádné návody, můžete nějaký " -#~ "[color=$color][url=$url]vytvořit[/url][/color] nebo o něj [color=$color]" -#~ "[url=$url2]zažádat[/url][/color]." - -#~ msgid "enum " -#~ msgstr "výčet " - -#~ msgid "Brief Description" -#~ msgstr "Stručný popis" - -#~ msgid "Class Description" -#~ msgstr "Popis třídy" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "Export projektu selhal s chybovým kódem %d." - -#~ msgid "Password:" -#~ msgstr "Heslo:" - -#~ msgid "Pause the scene" -#~ msgstr "Pozastavit scénu" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Control+" -#~ msgstr "Ctrl+" - -#, fuzzy -#~ msgid "Snap to Grid" -#~ msgstr "Přichytit k mřížce" - -#, fuzzy -#~ msgid "Add input +" -#~ msgstr "Přidat vstup" - -#~ msgid "Language" -#~ msgstr "Jazyk" - -#~ msgid "Inherits" -#~ msgstr "Dědí" - -#~ msgid "Base Type:" -#~ msgstr "Základní typ:" - -#~ msgid "Available Nodes:" -#~ msgstr "Dostupné uzly:" - -#~ msgid "Input" -#~ msgstr "Vstup" - -#~ msgid "Methods:" -#~ msgstr "Metody:" - -#~ msgid "Theme Properties:" -#~ msgstr "Vlastnosti motivu:" - -#~ msgid "Enumerations:" -#~ msgstr "Výčty:" - -#~ msgid "Constants:" -#~ msgstr "Konstanty:" - -#~ msgid "Class Description:" -#~ msgstr "Popis třídy:" - -#~ msgid "Property Descriptions:" -#~ msgstr "Popis vlastnosti:" - -#~ msgid "Method Descriptions:" -#~ msgstr "Popis metody:" - -#, fuzzy -#~ msgid "Reverse sorting." -#~ msgstr "Posílá se žádost..." - -#~ msgid "Delete Node(s)?" -#~ msgstr "Odstranit uzel/uzly?" - -#~ msgid "No Matches" -#~ msgstr "Žádné shody" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "Nelze otevřít file_type_cache.cch pro zápis, cache typů souborů není " -#~ "ukládána!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "Nelze přejít k '%s', protože nebylo nalezeno v souborovém systému!" - -#~ msgid "Error loading image:" -#~ msgstr "Chyba při nahrávání obrázku:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "Žádný pixel s průhledností > 128 v obrázku..." - -#~ msgid "Error: could not load file." -#~ msgstr "Chyba: nelze načíst soubor." - -#, fuzzy -#~ msgid "Doppler Enable" -#~ msgstr "Povolit" - -#~ msgid "Select Mode (Q)" -#~ msgstr "Režim výběru (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "Režim posunu (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "Režim otáčení (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "Režim zvětšování (R)" - -#~ msgid "Local Coords" -#~ msgstr "Místní souřadnice" - -#~ msgid "Snap Mode (%s)" -#~ msgstr "Režim přichycení (%s)" - -#~ msgid "Tool Select" -#~ msgstr "Nástroj Výběr" - -#~ msgid "Tool Move" -#~ msgstr "Nástroj Přesunout" - -#~ msgid "Tool Rotate" -#~ msgstr "Nástroj Otočit" - -#~ msgid "Tool Scale" -#~ msgstr "Nástroj Zvětšení" - -#, fuzzy -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "Odstranit projekt ze seznamu? (Obsah složky zůstane nedotčen)" - -#~ msgid "Project List" -#~ msgstr "Seznam projektů" - -#~ msgid "Exit" -#~ msgstr "Ukončit" - -#~ msgid "Error initializing FreeType." -#~ msgstr "Chyba při inicializaci FreeType." - -#~ msgid "Unknown font format." -#~ msgstr "Neznámý formát fontu." - -#~ msgid "Error loading font." -#~ msgstr "Chyba nahrávání fontu." - -#~ msgid "Invalid font size." -#~ msgstr "Neplatná velikost fontu." - -#~ msgid "Previous Folder" -#~ msgstr "Předchozí složka" - -#~ msgid "Next Folder" -#~ msgstr "Další složka" - -#, fuzzy -#~ msgid "Open in an external image editor." -#~ msgstr "Otevřít další editor" - -#~ msgid "Reverse" -#~ msgstr "Naopak" - -#~ msgid "Mirror X" -#~ msgstr "Zrcadlit X" - -#~ msgid "Mirror Y" -#~ msgstr "Zrcadlit Y" - -#~ msgid "Generating solution..." -#~ msgstr "Generování řešení..." - -#~ msgid "Generating C# project..." -#~ msgstr "Generování C# projektu..." - -#~ msgid "Failed to create solution." -#~ msgstr "Nepodařilo se vytvořit řešení." - -#~ msgid "Failed to save solution." -#~ msgstr "Nepodařilo se uložit řešení." - -#~ msgid "Failed to create C# project." -#~ msgstr "Vytvoření C# projektu selhalo." - -#~ msgid "Mono" -#~ msgstr "Mono" - -#~ msgid "About C# support" -#~ msgstr "O podpoře C#" - -#~ msgid "Create C# solution" -#~ msgstr "Vytvořit C# řešení" - -#~ msgid "Builds" -#~ msgstr "Sestavení" - -#~ msgid "View log" -#~ msgstr "Zobrazit logy" - -#, fuzzy -#~ msgid "Enabled Classes" -#~ msgstr "Hledat třídy" - -#~ msgid "Update Always" -#~ msgstr "Aktualizovat vždy" - -#~ msgid "Path to Node:" -#~ msgstr "Cesta k uzlu:" - -#~ msgid "Delete selected files?" -#~ msgstr "Odstranit vybrané soubory?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "Soubor 'res://default_bus_layout.tres' neexistuje." - -#~ msgid "Go to parent folder" -#~ msgstr "Jít na nadřazenou složku" - -#~ msgid "Open Scene(s)" -#~ msgstr "Otevřít scénu(y)" - -#~ msgid "Previous Directory" -#~ msgstr "Předchozí složka" - -#~ msgid "Next Directory" -#~ msgstr "Následující složka" - -#, fuzzy -#~ msgid "Ease in" -#~ msgstr "Změnit měřítko výběru" - -#~ msgid "CheckBox Radio1" -#~ msgstr "CheckBox Radio1" - -#~ msgid "CheckBox Radio2" -#~ msgstr "CheckBox Radio2" - -#~ msgid "Create folder" -#~ msgstr "Vytvořit složku" - -#~ msgid "Custom Node" -#~ msgstr "Vlastní uzel" - -#~ msgid "Invalid Path" -#~ msgstr "Neplatná cesta" - -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "GridMap Duplikovat výběr" - -#~ msgid "Create Area" -#~ msgstr "Vytvořit plochu" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "Upravit argumenty signálu:" - -#~ msgid "Edit Variable:" -#~ msgstr "Upravit proměnnou:" - -#~ msgid "Snap (s): " -#~ msgstr "Přichycení (s): " - -#~ msgid "Insert keys." -#~ msgstr "Vložit klíče." - -#, fuzzy -#~ msgid "Font Size:" -#~ msgstr "Pohled zepředu" - -#~ msgid "Line:" -#~ msgstr "Řádek:" - -#~ msgid "Col:" -#~ msgstr "Sloupec:" - -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "OrientedPathFollow funguje pouze když je dítětem uzlu Path." - -#, fuzzy -#~ msgid "Add Split" -#~ msgstr "Přidat bod" - -#, fuzzy -#~ msgid "Invalid Split: " -#~ msgstr "Neplatná cesta" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "Odstranit bod" - -#, fuzzy -#~ msgid "Splits" -#~ msgstr "Rozdělit cestu" - -#~ msgid "Add Node.." -#~ msgstr "Přidat uzel.." - -#~ msgid "Create from scene?" -#~ msgstr "Vytvořit ze scény?" - -#~ msgid "Create Poly" -#~ msgstr "Vytvořit polygon" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "Oddálit" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "Přiblížit" - -#~ msgid "Create Poly3D" -#~ msgstr "Vytvořit Poly3D" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "Na tomto uzlu není žádný OccluderPolygon2D.\n" -#~ "Vytvořit a přiřadit k tomuto uzlu?" - -#~ msgid "LMB: Move Point." -#~ msgstr "LMB: Přesunout bod." - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl+LMB: Rozdělit segment." - -#~ msgid "RMB: Erase Point." -#~ msgstr "RMB: Vymazat bod." - -#~ msgid "Save Theme As" -#~ msgstr "Uložit motiv jako" - -#~ msgid "<None>" -#~ msgstr "<Žádné>" - -#~ msgid "Zoom:" -#~ msgstr "Přiblížit:" - -#~ msgid "Class List:" -#~ msgstr "Seznam tříd:" - -#~ msgid "Public Methods" -#~ msgstr "Veřejné metody" - -#~ msgid "Public Methods:" -#~ msgstr "Veřejné metody:" - -#~ msgid "Property: " -#~ msgstr "Vlastnost: " - -#, fuzzy -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Zobrazit oblíbené" - -#, fuzzy -#~ msgid "Show current scene file." -#~ msgstr "Vytvořit složku" - -#~ msgid "Whole words" -#~ msgstr "Celá slova" - -#~ msgid "Match case" -#~ msgstr "Rozlišovat velikost písmen" - -#~ msgid "Ok" -#~ msgstr "Ok" - -#~ msgid "Show In File System" -#~ msgstr "Zobrazit v systému souborů" - -#~ msgid "Search the class hierarchy." -#~ msgstr "Hledat v hierarchii tříd." - -#~ msgid "Search in files" -#~ msgstr "Hledat v souborech" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "" -#~ "Vestavěné skripty lze editovat pouze pokud scéna, které náleží, je načtená" - -#~ msgid "Convert To Uppercase" -#~ msgstr "Konvertovat na velká písmena" - -#~ msgid "Convert To Lowercase" -#~ msgstr "Konvertovat na malá písmena" - -#~ msgid "Rotate 0 degrees" -#~ msgstr "Otočit o 0 stupňů" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "Otočit o 90 stupňů" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "Otočit o 180 stupňů" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "Otočit o 270 stupňů" - -#~ msgid "Errors:" -#~ msgstr "Chyby:" - -#~ msgid "Get" -#~ msgstr "Získat" - -#~ msgid "Change RGB Constant" -#~ msgstr "Změna RGB konstanty" - -#~ msgid "Change RGB Operator" -#~ msgstr "Změnit RGB operátor" - -#~ msgid "Change Vec Function" -#~ msgstr "Změnit vektorovou funkci" - -#~ msgid "Change Default Value" -#~ msgstr "Změnit výchozí hodnotu" - -#~ msgid "Change Comment" -#~ msgstr "Změnit komentář" - -#~ msgid "Modify Curve Map" -#~ msgstr "Upravit mapu křivky" - -#~ msgid "Connect Graph Nodes" -#~ msgstr "Propojit uzly grafu" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Posun stopy animace nahoru" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Posun stopy animace dolů" - -#~ msgid "Set Transitions to:" -#~ msgstr "Změna přechodů na:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Animace: změna interpolace stopy" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Animace: změna typu hodnot" - -#, fuzzy -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Animace: Změna režimu opakování animační stopy" - -#~ msgid "Edit Node Curve" -#~ msgstr "Úprava křivky uzlu" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Úprava vybraných křivek" - -#~ msgid "Anim Add Key" -#~ msgstr "Animace: přidat klíč" - -#~ msgid "In" -#~ msgstr "In" - -#~ msgid "Out" -#~ msgstr "Výstup" - -#~ msgid "In-Out" -#~ msgstr "Vstup-Výstup" - -#~ msgid "Out-In" -#~ msgstr "Výstup-Vstup" - -#~ msgid "Change Anim Len" -#~ msgstr "Změnit délku animace" - -#~ msgid "Change Anim Loop" -#~ msgstr "Změnit opakování animace" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Animace: Vytvořit typovaný klíč" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Animace: přidat stopu volání" - -#~ msgid "Length (s):" -#~ msgstr "Délka (s):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "Krokování kurzoru (v sekundách)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Zapnout/vypnout opakování animace." - -#~ msgid "Add new tracks." -#~ msgstr "Přidat novou stopu." - -#~ msgid "Move current track up." -#~ msgstr "Posunout aktuální stopu nahoru." - -#~ msgid "Move current track down." -#~ msgstr "Posunout aktuální stopu dolů." - -#~ msgid "Track tools" -#~ msgstr "Nástroje stopy" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Kliknutím na klíče zapnete jejich individuální úpravu." - -#~ msgid "Key" -#~ msgstr "Klíč" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Ze kterého uzlu volej funkce?" - -#~ msgid "Thanks!" -#~ msgstr "Díky!" - -#~ msgid "I see..." -#~ msgstr "Chápu..." - -#~ msgid "Ugh" -#~ msgstr "Ups" - -#~ msgid "Run Script" -#~ msgstr "Spustit skript" - -#~ msgid "Stop Profiling" -#~ msgstr "Zastavit profilování" - -#~ msgid "Start Profiling" -#~ msgstr "Spustit profilování" - -#~ msgid "Load animation from disk." -#~ msgstr "Načíst animaci z disku." - -#~ msgid "Load an animation from disk." -#~ msgstr "Načíst animaci z disku." - -#~ msgid "Copy Animation" -#~ msgstr "Kopírovat animaci" - -#~ msgid "Fetching:" -#~ msgstr "Stahuji:" - -#~ msgid "prev" -#~ msgstr "předchozí" - -#~ msgid "next" -#~ msgstr "následující" - -#~ msgid "last" -#~ msgstr "poslední" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "Nastavit střed na pozici myši" - -#~ msgid "OK :(" -#~ msgstr "OK :(" - -#~ msgid "Texture Region Editor" -#~ msgstr "Editor oblasti textury" - -#~ msgid "Item name or ID:" -#~ msgstr "Název položky nebo ID:" - -#~ msgid "Export templates for this platform are missing/corrupted: " -#~ msgstr "Exportní šablony pro tuto platformu chybí nebo jsou poškozené: " - -#~ msgid "Button 8" -#~ msgstr "Tlačítko č. 8" - -#~ msgid "Button 9" -#~ msgstr "Tlačítko č. 9" - -#~ msgid "Condition" -#~ msgstr "Podmínka" - -#~ msgid "Sequence" -#~ msgstr "Sekvence" - -#~ msgid "Iterator" -#~ msgstr "Iterátor" - -#~ msgid "Return" -#~ msgstr "Vrátit" - -#~ msgid "Call" -#~ msgstr "Zavolat" - -#~ msgid "Edit Signal" -#~ msgstr "Upravit signál" - -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "Nesmí obsaovat '/' nebo ':'" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "Neplatný formát version.txt uvnitř šablon. Revize není platný " -#~ "identifikátor." - -#~ msgid "Can't write file." -#~ msgstr "Nelze zapsat soubor." - -#~ msgid "Replace By" -#~ msgstr "Nahradit" - -#~ msgid "Backwards" -#~ msgstr "Pozpátku" - -#~ msgid "Prompt On Replace" -#~ msgstr "Potvrzovat nahrazení" - -#~ msgid "Skip" -#~ msgstr "Přeskočit" - -#~ msgid "List:" -#~ msgstr "Seznam:" - -#, fuzzy -#~ msgid "" -#~ "\n" -#~ "Source: " -#~ msgstr "Zdroj" - -#, fuzzy -#~ msgid "Add Point to Line2D" -#~ msgstr "Běž na řádek" - -#, fuzzy -#~ msgid "Setting '" -#~ msgstr "Testované" - -#, fuzzy -#~ msgid "Selection -> Duplicate" -#~ msgstr "Pouze výběr" - -#, fuzzy -#~ msgid "Selection -> Clear" -#~ msgstr "Pouze výběr" - -#~ msgid "" -#~ "Path property must point to a valid Viewport node to work. Such Viewport " -#~ "must be set to 'render target' mode." -#~ msgstr "" -#~ "Pro zajištění funkčností musí vlastnost path ukazovat na platný uzel " -#~ "Viewport. Takový Viewport musí být nastaven do módu 'render target'." - -#~ msgid "" -#~ "The Viewport set in the path property must be set as 'render target' in " -#~ "order for this sprite to work." -#~ msgstr "" -#~ "Aby tento sprite mohl fungovat, Viewport nastavený ve vlastnosti path " -#~ "musí být nastaven do módu 'render target'." - -#~ msgid "Method List For '%s':" -#~ msgstr "Seznam metod '%s':" - -#~ msgid "Return:" -#~ msgstr "Vrátit:" - -#~ msgid "Invalid font custom source." -#~ msgstr "Nevalidní písmo z vlastního zdroje." - -#~ msgid "Ctrl+" -#~ msgstr "Ctrl+" - -#~ msgid "just pressed" -#~ msgstr "právě stisknuto" - -#, fuzzy -#~ msgid "" -#~ "Couldn't read the certificate file. Are the path and password both " -#~ "correct?" -#~ msgstr "" -#~ "Nepodařilo se přečíst soubor certifikátu. Jsou cesta a heslo obě korektní?" - -#~ msgid "Error creating the package signature." -#~ msgstr "Chyba při vytváření podpisu balíčku." - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "" -#~ "Aby ParticleAttractor2D fungoval, musí vlastnost path ukazovat na platný " -#~ "uzel Particles2D." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SamplePlayer to play sound." -#~ msgstr "" -#~ "Zdroj SampleLibrary musí být vytvořen nebo nastaven jako vlastnost " -#~ "'samples', aby mohl SamplePlayer přehrát zvuk." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SpatialSamplePlayer to play sound." -#~ msgstr "" -#~ "Zdroj SampleLibrary musí být vytvořen nebo nastaven jako vlastnost " -#~ "'samples', aby mohl SpatialSamplePlayer přehrát zvuk." - -#~ msgid "Replaced %d Ocurrence(s)." -#~ msgstr "Nahrazeno %d výskytů." - -#, fuzzy -#~ msgid "Create Android keystore" -#~ msgstr "Vytvořit složku" - -#, fuzzy -#~ msgid "Organization" -#~ msgstr "Přechod" - -#, fuzzy -#~ msgid "at least 6 characters" -#~ msgstr "Platné znaky:" - -#~ msgid "BakedLightInstance does not contain a BakedLight resource." -#~ msgstr "BakedLightInstance neobsahuje zdroj BakedLight." diff --git a/editor/translations/da.po b/editor/translations/da.po index 12df305276..a09d5c3d99 100644 --- a/editor/translations/da.po +++ b/editor/translations/da.po @@ -1,6 +1,6 @@ # Danish translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Dankse Memes <purplelops@gmail.com>, 2018. # David Lamhauge <davidlamhauge@gmail.com>, 2016, 2018. @@ -2214,14 +2214,30 @@ msgstr "Metoder" msgid "Theme Properties" msgstr "Tema Egenskaber" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Tællinger" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Konstanter" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Tællinger" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Egenskab beskrivelser" @@ -8878,18 +8894,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -13754,7 +13758,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -13763,6 +13772,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14851,650 +14875,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Konstanter kan ikke ændres." - -#, fuzzy -#~ msgid "Package Contents:" -#~ msgstr "Indhold:" - -#~ msgid "Singleton" -#~ msgstr "Singleton" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Slet profil '%s'? (kan ikke fortrydes)" - -#, fuzzy -#~ msgid "Enabled Properties:" -#~ msgstr "Tema Egenskaber:" - -#, fuzzy -#~ msgid "Class Options" -#~ msgstr "Klasse beskrivelse" - -#, fuzzy -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Fejler med at indlæse ressource." - -#~ msgid "Q&A" -#~ msgstr "Spørgsmål og Svar" - -#~ msgid "Status:" -#~ msgstr "Status:" - -#~ msgid "Edit:" -#~ msgstr "Rediger:" - -#, fuzzy -#~ msgid "Redownload" -#~ msgstr "Gen-Download" - -#~ msgid "(Installed)" -#~ msgstr "(Installeret)" - -#~ msgid "(Missing)" -#~ msgstr "(Mangler)" - -#~ msgid "Request Failed." -#~ msgstr "Forespørgsel mislykkedes." - -#~ msgid "Redirect Loop." -#~ msgstr "Omdiriger Løkke." - -#~ msgid "Download Complete." -#~ msgstr "Download fuldført." - -#~ msgid "Remove Template" -#~ msgstr "Fjern Template" - -#~ msgid "Download Templates" -#~ msgstr "Download Skabeloner" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "Vælg spejl fra liste: (Shift+Click: Åbn i Browser)" - -#, fuzzy -#~ msgid "Move to Trash" -#~ msgstr "Flyt Autoload" - -#, fuzzy -#~ msgid "Expand All Properties" -#~ msgstr "Udvid alle egenskaber" - -#~ msgid "Copy Params" -#~ msgstr "Kopier Parametre" - -#~ msgid "Open in Help" -#~ msgstr "Åben i Hjælp" - -#, fuzzy -#~ msgid "Theme File" -#~ msgstr "Åben en Fil" - -#~ msgid "Templates" -#~ msgstr "Skabeloner" - -#, fuzzy -#~ msgid "Could not read boot splash image file:" -#~ msgstr "Kan ikke læse boot splash billed fil:\n" - -#, fuzzy -#~ msgid "Using default boot splash image." -#~ msgstr "Kan ikke læse boot splash billed fil:\n" - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "En animationsafspiller kan ikke animerer sig selv, kun andre afspillere." - -#~ msgid "Clipboard is empty" -#~ msgstr "Udklipsholder er tom" - -#~ msgid "No" -#~ msgstr "Nej" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Denne scene er aldrig blevet gemt. Gem før kørsel?" - -#, fuzzy -#~ msgid "Search complete" -#~ msgstr "Søg Tekst" - -#, fuzzy -#~ msgid "No commit message was provided" -#~ msgstr "Intet navn angivet" - -#, fuzzy -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "En fil eller mappe med dette navn findes allerede." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Fejl, under forsøg på at gemme layout!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Standard editor layout overskrevet." - -#, fuzzy -#~ msgid "Move pivot" -#~ msgstr "Fjern punkt" - -#, fuzzy -#~ msgid "Add initial export..." -#~ msgstr "Tilføj punkt" - -#~ msgid "Patches" -#~ msgstr "Patches" - -#, fuzzy -#~ msgid "Pack File" -#~ msgstr " Filer" - -#, fuzzy -#~ msgid "FileSystem and Import Docks" -#~ msgstr "Fil System" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "Ved eksport eller deploy, vil den resulterende eksekverbare fil forsøge " -#~ "at oprette forbindelse til denne computers IP adresse for at blive " -#~ "debugged." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "Den nuværende scene er aldrig gemt, venligst gem før du kører den." - -#~ msgid "Revert" -#~ msgstr "Vend tilbage" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Denne handling kan ikke fortrydes. Vend tilbage alligevel?" - -#~ msgid "Issue Tracker" -#~ msgstr "Problem Tracker" - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "Erstattede %d forekomst(er)." - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Der er i øjeblikket ingen vejledninger for denne klasse, du kan [color=" -#~ "$color][url=$url]bidrage med en[/url][/color] eller [color=$color][url=" -#~ "$url2]anmode en[/url][/color]." - -#~ msgid "enum " -#~ msgstr "enum " - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "Kort Beskrivelse:" - -#~ msgid "Class Description" -#~ msgstr "Klasse beskrivelse" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "Projekt eksport fejlede med fejlkode %d." - -#~ msgid "Password:" -#~ msgstr "Kodeord:" - -#~ msgid "Pause the scene" -#~ msgstr "Sæt scenen på pause" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt +" - -#, fuzzy -#~ msgid "Add input +" -#~ msgstr "Tilføj punkt" - -#~ msgid "Available Nodes:" -#~ msgstr "Tilgængelige Noder:" - -#~ msgid "Methods:" -#~ msgstr "Metoder:" - -#~ msgid "Theme Properties:" -#~ msgstr "Tema Egenskaber:" - -#~ msgid "Constants:" -#~ msgstr "Konstanter:" - -#~ msgid "Class Description:" -#~ msgstr "Klasse beskrivelse:" - -#~ msgid "Property Descriptions:" -#~ msgstr "Egenskab beskrivelser:" - -#~ msgid "Method Descriptions:" -#~ msgstr "Metode beskrivelser:" - -#, fuzzy -#~ msgid "Reverse sorting." -#~ msgstr "Anmoder..." - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "Kan ikke skrive til file_type_cache.cch. Gemmer ikke fil type cache!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "Kan ikke navigere til '%s' da det ikke blev fundet i filsystemet!" - -#, fuzzy -#~ msgid "Error: could not load file." -#~ msgstr "Fejl - kunne ikke oprette script i filsystem." - -#, fuzzy -#~ msgid "Select Mode (Q)" -#~ msgstr "Vælg Mode (Q)\n" - -#, fuzzy -#~ msgid "Snap Mode (%s)" -#~ msgstr "Vælg Mode (Q)\n" - -#~ msgid "Tool Select" -#~ msgstr "Vælg værktøj" - -#~ msgid "Error initializing FreeType." -#~ msgstr "Fejl under initialisering af FreeType." - -#~ msgid "Unknown font format." -#~ msgstr "Ukendt skrifttypeformat." - -#~ msgid "Error loading font." -#~ msgstr "Error loading skrifttype." - -#~ msgid "Invalid font size." -#~ msgstr "Ugyldig skriftstørrelse." - -#, fuzzy -#~ msgid "Previous Folder" -#~ msgstr "Forrige fane" - -#, fuzzy -#~ msgid "Next Folder" -#~ msgstr "Opret Mappe" - -#, fuzzy -#~ msgid "Open in an external image editor." -#~ msgstr "Åbn næste Editor" - -#~ msgid "Reverse" -#~ msgstr "Omvendt" - -#, fuzzy -#~ msgid "Failed to create solution." -#~ msgstr "Fejler med at indlæse ressource." - -#, fuzzy -#~ msgid "Failed to save solution." -#~ msgstr "Fejler med at indlæse ressource." - -#, fuzzy -#~ msgid "Failed to create C# project." -#~ msgstr "Fejler med at indlæse ressource." - -#, fuzzy -#~ msgid "Create C# solution" -#~ msgstr "Opret Abonnement" - -#, fuzzy -#~ msgid "View log" -#~ msgstr "Vis filer" - -#, fuzzy -#~ msgid "Enabled Classes" -#~ msgstr "Søg Classes" - -#~ msgid "Update Always" -#~ msgstr "Altid Opdater" - -#~ msgid "Path to Node:" -#~ msgstr "Sti til Node:" - -#~ msgid "Delete selected files?" -#~ msgstr "Slet markerede filer?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "Der er ingen 'res://default_bus_layout.tres' fil." - -#~ msgid "Go to parent folder" -#~ msgstr "Gå til overliggende mappe" - -#, fuzzy -#~ msgid "Open Scene(s)" -#~ msgstr "Åbn Scene" - -#~ msgid "Previous Directory" -#~ msgstr "Forrige Mappe" - -#~ msgid "Next Directory" -#~ msgstr "Næste Mappe" - -#, fuzzy -#~ msgid "Create folder" -#~ msgstr "Opret mappe" - -#~ msgid "Invalid Path" -#~ msgstr "Ugyldig sti" - -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "GridMap Duplikér Markerede" - -#~ msgid "Create Area" -#~ msgstr "Opret Area" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "Rediger Signal argumenter:" - -#~ msgid "Edit Variable:" -#~ msgstr "Rediger Variabel:" - -#~ msgid "Line:" -#~ msgstr "Linje:" - -#~ msgid "Col:" -#~ msgstr "Kol:" - -#, fuzzy -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "" -#~ "PathFollow2D virker kun, når den angives som et barn af en Path2D node." - -#, fuzzy -#~ msgid "Add Split" -#~ msgstr "Tilføj punkt" - -#, fuzzy -#~ msgid "Invalid Split: " -#~ msgstr "Ugyldig sti" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "Fjern punkt" - -#, fuzzy -#~ msgid "Poly" -#~ msgstr "Rediger Poly" - -#, fuzzy -#~ msgid "Add Node.." -#~ msgstr "Tilføj Node" - -#~ msgid "Create Poly" -#~ msgstr "Opret Poly" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "Opret en ny polygon fra start" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "Zoom Ud" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "Zoom Ind" - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "Zoom Ind" - -#~ msgid "Class List:" -#~ msgstr "Class Liste:" - -#~ msgid "Public Methods" -#~ msgstr "Public Methods" - -#~ msgid "Public Methods:" -#~ msgstr "Public Methods:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "GUI Temaelementer:" - -#, fuzzy -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Skift mappe status til Favorit" - -#, fuzzy -#~ msgid "Show current scene file." -#~ msgstr "Gem den aktuelt redigerede ressource." - -#, fuzzy -#~ msgid "Whole words" -#~ msgstr "Hele Ord" - -#, fuzzy -#~ msgid "Match case" -#~ msgstr "Match stor/lille" - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "Søg Classes" - -#~ msgid "Convert To Lowercase" -#~ msgstr "Konverter til små bogstaver" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Flyt Anim Spor Op" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Flyt Anim Spor Ned" - -#~ msgid "Set Transitions to:" -#~ msgstr "Sæt Overgange til:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Anim Skift Spor Interpolation" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Anim Skift Sport Værdi Mode" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Anim Skift Spor Wrap Mode" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Rediger Valgte Kurve" - -#~ msgid "Anim Add Key" -#~ msgstr "Anim Tilføj Nøgle" - -#~ msgid "In" -#~ msgstr "I" - -#~ msgid "Out" -#~ msgstr "Ud" - -#~ msgid "In-Out" -#~ msgstr "Ind-Ud" - -#~ msgid "Out-In" -#~ msgstr "Ud-Ind" - -#~ msgid "Change Anim Len" -#~ msgstr "Ændre Anim Længde" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Anim Opret Indtastet Værdi Nøgle" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Anim tilføj Call Track" - -#~ msgid "Length (s):" -#~ msgstr "Længde (r):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "Cursor trin snap (i sekunder)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Aktiver/Deaktivér løkker i animation." - -#~ msgid "Add new tracks." -#~ msgstr "Tilføje nye spor." - -#~ msgid "Move current track up." -#~ msgstr "Flyt aktuelle spor op." - -#~ msgid "Move current track down." -#~ msgstr "Flyt aktuelle spor ned." - -#~ msgid "Track tools" -#~ msgstr "Spor værktøjer" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Aktivere redigering af individuelle nøgler ved at klikke på dem." - -#~ msgid "Key" -#~ msgstr "Nøgle" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Kald funktioner i hvilken Node?" - -#~ msgid "Thanks!" -#~ msgstr "Tak!" - -#~ msgid "I see..." -#~ msgstr "Jeg forstår..." - -#, fuzzy -#~ msgid "Ugh" -#~ msgstr "Ugh" - -#~ msgid "Stop Profiling" -#~ msgstr "Stop Profilering" - -#~ msgid "Start Profiling" -#~ msgstr "Start Profilering" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "Standard (Samme som Editor)" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "Sæt midtpunkt på musens position" - -#~ msgid "Condition" -#~ msgstr "Tilstand" - -#~ msgid "Return" -#~ msgstr "Retur" - -#~ msgid "Call" -#~ msgstr "Kald" - -#~ msgid "Edit Signal" -#~ msgstr "Rediger Signal" - -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "Kan ikke indeholde '/' eller ':'" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "Ugyldigt version.txt format inde i skabeloner. Revision er ikke en gyldig " -#~ "identifikator." - -#~ msgid "Can't write file." -#~ msgstr "Kan ikke skrive til fil." - -#~ msgid "Replace By" -#~ msgstr "Erstattes Af" - -#~ msgid "Backwards" -#~ msgstr "Tilbage" - -#~ msgid "Prompt On Replace" -#~ msgstr "Spørg Ved Erstatning" - -#~ msgid "Skip" -#~ msgstr "Spring Over" - -#~ msgid "Move Add Key" -#~ msgstr "Flyt Add Key" - -#~ msgid "List:" -#~ msgstr "Liste:" - -#, fuzzy -#~ msgid "Add Point to Line2D" -#~ msgstr "Gå til linje" - -#~ msgid "Meta+" -#~ msgstr "Meta +" - -#, fuzzy -#~ msgid "Selection -> Duplicate" -#~ msgstr "Kun Valgte" - -#, fuzzy -#~ msgid "Selection -> Clear" -#~ msgstr "Kun Valgte" - -#~ msgid "" -#~ "Path property must point to a valid Viewport node to work. Such Viewport " -#~ "must be set to 'render target' mode." -#~ msgstr "" -#~ "Egenskaben Path skal pege på en gyldig Viewport node for at virke. Sådan " -#~ "en Viewport skal indstilles til 'render target' tilstand." - -#~ msgid "" -#~ "The Viewport set in the path property must be set as 'render target' in " -#~ "order for this sprite to work." -#~ msgstr "" -#~ "Viewport angivet i egenskaben path skal indstilles som 'render target' " -#~ "for at denne sprite kan virke." - -#~ msgid "Method List For '%s':" -#~ msgstr "Metode liste For '%s':" - -#~ msgid "Return:" -#~ msgstr "Tilbage:" - -#, fuzzy -#~ msgid "Tiles" -#~ msgstr "Fil:" - -#~ msgid "Ctrl+" -#~ msgstr "CTRL +" - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "" -#~ "Egenskaben Path skal pege på en gyldig Particles2D node for at virke." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SamplePlayer to play sound." -#~ msgstr "" -#~ "En SampleLibrary ressource skal oprettes eller angives i egenskaben " -#~ "'samples' for at SamplePlayer kan afspille lyd." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SpatialSamplePlayer to play sound." -#~ msgstr "" -#~ "En SampleLibrary ressource skal oprettes eller angives i egenskaben " -#~ "'samples' for at SpatialSamplePlayer kan afspille lyd." - -#~ msgid "Replaced %d Ocurrence(s)." -#~ msgstr "Erstattede %d tilfælde." - -#, fuzzy -#~ msgid "Create Android keystore" -#~ msgstr "Opret mappe" - -#, fuzzy -#~ msgid "Organization" -#~ msgstr "Overgang" - -#~ msgid "BakedLightInstance does not contain a BakedLight resource." -#~ msgstr "BakedLightInstance indeholder ikke en BakedLight ressource." - -#~ msgid "" -#~ "Custom node has no _get_output_port_unsequenced(idx,wmem), but " -#~ "unsequenced ports were specified." -#~ msgstr "" -#~ "Brugerdefineret node har ingen _get_output_port_unsequenced(idx,wmem), " -#~ "men unsequenced porte blev angivet." diff --git a/editor/translations/de.po b/editor/translations/de.po index 56eca938d0..4667868250 100644 --- a/editor/translations/de.po +++ b/editor/translations/de.po @@ -1,6 +1,6 @@ # German translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Alexander Mahr <alex.mahr@gmail.com>, 2016, 2019. # Andreas Esau <andreasesau@gmail.com>, 2016. @@ -79,8 +79,8 @@ msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-10-31 22:17+0000\n" -"Last-Translator: Tim <tim14speckenwirth@gmail.com>\n" +"PO-Revision-Date: 2021-12-11 06:25+0000\n" +"Last-Translator: So Wieso <sowieso@dukun.de>\n" "Language-Team: German <https://hosted.weblate.org/projects/godot-engine/" "godot/de/>\n" "Language: de\n" @@ -88,7 +88,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.9-dev\n" +"X-Generator: Weblate 4.10-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -2195,14 +2195,30 @@ msgstr "Methoden" msgid "Theme Properties" msgstr "Theme-Eigenschaften" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Aufzählungen" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "Farben" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Konstanten" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "Schriftarten" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "Symbole" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "Stile" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Aufzählungen" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Eigenschaften-Beschreibung" @@ -8684,18 +8700,6 @@ msgid "TextureRegion" msgstr "Texturbereich" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "Farben" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "Schriftarten" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "Symbole" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "Style-Boxen" @@ -13511,10 +13515,16 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" +"„Hand Tracking“ ist nur gültig wenn „Xr Mode“ als „Occulus Mobile VrApi“ " +"oder „OpenXR“ gesetzt wurde." + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" -"„Hand Tracking“ ist nur gültig wenn „Xr Mode“ als „Occulus Mobile VR“ " -"gesetzt wurde." +"„Passthrough“ ist nur gültig wenn „Xr Mode“ als „OpenXR“ gesetzt wurde." #: platform/android/export/export_plugin.cpp msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." @@ -13522,6 +13532,26 @@ msgstr "„Export AAB“ ist nur gültig wenn „Use Custom Build“ aktiviert i #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" +"Das „Min Sdk“ zu ändern ist nur möglich wenn „Use Custom Build“ aktiviert " +"ist." + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" +"Das „Target Sdk“ zu ändern ist nur möglich wenn „Use Custom Build“ aktiviert " +"ist." + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" +"Die Version des „Target Sdk“ muss größer gleich der des „Min Sdk“ sein." + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14678,7 +14708,7 @@ msgid "" "The Viewport size must be greater than or equal to 2 pixels on both " "dimensions to render anything." msgstr "" -"Die Größe des Viewports muss mindestes 2 Pixel in beiden Dimensionen " +"Die Größe des Viewports muss mindestens 2 Pixel in beiden Dimensionen " "betragen um überhaupt irgendetwas rendern zu können." #: scene/resources/occluder_shape.cpp @@ -14742,2259 +14772,3 @@ msgstr "Zuweisung an Uniform." #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Konstanten können nicht verändert werden." - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "Ruhe-Pose erstellen (aus Knochen)" - -#~ msgid "Bottom" -#~ msgstr "Unten" - -#~ msgid "Left" -#~ msgstr "Links" - -#~ msgid "Right" -#~ msgstr "Rechts" - -#~ msgid "Front" -#~ msgstr "Vorne" - -#~ msgid "Rear" -#~ msgstr "Hinten" - -#~ msgid "Nameless gizmo" -#~ msgstr "Namenloser Manipulator" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "„Degrees Of Freedom“ ist nur gültig wenn „Xr Mode“ als „Occulus Mobile " -#~ "VR“ gesetzt wurde." - -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "„Focus Awareness“ ist nur gültig wenn „Xr Mode“ als „Occulus Mobile VR“ " -#~ "gesetzt wurde." - -#~ msgid "Package Contents:" -#~ msgstr "Paketinhalte:" - -#~ msgid "Singleton" -#~ msgstr "Einzelelement" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Profil ‚%s‘ löschen? (unumkehrbar)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Aktivierte Eigenschaften:" - -#~ msgid "Enabled Features:" -#~ msgstr "Aktivierte Funktionen:" - -#~ msgid "Unset" -#~ msgstr "Deaktivieren" - -#~ msgid "Class Options" -#~ msgstr "Klassen-Optionen" - -#~ msgid "Set" -#~ msgstr "Set" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "%s veränderte Ressource(n) gespeichert." - -#~ msgid "Q&A" -#~ msgstr "Fragen & Antworten" - -#~ msgid "Status:" -#~ msgstr "Status:" - -#~ msgid "Edit:" -#~ msgstr "Bearbeiten:" - -#~ msgid "Redownload" -#~ msgstr "Erneut herunterladen" - -#~ msgid "(Installed)" -#~ msgstr "(Installiert)" - -#~ msgid "(Missing)" -#~ msgstr "(Fehlend)" - -#~ msgid "Request Failed." -#~ msgstr "Anfrage fehlgeschlagen." - -#~ msgid "Redirect Loop." -#~ msgstr "Weiterleitungsschleife." - -#~ msgid "Download Complete." -#~ msgstr "Download abgeschlossen." - -#~ msgid "Remove Template" -#~ msgstr "Entferne Vorlage" - -#~ msgid "Download Templates" -#~ msgstr "Lade Template herunter" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "Mirror aus Liste auswählen: (Umsch-Klick: In Browser öffnen)" - -#~ msgid "Move to Trash" -#~ msgstr "In Papierkorb werfen" - -#~ msgid "Expand All Properties" -#~ msgstr "Alle Eigenschaften ausklappen" - -#~ msgid "Collapse All Properties" -#~ msgstr "Alle Eigenschaften einklappen" - -#~ msgid "Copy Params" -#~ msgstr "Parameter kopieren" - -#~ msgid "Open in Help" -#~ msgstr "In Hilfe öffnen" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "Spielekamera überschreiben\n" -#~ "Es läuft keine Spielinstanz." - -#~ msgid "Drag: Rotate" -#~ msgstr "Ziehen = Rotieren" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "‚V‘ drücken um Angelpunkt auf Mausposition zu setzen, ‚Umschalt+V‘ " -#~ "drücken um das Objekt ohne seinen Angelpunkt zu verschieben." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+Rechtsklick: Listenauswahl nach Tiefe" - -#~ msgid "Clone Down" -#~ msgstr "Klone herunter" - -#~ msgid "Yaw" -#~ msgstr "Gieren" - -#~ msgid "Size" -#~ msgstr "Größe" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "Ziehen: Rotieren\n" -#~ "Alt+Ziehen: Verschieben\n" -#~ "Alt+RMT: Tiefenauswahl" - -#~ msgid "Sep.:" -#~ msgstr "Trenner:" - -#~ msgid "Add All" -#~ msgstr "Alle hinzufügen" - -#~ msgid "Theme editing menu." -#~ msgstr "Thema-Bearbeitungsmenü." - -#~ msgid "Create Empty Template" -#~ msgstr "Leeres Template erstellen" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "Leeres Editor-Template erstellen" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "Aus derzeitigem Editor-Thema erstellen" - -#~ msgid "Data Type:" -#~ msgstr "Datentyp:" - -#~ msgid "Theme File" -#~ msgstr "Theme-Datei" - -#~ msgid "Compiled" -#~ msgstr "Kompiliert" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "%d Projekte aus der Liste entfernen?\n" -#~ "Inhalte der Projektordner werden nicht geändert." - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "Dieses Projekt aus der Liste entfernen?\n" -#~ "Inhalte des Projektordners werden nicht geändert." - -#~ msgid "Templates" -#~ msgstr "Vorlagen" - -#~ msgid "Add Remapped Path" -#~ msgstr "Umgeleiteten Pfad hinzufügen" - -#~ msgid "Can not perform with the root node." -#~ msgstr "Lässt sich nicht an Wurzel-Node ausführen." - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "Konnte Bilddatei des Startbildschirms nicht lesen:" - -#~ msgid "Using default boot splash image." -#~ msgstr "Verwende Standard-Startbildschirm-Bilddatei." - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Ein AnimationPlayer kann sich nicht selbst animieren, nur andere Objekte." - -#~ msgid "Clipboard is empty" -#~ msgstr "Zwischenablage ist leer" - -#~ msgid "" -#~ "Godot editor was built without ray tracing support; lightmaps can't be " -#~ "baked.\n" -#~ "If you are using an Apple Silicon-based Mac, try forcing Rosetta " -#~ "emulation on Godot.app in the application settings\n" -#~ "then restart the editor." -#~ msgstr "" -#~ "Der Godot-Editor wurde ohne Raytracing-Unterstützung gebaut; Lightmaps " -#~ "können nicht gebacken werden.\n" -#~ "Nutzer eines Macs basierend auf Apple Silicon sollten Rosetta-Emulation " -#~ "in den Anwendungseinstellungen aktivieren und den Editor neu starten." - -#~ msgid "" -#~ "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -#~ msgstr "" -#~ "InterpolatedCamera ist veraltet und wird in Godot 4.0 entfernt werden." - -#~ msgid "No" -#~ msgstr "Nein" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Diese Szene wurde nie gespeichert. Speichern vorm Starten?" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "" -#~ "Das ADB-Programm wurde nicht in den Editoreinstellungen konfiguriert." - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "" -#~ "OpenJDK-Jarsigner wurde nicht in den Editoreinstellungen konfiguriert." - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "" -#~ "Eigene Builds erfordern gültigen Android-SDK-Pfad in den " -#~ "Editoreinstellungen." - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(Verbleibende Zeit: %d:%20d s)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "Plotte Meshe: " - -#~ msgid "Lighting Meshes: " -#~ msgstr "Beleuchte Meshe: " - -#~ msgid "Search complete" -#~ msgstr "Suche abgeschlossen" - -#~ msgid "No commit message was provided" -#~ msgstr "Es wurde keine Protokollnachricht angegeben" - -#~ msgid "Add a commit message" -#~ msgstr "Protokollnachricht hinzufügen" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "" -#~ "Es existiert bereits eine Datei oder ein Ordner an diesem Pfad mit dem " -#~ "angegebenen Namen." - -#~ msgid "Unable to complete APK alignment." -#~ msgstr "APK konnte nicht ausgerichtet werden." - -#~ msgid "Unable to delete unaligned APK." -#~ msgstr "Nicht ausgerichtetes APK konnte nicht gelöscht werden." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Fehler beim Speichern des Layouts!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Standard-Editorlayout überschrieben." - -#~ msgid "Move pivot" -#~ msgstr "Pivotpunkt bewegen" - -#~ msgid "Move anchor" -#~ msgstr "Anker verschieben" - -#~ msgid "Resize CanvasItem" -#~ msgstr "CanvasItem in Größe anpassen" - -#~ msgid "Polygon->UV" -#~ msgstr "Polygon→UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV→Polygon" - -#~ msgid "Add initial export..." -#~ msgstr "Ersten Export hinzufügen…" - -#~ msgid "Add previous patches..." -#~ msgstr "Vorherige Patches hinzufügen…" - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "Patch ‚%s‘ von Liste löschen?" - -#~ msgid "Patches" -#~ msgstr "Patche" - -#~ msgid "Make Patch" -#~ msgstr "Erstelle Patch" - -#~ msgid "Pack File" -#~ msgstr "Pack-Datei" - -#~ msgid "No build apk generated at: " -#~ msgstr "Es wurde kein Build-APK generiert in: " - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "Dateisystem- und Import-Leiste" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "Beim Exportieren oder Starten wird das Programm versuchen, sich mit der " -#~ "IP-Adresse dieses Computers zu verbinden, um Fehler beheben zu können." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "" -#~ "Die aktuelle Szene wurde noch nicht gespeichert, bitte vor dem Abspielen " -#~ "sichern." - -#~ msgid "Revert" -#~ msgstr "Zurücksetzen" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "" -#~ "Diese Aktion kann nicht rückgängig gemacht werden. Trotzdem zurücksetzen?" - -#~ msgid "Revert Scene" -#~ msgstr "Szene zurücksetzen" - -#~ msgid "Clear Script" -#~ msgstr "Skript leeren" - -#~ msgid "Issue Tracker" -#~ msgstr "Problem-Melder" - -#~ msgid "Request Docs" -#~ msgstr "Dokumentation anfragen" - -#~ msgid "Help improve the Godot documentation by giving feedback." -#~ msgstr "" -#~ "Mithelfen die Godot-Dokumentation durch Meinungsäußerungen zu verbessern." - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "Suchbegriff wurde %d mal ersetzt." - -#~ msgid "Create Static Convex Body" -#~ msgstr "Statischen Konvex-Körper erzeugen" - -#~ msgid "Failed creating shapes!" -#~ msgstr "Form-Erstellung fehlgeschlagen!" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Es gibt zurzeit keine Tutorials zu dieser Klasse. Mitwirkungen durch " -#~ "[color=$color][url=$url]eigene Beiträge[/url][/color] oder [color=$color]" -#~ "[url=$url2]Meldung von Problemen[/url][/color] sind sehr erwünscht." - -#~ msgid "enum " -#~ msgstr "Enum " - -#~ msgid "Brief Description" -#~ msgstr "Kurze Beschreibung" - -#~ msgid "Class Description" -#~ msgstr "Klassenbeschreibung" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "Projekt-Export ist fehlgeschlagen mit Fehlercode %d." - -#~ msgid "Password:" -#~ msgstr "Passwort:" - -#~ msgid "Identifier segments must be of non-zero length." -#~ msgstr "Bezeichnersegmente dürfen keine Länge gleich Null haben." - -#~ msgid "A digit cannot be the first character in a Identifier segment." -#~ msgstr "" -#~ "Eine Ziffer kann nicht das erste Zeichen eines Bezeichnersegments sein." - -#~ msgid "" -#~ "The character '%s' cannot be the first character in a Identifier segment." -#~ msgstr "" -#~ "Das Zeichen ‚%s‘ kann nicht das erste Zeichen in einem Bezeichnersegment " -#~ "sein." - -#~ msgid "The Identifier must have at least one '.' separator." -#~ msgstr "Der Bezeichner muss mindestens einen Punkt-Unterteiler ‚.‘ haben." - -#~ msgid "Pause the scene" -#~ msgstr "Szene pausieren" - -#~ msgid "Shift+" -#~ msgstr "Umschalt+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Control+" -#~ msgstr "Steuerung+" - -#~ msgid "Snap to Grid" -#~ msgstr "Am Gitter einrasten" - -#~ msgid "Add input +" -#~ msgstr "Eingang hinzufügen +" - -#~ msgid "Language" -#~ msgstr "Sprache" - -#~ msgid "Inherits" -#~ msgstr "Erbt von" - -#~ msgid "Base Type:" -#~ msgstr "Basistyp:" - -#~ msgid "Available Nodes:" -#~ msgstr "Verfügbare Nodes:" - -#~ msgid "Input" -#~ msgstr "Eingang" - -#~ msgid "Methods:" -#~ msgstr "Methoden:" - -#~ msgid "Theme Properties:" -#~ msgstr "Motiv-Eigenschaften:" - -#~ msgid "Enumerations:" -#~ msgstr "Enums:" - -#~ msgid "Constants:" -#~ msgstr "Konstanten:" - -#~ msgid "Class Description:" -#~ msgstr "Klassenbeschreibung:" - -#~ msgid "Property Descriptions:" -#~ msgstr "Eigenschaften-Beschreibung:" - -#~ msgid "Method Descriptions:" -#~ msgstr "Methoden-Beschreibung:" - -#~ msgid "" -#~ "This will install the Android project for custom builds.\n" -#~ "Note that, in order to use it, it needs to be enabled per export preset." -#~ msgstr "" -#~ "Dies wird das Android-Projekt für eigene Builds installieren.\n" -#~ "Hinweis: Um es zu benutzen muss es in den jeweiligen " -#~ "Exportvoreinstellungen aktivierten werden." - -#~ msgid "Reverse sorting." -#~ msgstr "Sortierung umkehren." - -#~ msgid "Delete Node(s)?" -#~ msgstr "Node(s) wirklich löschen?" - -#~ msgid "No Matches" -#~ msgstr "Keine Übereinstimmungen" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "Die Datei 'file_type_cache.cch' konnte nicht zum schreiben geöffnet " -#~ "werden. Der Dateityp-Cache wird nicht gespeichert!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "" -#~ "Kann nicht zu '%s' navigierien, da es sich nicht im Dateisystem gefunden " -#~ "wurde!" - -#~ msgid "Error loading image:" -#~ msgstr "Fehler beim Laden des Bilds:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "Keine Pixel mit einer Transparenz > 128 im Bild..." - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "Elternelement hat keine soliden Faces zu besetzen." - -#~ msgid "Couldn't map area." -#~ msgstr "Bereich konnte nicht abgebildet werden." - -#~ msgid "Faces contain no area!" -#~ msgstr "Flächen enthalten keinen Bereich!" - -#~ msgid "No faces!" -#~ msgstr "Keine Flächen!" - -#~ msgid "Error: could not load file." -#~ msgstr "Fehler: Datei konnte nicht geladen werden." - -#~ msgid "Error could not load file." -#~ msgstr "Fehler: Datei konnte nicht geladen werden." - -#~ msgid "Doppler Enable" -#~ msgstr "Dopplereffekt aktivieren" - -#~ msgid "Select Mode (Q)" -#~ msgstr "Auswahlmodus (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "Bewegungsmodus (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "Rotationsmodus (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "Skalierungsmodus (R)" - -#~ msgid "Local Coords" -#~ msgstr "Lokale Koordinaten" - -#~ msgid "Snap Mode (%s)" -#~ msgstr "Einrastmodus (%s)" - -#~ msgid "Tool Select" -#~ msgstr "Werkzeugauswahl" - -#~ msgid "Tool Move" -#~ msgstr "Werkzeug Verschieben" - -#~ msgid "Tool Rotate" -#~ msgstr "Werkzeug Drehen" - -#~ msgid "Tool Scale" -#~ msgstr "Werkzeug Skalieren" - -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "" -#~ "Alle fehlenden Projekte aus der Liste entfernen? (Dateisysteminhalte " -#~ "werden nicht geändert)" - -#~ msgid "Project List" -#~ msgstr "Projektliste" - -#~ msgid "Exit" -#~ msgstr "Verlassen" - -#~ msgid "Could not execute PVRTC tool:" -#~ msgstr "Konnte PVRTC-Werkzeug nicht ausführen:" - -#~ msgid "Can't load back converted image using PVRTC tool:" -#~ msgstr "" -#~ "Umgewandeltes Bild kann mittels PVRTC-Werkzeug nicht zurück geladen " -#~ "werden:" - -#~ msgid "Error initializing FreeType." -#~ msgstr "Fehler beim initialisieren von FreeType." - -#~ msgid "Unknown font format." -#~ msgstr "Unbekanntes Schriftformat." - -#~ msgid "Error loading font." -#~ msgstr "Fehler beim Laden der Schriftart." - -#~ msgid "Invalid font size." -#~ msgstr "Ungültige Schriftgröße." - -#~ msgid "Previous Folder" -#~ msgstr "Vorheriger Ordner" - -#~ msgid "Next Folder" -#~ msgstr "Nächster Ordner" - -#~ msgid "Automatically Open Screenshots" -#~ msgstr "Bildschirmfotos automatisch öffnen" - -#~ msgid "Open in an external image editor." -#~ msgstr "In externem Bildbearbeitungsprogramm öffnen." - -#~ msgid "Reverse" -#~ msgstr "Umkehren" - -#~ msgid "Mirror X" -#~ msgstr "X-Koordinaten spiegeln" - -#~ msgid "Mirror Y" -#~ msgstr "Y-Koordinaten spiegeln" - -#~ msgid "Generating solution..." -#~ msgstr "Lösungen erzeugen..." - -#~ msgid "Generating C# project..." -#~ msgstr "C#-Projekt erzeugen..." - -#~ msgid "Failed to create solution." -#~ msgstr "Fehler beim Erzeugen einer Lösung." - -#~ msgid "Failed to save solution." -#~ msgstr "Fehler beim Speichern der Lösung." - -#~ msgid "Failed to create C# project." -#~ msgstr "C#-Projekt-Erzeugen fehlgeschlagen." - -#~ msgid "Mono" -#~ msgstr "Mono" - -#~ msgid "About C# support" -#~ msgstr "Über die C#-Unterstützung" - -#~ msgid "Create C# solution" -#~ msgstr "Erzeuge C#-Lösung" - -#~ msgid "Builds" -#~ msgstr "Fertigstellungen" - -#~ msgid "Build Project" -#~ msgstr "Projekt bauen" - -#~ msgid "View log" -#~ msgstr "Log anschauen" - -#~ msgid "WorldEnvironment needs an Environment resource." -#~ msgstr "Ein WorldEnvironment benötigt eine Environment-Ressource." - -#~ msgid "Enabled Classes" -#~ msgstr "Aktivierte Klassen" - -#~ msgid "Update Always" -#~ msgstr "Immer aktualisieren" - -#~ msgid "'camera' input parameter for all shader modes." -#~ msgstr "‚camera‘-Eingabeparameter für alle Shadermodi." - -#~ msgid "'inv_camera' input parameter for all shader modes." -#~ msgstr "‚inv_camera‘ Eingabeparameter für alle Shadermodi." - -#~ msgid "'inv_projection' input parameter for all shader modes." -#~ msgstr "‚inv_projection‘ Eingabeparameter für alle Shadermodi." - -#~ msgid "'normal' input parameter for all shader modes." -#~ msgstr "‚normal‘ Eingabeparameter für alle Shadermodi." - -#~ msgid "'projection' input parameter for all shader modes." -#~ msgstr "‚projection‘ Eingabeparameter für alle Shadermodi." - -#~ msgid "'time' input parameter for all shader modes." -#~ msgstr "‚time‘-Eingabeparameter für alle Shadermodi." - -#~ msgid "'viewport_size' input parameter for all shader modes." -#~ msgstr "‚viewport_size‘-Eingabeparameter für alle Shadermodi." - -#~ msgid "'world' input parameter for all shader modes." -#~ msgstr "‚world‘-Eingabeparameter für alle Shadermodi." - -#~ msgid "'alpha' input parameter for all shader modes." -#~ msgstr "‚alpha‘-Eingabeparameter für alle Shadermodi." - -#~ msgid "'color' input parameter for all shader modes." -#~ msgstr "‚color‘-Eingabeparameter für alle Shadermodi." - -#~ msgid "'texture_pixel_size' input parameter for all shader modes." -#~ msgstr "‚texture_pixel_size‘-Eingabeparameter für alle Shadermodi." - -#~ msgid "'alpha' input parameter for vertex and fragment shader modes." -#~ msgstr "‚alpha‘-Eingabeparameter für Vertex- und Fragment-Shadermodi." - -#~ msgid "'binormal' input parameter for vertex and fragment shader modes." -#~ msgstr "‚binormal‘-Eingabeparameter für Vertex- und Fragment-Shadermodi." - -#~ msgid "'color' input parameter for vertex and fragment shader modes." -#~ msgstr "‚color‘-Eingabeparameter für Vertex- und Fragment-Shadermodi." - -#~ msgid "'fragcoord' input parameter for fragment and light shader modes." -#~ msgstr "‚fragcoord‘-Eingabeparameter für Vertex- und Fragment-Shadermodi." - -#~ msgid "'point_coord' input parameter for fragment shader mode." -#~ msgstr "‚point_coord‘-Eingabeparameter für Vertex- und Fragment-Shadermodi." - -#~ msgid "'screen_uv' input parameter for fragment shader mode." -#~ msgstr "‚screen_uv‘-Eingabeparameter für Fragment-Shadermodus." - -#~ msgid "'tangent' input parameter for vertex and fragment shader modes." -#~ msgstr "‚tangent‘-Eingabeparameter für Vertex- und Fragment-Shadermodus." - -#~ msgid "'uv2' input parameter for vertex and fragment shader modes." -#~ msgstr "‚uv2‘-Eingabeparameter für Vertex- und Fragment-Shadermodus." - -#~ msgid "'vertex' input parameter for vertex and fragment shader modes." -#~ msgstr "‚vertex‘-Eingabeparameter für Vertex- und Fragment-Shadermodus." - -#~ msgid "'albedo' input parameter for light shader mode." -#~ msgstr "‚albedo‘-Eingabeparameter für Light-Shadermodus." - -#~ msgid "'attenuation' input parameter for light shader mode." -#~ msgstr "‚attenuation‘-Eingabeparameter für Light-Shadermodus." - -#~ msgid "'light' input parameter for light shader mode." -#~ msgstr "‚light‘-Eingabeparameter für Light-Shadermodus." - -#~ msgid "'light_color' input parameter for light shader mode." -#~ msgstr "‚light_color‘-Eingabeparameter für Light-Shadermodus." - -#~ msgid "'roughness' input parameter for light shader mode." -#~ msgstr "‚roughness‘-Eingabeparameter für Light-Shadermodus." - -#~ msgid "'specular' input parameter for light shader mode." -#~ msgstr "‚specular‘-Eingabeparameter für Light-Shadermodus." - -#~ msgid "'transmission' input parameter for light shader mode." -#~ msgstr "‚transmission‘-Eingabeparameter für Light-Shadermodus." - -#~ msgid "'modelview' input parameter for vertex shader mode." -#~ msgstr "‚modelview‘-Eingabeparameter für Vertex-Shadermodus." - -#~ msgid "'point_size' input parameter for vertex shader mode." -#~ msgstr "‚point_size‘-Eingabeparameter für Vertex-Shadermodus." - -#~ msgid "'tangent' input parameter for vertex and fragment shader mode." -#~ msgstr "‚tangent‘-Eingabeparameter für Vertex- und Fragment-Shadermodus." - -#~ msgid "'light_pass' input parameter for vertex and fragment shader modes." -#~ msgstr "‚light_pass‘-Eingabeparameter für Vertex- und Fragment-Shadermodus." - -#~ msgid "'point_coord' input parameter for fragment and light shader modes." -#~ msgstr "" -#~ "‚point_coord‘-Eingabeparameter für Vertex- und Fragment-Shadermodus." - -#~ msgid "'screen_pixel_size' input parameter for fragment shader mode." -#~ msgstr "Eingabeparameter 'screen_pixel_size' für den Fragment-Shader-Modus." - -#~ msgid "'screen_uv' input parameter for fragment and light shader modes." -#~ msgstr "Eingabeparameter 'screen_uv' für Fragment- und Licht-Shader-Modi." - -#~ msgid "'light_alpha' input parameter for light shader mode." -#~ msgstr "Eingabeparameter 'light_alpha' für den Licht-Shader-Modus." - -#~ msgid "'light_height' input parameter for light shader mode." -#~ msgstr "Eingabeparameter'light_height' für den Licht-Shader-Modus." - -#~ msgid "'light_uv' input parameter for light shader mode." -#~ msgstr "'light_uv'-Eingabeparameter für Licht-Shadermodus." - -#~ msgid "'light_vec' input parameter for light shader mode." -#~ msgstr "'light_vec'-Eingabeparameter für Licht-Shadermodus." - -#~ msgid "'normal' input parameter for light shader mode." -#~ msgstr "'normal'-Eingabeparamter für Licht-Shadermodus." - -#~ msgid "'shadow_color' input parameter for light shader mode." -#~ msgstr "'shadow_color'-Eingabeparameter für Licht-Shadermodus." - -#~ msgid "'extra' input parameter for vertex shader mode." -#~ msgstr "'extra'-Eingabeparameter für Vertex-Shadermodus." - -#~ msgid "'projection' input parameter for vertex shader mode." -#~ msgstr "'projection'-Eingabeparameter für Vertex-Shadermodus." - -#~ msgid "'vertex' input parameter for vertex shader mode." -#~ msgstr "'vertex'-Eingabeparameter für Vertex-Shadermodus." - -#~ msgid "'world' input parameter for vertex shader mode." -#~ msgstr "'world'-Eingabeparameter für Vertex-Shadermodus." - -#~ msgid "'active' input parameter for vertex shader mode." -#~ msgstr "'active'-Eingabeparameter für Vertex-Shadermodus." - -#~ msgid "'alpha' input parameter for vertex shader mode." -#~ msgstr "'alpha'-Eingabeparameter für Vertex-Shadermodus." - -#~ msgid "'color' input parameter for vertex shader mode." -#~ msgstr "'color'-Eingabeparameter für Vertex-Shadermodus." - -#~ msgid "'custom_alpha' input parameter for vertex shader mode." -#~ msgstr "'custom_alpha'-Eingabeparameter für Vertex-Shadermodus." - -#~ msgid "'delta' input parameter for vertex shader mode." -#~ msgstr "'delta'-Eingabeparameter für Vertex-Shadermodus." - -#~ msgid "'emission_transform' input parameter for vertex shader mode." -#~ msgstr "'emission_transform'-Eingabeparameter für Vertex-Shadermodus." - -#~ msgid "'index' input parameter for vertex shader mode." -#~ msgstr "'index'-Eingabeparameter für Vertex-Shadermodus." - -#~ msgid "'lifetime' input parameter for vertex shader mode." -#~ msgstr "'lifetime'-Eingabeparameter für Vertex-Shadermodus." - -#~ msgid "'restart' input parameter for vertex shader mode." -#~ msgstr "'restart'-Eingabeparameter für Vertex-Shadermodus." - -#~ msgid "'time' input parameter for vertex shader mode." -#~ msgstr "'time'-Eingabeparameter für Vertex-Shadermodus." - -#~ msgid "'transform' input parameter for vertex shader mode." -#~ msgstr "'transform'-Eingabeparameter für Vertex-Shadermodus." - -#~ msgid "'velocity' input parameter for vertex shader mode." -#~ msgstr "'velocity'-Eingabeparameter für Vertex-Shadermodus." - -#~ msgid "Raw Mode" -#~ msgstr "Rohdatenmodus" - -#~ msgid "Path to Node:" -#~ msgstr "Pfad zum Node:" - -#~ msgid "Delete selected files?" -#~ msgstr "Ausgewählte Dateien löschen?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "Datei ‚res://default_bus_layout.tres‘ existiert nicht." - -#~ msgid "Go to parent folder" -#~ msgstr "Gehe zu übergeordnetem Ordner" - -#~ msgid "Open Scene(s)" -#~ msgstr "Szene(n) öffnen" - -#~ msgid "Previous Directory" -#~ msgstr "Vorheriges Verzeichnis" - -#~ msgid "Next Directory" -#~ msgstr "Nächstes Verzeichnis" - -#~ msgid "Ease in" -#~ msgstr "Einspannen" - -#~ msgid "Ease out" -#~ msgstr "Ausspannen" - -#~ msgid "Create Convex Static Body" -#~ msgstr "Statischen Konvex-Körper erzeugen" - -#~ msgid "CheckBox Radio1" -#~ msgstr "Kontrollkasten Radio1" - -#~ msgid "CheckBox Radio2" -#~ msgstr "Kontrollkasten Radio2" - -#~ msgid "Create folder" -#~ msgstr "Ordner erstellen" - -#~ msgid "Custom Node" -#~ msgstr "Selbst-erstelltes Node" - -#~ msgid "Invalid Path" -#~ msgstr "Ungültiger Pfad" - -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "GridMap-Auswahl duplizieren" - -#~ msgid "Create Area" -#~ msgstr "Bereich erzeugen" - -#~ msgid "Create Exterior Connector" -#~ msgstr "Exterior-Connector erstellen" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "Signalparameter bearbeiten:" - -#~ msgid "Edit Variable:" -#~ msgstr "Variable bearbeiten:" - -#~ msgid "Snap (s): " -#~ msgstr "Einrasten (s): " - -#~ msgid "Insert keys." -#~ msgstr "Schlüsselbilder einfügen." - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "" -#~ "Instantiiere gewählte Szene(n) als Unterobjekt des ausgewählten Nodes." - -#~ msgid "Font Size:" -#~ msgstr "Schriftgröße:" - -#~ msgid "Line:" -#~ msgstr "Zeile:" - -#~ msgid "Col:" -#~ msgstr "Spalte:" - -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "" -#~ "OrientedPathFollow funktioniert nur, wenn es als Unterobjekt eines Path-" -#~ "Nodes gesetzt wird." - -#~ msgid "Split point with itself." -#~ msgstr "Teile Punkt mit sich selbst." - -#~ msgid "Split can't form an existing edge." -#~ msgstr "Teilen kann keine existierende Kante erstellen." - -#~ msgid "Add Split" -#~ msgstr "Teilung hinzufügen" - -#~ msgid "Invalid Split: " -#~ msgstr "Ungültige Teilung: " - -#~ msgid "Remove Split" -#~ msgstr "Teilung entfernen" - -#~ msgid "Poly" -#~ msgstr "Poly" - -#~ msgid "Splits" -#~ msgstr "Teilungen" - -#~ msgid "Connect two points to make a split." -#~ msgstr "Zwei Punkte verbinden um Teilung zu erstellen." - -#~ msgid "Add Node.." -#~ msgstr "Node hinzufügen.." - -#~ msgid "Create from scene?" -#~ msgstr "Von Szene erstellen?" - -#~ msgid "Create Poly" -#~ msgstr "Polygon erstellen" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "Polygon von Grund auf neu erstellen" - -#~ msgid "Zoom out" -#~ msgstr "Verkleinern" - -#~ msgid "Zoom in" -#~ msgstr "Vergrößern" - -#~ msgid "Create Poly3D" -#~ msgstr "Polygon3D erstellen" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "Keine OccluderPolygon2D-Ressource für dieses Node gefunden.\n" -#~ "Neues erstellen und zuweisen?" - -#~ msgid "LMB: Move Point." -#~ msgstr "LMT: Punkt verschieben." - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Strg+LMT: Segment aufteilen." - -#~ msgid "RMB: Erase Point." -#~ msgstr "RMT: Punkt entfernen." - -#~ msgid "New TextFile" -#~ msgstr "Neue Textdatei" - -#~ msgid "Save Theme As" -#~ msgstr "Motiv speichern als" - -#~ msgid "<None>" -#~ msgstr "<Nichts>" - -#~ msgid "" -#~ "Select sub-tile to use as icon, this will be also used on invalid " -#~ "autotile bindings." -#~ msgstr "" -#~ "Unterkachel zur Benutzung als Icon auswählen, dieses wird auch für " -#~ "ungültige Autokachelzuordnungen benutzt werden." - -#~ msgid "Zoom:" -#~ msgstr "Vergrößerung:" - -#~ msgid "Are you sure you want to remove all connections from the \"" -#~ msgstr "Sollen wirklich alle Verbindungen entfernt werden von „" - -#~ msgid "Class List:" -#~ msgstr "Klassenliste:" - -#~ msgid "Public Methods" -#~ msgstr "Öffentliche Methoden" - -#~ msgid "Public Methods:" -#~ msgstr "Öffentliche Methoden:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "GUI-Theme-Elemente:" - -#~ msgid "Property: " -#~ msgstr "Eigenschaft: " - -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Favoriten-Verzeichnisstatus umschalten." - -#~ msgid "Show current scene file." -#~ msgstr "Aktuelle Szenendatei anzeigen." - -#~ msgid "Enter tree-view." -#~ msgstr "Zur Baumansicht." - -#~ msgid "Whole words" -#~ msgstr "Ganze Wörter" - -#~ msgid "Match case" -#~ msgstr "Groß-/Kleinschreibung berücksichtigen" - -#~ msgid "Ok" -#~ msgstr "Ok" - -#~ msgid "Show In File System" -#~ msgstr "Im Dateisystem anzeigen" - -#~ msgid "Search the class hierarchy." -#~ msgstr "Durchsuche die Klassenhierarchie." - -#~ msgid "Search in files" -#~ msgstr "In Dateien suchen" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "" -#~ "Eingebettete Skripte können nur bearbeitet werden wenn die entsprechende " -#~ "Szene geladen ist" - -#~ msgid "Convert To Uppercase" -#~ msgstr "In Großbuchstaben konvertieren" - -#~ msgid "Convert To Lowercase" -#~ msgstr "In Kleinbuchstaben konvertieren" - -#~ msgid "Rotate 0 degrees" -#~ msgstr "Drehe auf 0 Grad" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "Drehe auf 90 Grad" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "Drehe auf 180 Grad" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "Drehe auf 270 Grad" - -#~ msgid "Errors:" -#~ msgstr "Fehler:" - -#~ msgid "Stack Trace (if applicable):" -#~ msgstr "Stack Trace (falls geeignet):" - -#~ msgid "Bake!" -#~ msgstr "Vorrendern!" - -#~ msgid "Bake the navigation mesh." -#~ msgstr "Das Navigations-Mesh backen." - -#~ msgid "Get" -#~ msgstr "Abfragen" - -#~ msgid "Change RGB Constant" -#~ msgstr "Ändere RGB-Konstante" - -#~ msgid "Change Vec Scalar Operator" -#~ msgstr "Ändere Vektor-Skalar-Operator" - -#~ msgid "Change RGB Operator" -#~ msgstr "Ändere RGB-Operator" - -#~ msgid "Toggle Rot Only" -#~ msgstr "schalte exklusive Rotation um" - -#~ msgid "Change Vec Function" -#~ msgstr "Ändere Vektorfunktion" - -#~ msgid "Change Vec Uniform" -#~ msgstr "Ändere Vektor-Uniform" - -#~ msgid "Change RGB Uniform" -#~ msgstr "Ändere RGB-Uniform" - -#~ msgid "Change Default Value" -#~ msgstr "Ändere Standardwert" - -#~ msgid "Change XForm Uniform" -#~ msgstr "Ändere XForm-Uniform" - -#~ msgid "Change Cubemap Uniform" -#~ msgstr "Ändere Cubemap-Uniform" - -#~ msgid "Change Comment" -#~ msgstr "Ändere Kommentar" - -#~ msgid "Add/Remove to Color Ramp" -#~ msgstr "Hinzufügen/Entfernen zum Farbgradienten" - -#~ msgid "Modify Color Ramp" -#~ msgstr "Farbverlauf anpassen" - -#~ msgid "Add/Remove to Curve Map" -#~ msgstr "Hinzfügen/Entfernen zum Curve-Map" - -#~ msgid "Modify Curve Map" -#~ msgstr "Verändere Curve-Map" - -#~ msgid "Connect Graph Nodes" -#~ msgstr "Verbinde Graph-Nodes" - -#~ msgid "Remove Shader Graph Node" -#~ msgstr "Entferne Shader-Graph-Node" - -#~ msgid "Move Shader Graph Node" -#~ msgstr "Verschiebe Shader-Graph-Node" - -#~ msgid "Duplicate Graph Node(s)" -#~ msgstr "Dupliziere Graph-Node(s)" - -#~ msgid "Error: Cyclic Connection Link" -#~ msgstr "Fehler: Zyklische Verbindung" - -#~ msgid "Error: Missing Input Connections" -#~ msgstr "Fehler: Fehlende Eingangsverbindung" - -#~ msgid "Add Shader Graph Node" -#~ msgstr "Shader-Graph-Node hinzufügen" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Spur nach oben verschieben" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Spur nach unten verschieben" - -#~ msgid "Set Transitions to:" -#~ msgstr "Setze Übergänge auf:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Interpolation der Spur ändern" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Wertmodus der Spur ändern" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Wiederholmodus der Spur ändern" - -#~ msgid "Edit Node Curve" -#~ msgstr "Node-Kurve bearbeiten" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Selektions-Kurve bearbeiten" - -#~ msgid "Anim Add Key" -#~ msgstr "Schlüsselbild hinzufügen" - -#~ msgid "In" -#~ msgstr "Rein" - -#~ msgid "Out" -#~ msgstr "Raus" - -#~ msgid "In-Out" -#~ msgstr "Rein-Raus" - -#~ msgid "Out-In" -#~ msgstr "Raus-Rein" - -#~ msgid "Change Anim Len" -#~ msgstr "Animationslänge ändern" - -#~ msgid "Change Anim Loop" -#~ msgstr "Animationswiederholung ändern" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Festgelegten Werteschlüssel erstellen" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Aufruf-Spur zu Animation hinzufügen" - -#~ msgid "Length (s):" -#~ msgstr "Länge (s):" - -#~ msgid "Step (s):" -#~ msgstr "Schrittweite (s):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "Cursor Schrittraster (in Sekunden)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Animationsschleife aktivieren/deaktivieren." - -#~ msgid "Add new tracks." -#~ msgstr "Neue Spuren hinzufügen." - -#~ msgid "Move current track up." -#~ msgstr "Aktuelle Spur nach oben verschieben." - -#~ msgid "Move current track down." -#~ msgstr "Aktuelle Spur nach unten verschieben." - -#~ msgid "Track tools" -#~ msgstr "Spur-Werkzeuge" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Individuelle Schlüsselbildbearbeitung durch Anklicken aktivieren." - -#~ msgid "Key" -#~ msgstr "Schlüsselbild" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Funktionen in welcher Node aufrufen?" - -#~ msgid "Thanks!" -#~ msgstr "Danke!" - -#~ msgid "I see..." -#~ msgstr "Verstehe..." - -#~ msgid "Ugh" -#~ msgstr "Ähm" - -#~ msgid "Run Script" -#~ msgstr "Skript ausführen" - -#~ msgid "Stop Profiling" -#~ msgstr "Laufzeitanalyse beenden" - -#~ msgid "Start Profiling" -#~ msgstr "Laufzeitanalyse starten" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "Standard (wie Editor)" - -#~ msgid "Create new animation in player." -#~ msgstr "Neue Animation im Player erstellen." - -#~ msgid "Load animation from disk." -#~ msgstr "Animation von der Festplatte laden." - -#~ msgid "Load an animation from disk." -#~ msgstr "Eine Animation von der Festplatte laden." - -#~ msgid "Save the current animation" -#~ msgstr "Aktuelle Animation speichern" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "Ziel-Übergangszeiten bearbeiten" - -#~ msgid "Copy Animation" -#~ msgstr "Animation kopieren" - -#~ msgid "Fetching:" -#~ msgstr "Hole:" - -#~ msgid "prev" -#~ msgstr "zurück" - -#~ msgid "next" -#~ msgstr "vor" - -#~ msgid "last" -#~ msgstr "Ende" - -#~ msgid "Edit IK Chain" -#~ msgstr "IK-Kette bearbeiten" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "Pivotpunkt von Mauszeigerposition ziehen" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "Pivotpunkt auf Mausposition setzen" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "Farbverlaufspunkt hinzufügen/entfernen" - -#~ msgid "OK :(" -#~ msgstr "Verstehe" - -#~ msgid "Skeleton Gizmo visibility" -#~ msgstr "Skelett-Greifer-Sichtbarkeit" - -#~ msgid "StyleBox Preview:" -#~ msgstr "StyleBox-Vorschau:" - -#~ msgid "Texture Region Editor" -#~ msgstr "Texturbegrenzungseditor" - -#~ msgid "Erase selection" -#~ msgstr "Lösche Auswahl" - -#~ msgid "Item name or ID:" -#~ msgstr "Elementname oder ID:" - -#~ msgid "Export templates for this platform are missing/corrupted: " -#~ msgstr "Export-Vorlagen für dieses Systeme fehlen / sind fehlerhaft: " - -#~ msgid "Button 8" -#~ msgstr "Taste 8" - -#~ msgid "Button 9" -#~ msgstr "Taste 9" - -#~ msgid "Discard Instancing" -#~ msgstr "Instantiierung verwerfen" - -#~ msgid "Clear!" -#~ msgstr "Leeren!" - -#~ msgid "Toggle Spatial Visible" -#~ msgstr "Spatial-Sichtbarkeit umschalten" - -#~ msgid "Condition" -#~ msgstr "Bedingung" - -#~ msgid "Sequence" -#~ msgstr "Sequenz" - -#~ msgid "Switch" -#~ msgstr "Switch" - -#~ msgid "Iterator" -#~ msgstr "Iterator" - -#~ msgid "While" -#~ msgstr "While" - -#~ msgid "Return" -#~ msgstr "Rückgabe" - -#~ msgid "Call" -#~ msgstr "Aufruf" - -#~ msgid "Edit Variable" -#~ msgstr "Variable bearbeiten" - -#~ msgid "Edit Signal" -#~ msgstr "Signal bearbeiten" - -#~ msgid "Invalid action (anything goes but '/' or ':')." -#~ msgstr "" -#~ "Ungültiger Name für Aktion (alle Zeichen außer ‚/‘ und ‚:‘ möglich)." - -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "Darf nicht ‚/‘ oder ‚:‘ beinhalten" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "Ungültiges version.txt-Format in Templates. Revision ist kein gültiger " -#~ "Bezeichner." - -#~ msgid "Can't write file." -#~ msgstr "Konnte Datei nicht schreiben." - -#~ msgid "Couldn't get project.godot in project path." -#~ msgstr "project.godot konnte nicht im Projektpfad gefunden werden." - -#~ msgid "Replace By" -#~ msgstr "Ersetzen durch" - -#~ msgid "Backwards" -#~ msgstr "Rückwärts" - -#~ msgid "Prompt On Replace" -#~ msgstr "Vor dem Ersetzen nachfragen" - -#~ msgid "Skip" -#~ msgstr "Überspringen" - -#~ msgid "" -#~ "Your project will be created in a non empty folder (you might want to " -#~ "create a new folder)." -#~ msgstr "" -#~ "Das Projekt wir in einem nicht-leeren Ordner erstellt (meist sind leere " -#~ "Ordner die bessere Wahl)." - -#~ msgid "That's a BINGO!" -#~ msgstr "Aber klar :-) !" - -#~ msgid "preview" -#~ msgstr "Vorschau" - -#~ msgid "Move Add Key" -#~ msgstr "Schlüsselbild bewegen hinzufügen" - -#~ msgid "Create Subscription" -#~ msgstr "Erstelle Subscription" - -#~ msgid "List:" -#~ msgstr "Liste:" - -#~ msgid "Set Emission Mask" -#~ msgstr "Emissionsmaske setzen" - -#~ msgid "Clear Emitter" -#~ msgstr "Leere Emittent" - -#~ msgid "Fold Line" -#~ msgstr "Zeile einklappen" - -#~ msgid " " -#~ msgstr " " - -#~ msgid "Sections:" -#~ msgstr "Abschnitte:" - -#~ msgid "Cannot navigate to '" -#~ msgstr "Kann Ordner ‚" - -#~ msgid "" -#~ "\n" -#~ "Source: " -#~ msgstr "" -#~ "\n" -#~ "Quelle: " - -#~ msgid "Remove Point from Line2D" -#~ msgstr "Punkt von Line2D entfernen" - -#~ msgid "Add Point to Line2D" -#~ msgstr "Punkt zu Line2D hinzufügen" - -#~ msgid "Move Point in Line2D" -#~ msgstr "Punkt in Line2D verschieben" - -#~ msgid "Split Segment (in line)" -#~ msgstr "Segment aufteilen (in Linie)" - -#~ msgid "Meta+" -#~ msgstr "Meta+" - -#~ msgid "Setting '" -#~ msgstr "Einstellung ‚" - -#~ msgid "Remote Inspector" -#~ msgstr "Remote Inspektor" - -#~ msgid "Live Scene Tree:" -#~ msgstr "Echtzeit Szenenbaum:" - -#~ msgid "Remote Object Properties: " -#~ msgstr "Eigenschaften entfernter Objekte: " - -#~ msgid "Prev Level (%sDown Wheel)" -#~ msgstr "Vorherige Stufe (%s Mausrad runter)" - -#~ msgid "Next Level (%sUp Wheel)" -#~ msgstr "Nächste Stufe (%s Mausrad hoch)" - -#~ msgid "Selection -> Duplicate" -#~ msgstr "Auswahl → Duplizieren" - -#~ msgid "Selection -> Clear" -#~ msgstr "Auswahl → Löschen" - -#~ msgid "" -#~ "Path property must point to a valid Viewport node to work. Such Viewport " -#~ "must be set to 'render target' mode." -#~ msgstr "" -#~ "Die Pfad Eigenschaft muss auf eine gültige Viewport Node verweisen um zu " -#~ "funktionieren. Dieser Viewport muss in 'render target' Modus gesetzt " -#~ "werden." - -#~ msgid "" -#~ "The Viewport set in the path property must be set as 'render target' in " -#~ "order for this sprite to work." -#~ msgstr "" -#~ "Der Viewport, der in der Pfad-Eigenschaft gesetzt wurde, muss als ‚Render " -#~ "Target‘ definiert sein, damit das Sprite funktioniert." - -#~ msgid "' parsing of config failed." -#~ msgstr "" -#~ "‘ kann nicht aktiviert werden, Einlesen der Konfigurationsdatei " -#~ "fehlgeschlagen." - -#~ msgid "Method List For '%s':" -#~ msgstr "Methodenliste für '%s':" - -#~ msgid "Arguments:" -#~ msgstr "Argumente:" - -#~ msgid "Return:" -#~ msgstr "Rückgabe:" - -#~ msgid "Added:" -#~ msgstr "Hinzugefügt:" - -#~ msgid "Could not save atlas subtexture:" -#~ msgstr "Atlas Untertextur konnte nicht gespeichert werden:" - -#~ msgid "Setting Up..." -#~ msgstr "Bereite vor..." - -#~ msgid "Error loading scene." -#~ msgstr "Fehler beim laden der Szene." - -#~ msgid "Re-Import" -#~ msgstr "Neuimport" - -#~ msgid "Please wait for scan to complete." -#~ msgstr "Bitte warten bis Operation abgeschlossen ist." - -#~ msgid "Current scene must be saved to re-import." -#~ msgstr "Aktuelle Szene muss gespeichert sein um sie erneut zu importieren." - -#~ msgid "Re-Importing" -#~ msgstr "Importiere erneut" - -#~ msgid "Re-Import Changed Resources" -#~ msgstr "Veränderte Ressourcen neu importieren" - -#~ msgid "" -#~ "\n" -#~ "Status: Needs Re-Import" -#~ msgstr "" -#~ "\n" -#~ "Status: Benötigt Neu-Import" - -#~ msgid "Same source and destination files, doing nothing." -#~ msgstr "Quell- und Zieldatei sind gleich, ignoriere Anweisung." - -#~ msgid "Target file exists, can't overwrite. Delete first." -#~ msgstr "" -#~ "Zieldatei existiert bereits und kann nicht überschrieben werden. Ggf " -#~ "manuell löschen." - -#~ msgid "Same source and destination paths, doing nothing." -#~ msgstr "Quell- und Zielpfad sind gleich, ignoriere Anweisung." - -#~ msgid "Can't move directories to within themselves." -#~ msgstr "Verzeichnisse lassen sich nicht in sich selbst verschieben." - -#~ msgid "Can't rename deps for:\n" -#~ msgstr "Abhängigkeiten können nicht umbenannt werden für:\n" - -#~ msgid "Pick New Name and Location For:" -#~ msgstr "Wähle neuen Namen und Ort für:" - -#~ msgid "Info" -#~ msgstr "Info" - -#~ msgid "No bit masks to import!" -#~ msgstr "Keine Bitmasken zu importieren!" - -#~ msgid "Target path is empty." -#~ msgstr "Zielpfad ist leer." - -#~ msgid "Target path must be a complete resource path." -#~ msgstr "Zielpfad muss ein kompletter Ressourcenpfad sein." - -#~ msgid "Target path must exist." -#~ msgstr "Zielpfad muss existieren." - -#~ msgid "Import BitMasks" -#~ msgstr "BitMasks importieren" - -#~ msgid "Source Texture(s):" -#~ msgstr "Quelltextur(en):" - -#~ msgid "Target Path:" -#~ msgstr "Zielpfad:" - -#~ msgid "Accept" -#~ msgstr "Akzeptieren" - -#~ msgid "Bit Mask" -#~ msgstr "Bitmaske" - -#~ msgid "No source font file!" -#~ msgstr "Keine Quellschriftart-Datei gefunden!" - -#~ msgid "No target font resource!" -#~ msgstr "Keine Zielschriftart-Ressource!" - -#~ msgid "" -#~ "Invalid file extension.\n" -#~ "Please use .font." -#~ msgstr "" -#~ "Ungültige Dateiendung.\n" -#~ "Nutze .font als Dateiendung." - -#~ msgid "Couldn't save font." -#~ msgstr "Schriftart konnte nicht gespeichert werden." - -#~ msgid "Source Font:" -#~ msgstr "Quellschriftart:" - -#~ msgid "Dest Resource:" -#~ msgstr "Ziel-Ressource:" - -#~ msgid "The quick brown fox jumps over the lazy dog." -#~ msgstr "Franz jagt im komplett verwahrlosten Taxi quer durch Bayern." - -#~ msgid "Test:" -#~ msgstr "Test:" - -#~ msgid "Options:" -#~ msgstr "Optionen:" - -#~ msgid "Font Import" -#~ msgstr "Schriftart importieren" - -#~ msgid "" -#~ "This file is already a Godot font file, please supply a BMFont type file " -#~ "instead." -#~ msgstr "" -#~ "Diese Datei ist bereits eine Godot Schriftart. Bitte stattdessen eine " -#~ "Datei im BMFont-Format angeben." - -#~ msgid "Failed opening as BMFont file." -#~ msgstr "Öffnen der BMFont-Datei fehlgeschlagen." - -#~ msgid "Invalid font custom source." -#~ msgstr "Eigene Schriftart-Quelle ist ungültig." - -#~ msgid "No meshes to import!" -#~ msgstr "Keine Meshes zu importieren!" - -#~ msgid "Single Mesh Import" -#~ msgstr "Einzelnes Mesh importieren" - -#~ msgid "Source Mesh(es):" -#~ msgstr "Quell Mesh(es):" - -#~ msgid "Surface %d" -#~ msgstr "Oberfläche %d" - -#~ msgid "No samples to import!" -#~ msgstr "Keine Samples zu importieren!" - -#~ msgid "Import Audio Samples" -#~ msgstr "Audio-Samples importieren" - -#~ msgid "Source Sample(s):" -#~ msgstr "Quell Sample(s):" - -#~ msgid "Audio Sample" -#~ msgstr "Audio-Sample" - -#~ msgid "New Clip" -#~ msgstr "Neuer Clip" - -#~ msgid "Flags" -#~ msgstr "Flags" - -#~ msgid "Bake FPS:" -#~ msgstr "FPS fixieren:" - -#~ msgid "Optimizer" -#~ msgstr "Optimierung" - -#~ msgid "Max Linear Error" -#~ msgstr "Obere lineare Fehlergrenze" - -#~ msgid "Max Angular Error" -#~ msgstr "Obere Winkelfehlergrenze" - -#~ msgid "Max Angle" -#~ msgstr "Maximaler Winkel" - -#~ msgid "Start(s)" -#~ msgstr "Start" - -#~ msgid "Source path is empty." -#~ msgstr "Quellpfad ist leer." - -#~ msgid "Couldn't load post-import script." -#~ msgstr "Post-Import Skript konnte nicht geladen werden." - -#~ msgid "Invalid/broken script for post-import." -#~ msgstr "Ungültiges / Fehlerhaftes Skript für Post-Import." - -#~ msgid "Error importing scene." -#~ msgstr "Fehler beim importieren der Szene." - -#~ msgid "Import 3D Scene" -#~ msgstr "3D-Szene importieren" - -#~ msgid "Source Scene:" -#~ msgstr "Quellszene:" - -#~ msgid "Same as Target Scene" -#~ msgstr "Dieselbe wie die Zielszene" - -#~ msgid "Shared" -#~ msgstr "Geteilt" - -#~ msgid "Target Texture Folder:" -#~ msgstr "Ziel-Texturenordner:" - -#~ msgid "Custom Root Node Type:" -#~ msgstr "Angepasster Root-Node-Typ:" - -#~ msgid "Auto" -#~ msgstr "Auto" - -#~ msgid "The Following Files are Missing:" -#~ msgstr "Die folgenden Dateien fehlen:" - -#~ msgid "Import Anyway" -#~ msgstr "Trotzdem importieren" - -#~ msgid "Edited scene has not been saved, open imported scene anyway?" -#~ msgstr "" -#~ "Bearbeitete Szene wurde nicht gespeichert, trotzdem importierte Szene " -#~ "öffnen?" - -#~ msgid "Import Image:" -#~ msgstr "Bild importieren:" - -#~ msgid "Couldn't localize path: %s (already local)" -#~ msgstr "Pfad konnte nicht gefunden werden: %s (bereits lokal)" - -#~ msgid "3D Scene Animation" -#~ msgstr "3D-Szenenanimation" - -#~ msgid "Uncompressed" -#~ msgstr "Unkomprimiert" - -#~ msgid "Compress Lossless (PNG)" -#~ msgstr "Verlustfrei komprimieren (PNG)" - -#~ msgid "Compress Lossy (WebP)" -#~ msgstr "Verlustbehaftet komprimieren (WebP)" - -#~ msgid "Compress (VRAM)" -#~ msgstr "Komprimieren (VRAM)" - -#~ msgid "Texture Format" -#~ msgstr "Texturformat" - -#~ msgid "Texture Compression Quality (WebP):" -#~ msgstr "Texturkompressionsqualität (WebP):" - -#~ msgid "Please specify some files!" -#~ msgstr "Bitte gib einige Dateien an!" - -#~ msgid "At least one file needed for Atlas." -#~ msgstr "Es wird zumindest eine Datei für den Atlas benötigt." - -#~ msgid "Error importing:" -#~ msgstr "Fehler beim importieren:" - -#~ msgid "Max Texture Size:" -#~ msgstr "Maximale Texturgröße:" - -#~ msgid "Import Textures for Atlas (2D)" -#~ msgstr "Texturen für Atlas (2D) importieren" - -#~ msgid "Large Texture" -#~ msgstr "Große Textur" - -#~ msgid "Import Large Textures (2D)" -#~ msgstr "Große Texturen (2D) importieren" - -#~ msgid "Source Texture" -#~ msgstr "Quelltextur" - -#~ msgid "Base Atlas Texture" -#~ msgstr "Basis-Atlastextur" - -#~ msgid "Source Texture(s)" -#~ msgstr "Quelltextur(en)" - -#~ msgid "Import Textures for 2D" -#~ msgstr "Texturen für 2D importieren" - -#~ msgid "Import Textures for 3D" -#~ msgstr "Texturen für 3D importieren" - -#~ msgid "Import Textures" -#~ msgstr "Texturen importieren" - -#~ msgid "2D Texture" -#~ msgstr "2D-Textur" - -#~ msgid "3D Texture" -#~ msgstr "3D-Textur" - -#~ msgid "Atlas Texture" -#~ msgstr "Atlastextur" - -#~ msgid "" -#~ "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files " -#~ "to the project." -#~ msgstr "" -#~ "MERKE: Das importieren von 2D Texturen ist nicht zwingend notwendig. " -#~ "Kopiere einfach png/jpg Dateien in das Projekt." - -#~ msgid "Crop empty space." -#~ msgstr "Leere Bereiche beschneiden." - -#~ msgid "Texture" -#~ msgstr "Textur" - -#~ msgid "Import Large Texture" -#~ msgstr "Große Textur importieren" - -#~ msgid "Load Source Image" -#~ msgstr "Quellbild laden" - -#~ msgid "Slicing" -#~ msgstr "Teile" - -#~ msgid "Saving" -#~ msgstr "Speichere" - -#~ msgid "Couldn't save large texture:" -#~ msgstr "Große Textur konnte nicht gespeichert werden:" - -#~ msgid "Build Atlas For:" -#~ msgstr "Erstelle Atlas für:" - -#~ msgid "Loading Image:" -#~ msgstr "Lade Bild:" - -#~ msgid "Converting Images" -#~ msgstr "Bilder werden konvertiert" - -#~ msgid "Cropping Images" -#~ msgstr "Bilder werden beschnitten" - -#~ msgid "Couldn't save atlas image:" -#~ msgstr "Atlas-Bild konnte nicht gespeichert werden:" - -#~ msgid "Invalid translation source!" -#~ msgstr "Fehlerhafte Übersetzungsquelle!" - -#~ msgid "Column" -#~ msgstr "Reihe" - -#~ msgid "No items to import!" -#~ msgstr "Keine Elemente zu importieren!" - -#~ msgid "No target path!" -#~ msgstr "Kein Zielpfad!" - -#~ msgid "Import Translations" -#~ msgstr "Übersetzungen importieren" - -#~ msgid "Couldn't import!" -#~ msgstr "Konnte nicht importiert werden!" - -#~ msgid "Import Translation" -#~ msgstr "Übersetzung importieren" - -#~ msgid "Source CSV:" -#~ msgstr "Quell-CSV:" - -#~ msgid "Ignore First Row" -#~ msgstr "Erste Zeile ignorieren" - -#~ msgid "Compress" -#~ msgstr "Komprimieren" - -#~ msgid "Add to Project (project.godot)" -#~ msgstr "Zu Projekt hinzufügen (project.godot)" - -#~ msgid "Import Languages:" -#~ msgstr "Sprachen importieren:" - -#~ msgid "Translation" -#~ msgstr "Übersetzung" - -#~ msgid "Triangle #" -#~ msgstr "Dreieck #" - -#~ msgid "Light Baker Setup:" -#~ msgstr "Light-Baker einrichten:" - -#~ msgid "Fixing Lights" -#~ msgstr "Fixiere Lampen" - -#~ msgid "Making BVH" -#~ msgstr "Erstelle BVH" - -#~ msgid "Allocating Texture #" -#~ msgstr "Zuweisen von Textur #" - -#~ msgid "Baking Triangle #" -#~ msgstr "Baking von Dreieck #" - -#~ msgid "Post-Processing Texture #" -#~ msgstr "Nachbearbeiten von Textur #" - -#~ msgid "Reset the lightmap octree baking process (start over)." -#~ msgstr "Lightmap-Octree-Backing-Prozess zurücksetzen (neu starten)." - -#~ msgid "Zoom Set..." -#~ msgstr "Vergrößerung setzen..." - -#~ msgid "Parse BBCode" -#~ msgstr "BBCode parsen" - -#~ msgid "Length:" -#~ msgstr "Länge:" - -#~ msgid "Open Sample File(s)" -#~ msgstr "Audiodatei(en) öffnen" - -#~ msgid "ERROR: Couldn't load sample!" -#~ msgstr "Fehler: Konnte Audio nicht laden!" - -#~ msgid "Add Sample" -#~ msgstr "Sample hinzufügen" - -#~ msgid "Rename Sample" -#~ msgstr "Sample umbenennen" - -#~ msgid "Delete Sample" -#~ msgstr "Sample löschen" - -#~ msgid "16 Bits" -#~ msgstr "16 Bit" - -#~ msgid "8 Bits" -#~ msgstr "8 Bit" - -#~ msgid "Stereo" -#~ msgstr "Stereo" - -#~ msgid "Scaling to %s%%." -#~ msgstr "Skaliere auf %s%%." - -#~ msgid "Bucket" -#~ msgstr "Eimer" - -#~ msgid "Invalid project path, the path must exist!" -#~ msgstr "Ungültiger Projektpfad, der Pfad muss existieren!" - -#~ msgid "Invalid project path, project.godot must not exist." -#~ msgstr "Ungültiger Projektpfad, project.godot darf nicht existieren." - -#~ msgid "Invalid project path, project.godot must exist." -#~ msgstr "Ungültiger Projektpfad, project.godot muss existieren." - -#~ msgid "Project Path (Must Exist):" -#~ msgstr "Projektpfad (muss existieren):" - -#~ msgid "Create New Resource" -#~ msgstr "Erstelle neue Ressource" - -#~ msgid "Open Resource" -#~ msgstr "Ressource öffnen" - -#~ msgid "Save Resource" -#~ msgstr "Ressource speichern" - -#~ msgid "Resource Tools" -#~ msgstr "Ressourcenwerkzeuge" - -#~ msgid "Tiles" -#~ msgstr "Kacheln" - -#~ msgid "Areas" -#~ msgstr "Bereiche" - -#~ msgid "Ctrl+" -#~ msgstr "Strg+" - -#~ msgid "Close scene? (Unsaved changes will be lost)" -#~ msgstr "Szene schließen? (Nicht gespeicherte Änderungen gehen verloren)" - -#~ msgid "" -#~ "Open Project Manager? \n" -#~ "(Unsaved changes will be lost)" -#~ msgstr "" -#~ "Projektverwaltung öffnen?\n" -#~ "(Nicht gespeicherte Änderungen gehen verloren)" - -#~ msgid "Close Goto Prev. Scene" -#~ msgstr "Schließen und zur letzten Szene wechseln" - -#~ msgid "Del" -#~ msgstr "Entfernen" - -#~ msgid "just pressed" -#~ msgstr "gerade gedrückt" - -#~ msgid "" -#~ "Couldn't read the certificate file. Are the path and password both " -#~ "correct?" -#~ msgstr "" -#~ "Die Zertifikat-Datei konnte nicht gelesen werden. Sind Pfad und Passwort " -#~ "beide korrekt?" - -#~ msgid "Error creating the package signature." -#~ msgstr "Fehler beim erstellen der Paketsignatur." - -#, fuzzy -#~ msgid "RAW Mode" -#~ msgstr "Roh-Modus" - -#~ msgid "Node From Scene" -#~ msgstr "Node aus Szene" - -#~ msgid "Import assets to the project." -#~ msgstr "Importiere Medieninhalte ins Projekt." - -#~ msgid "Export the project to many platforms." -#~ msgstr "Exportiere das Projekt für viele Plattformen." - -#~ msgid "Alerts when an external resource has changed." -#~ msgstr "Signalisiert, wenn sich eine externe Ressource verändert hat." - -#~ msgid "Open https://godotengine.org at tutorials section." -#~ msgstr "Öffnet https://godotengine.org im Abschnitt ‚Tutorials‘." - -#~ msgid "No scene selected to instance!" -#~ msgstr "Keine Szene für Instanz ausgewählt!" - -#~ msgid "Instance at Cursor" -#~ msgstr "Instanz am Mauszeiger" - -#~ msgid "Use Default Light" -#~ msgstr "Nutze Standardlicht" - -#~ msgid "Default Light Normal:" -#~ msgstr "Standardlichtnormale:" - -#~ msgid "Ambient Light Color:" -#~ msgstr "Umgebungslichtfarbe:" - -#~ msgid "Invalid parent class name" -#~ msgstr "Ungültiger Name für Elternklasse" - -#~ msgid "Valid chars:" -#~ msgstr "Gültige Zeichen:" - -#~ msgid "Valid name" -#~ msgstr "Gültiger Name" - -#~ msgid "Class name is invalid!" -#~ msgstr "Name der Klasse ist ungültig!" - -#~ msgid "Parent class name is invalid!" -#~ msgstr "Name der Elternklasse ist ungültig!" - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "" -#~ "Die Pfad-Eigenschaft muss auf ein gültiges Particles2D-Node verweisen." - -#~ msgid "Surface" -#~ msgstr "Oberfläche" - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SamplePlayer to play sound." -#~ msgstr "" -#~ "Eine SampleLibrary-Ressource muss unter der Eigenschaft ‚Samples‘ erzeugt " -#~ "oder ausgewählt werden, damit SamplePlayer Ton abspielen kann." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SpatialSamplePlayer to play sound." -#~ msgstr "" -#~ "Eine SampleLibrary-Ressource muss unter der ‚Samples‘-Eigenschaft erzeugt " -#~ "oder ausgewählt werden, damit SpatialSamplePlayer Ton abspielen kann." - -#~ msgid "Replaced %d Ocurrence(s)." -#~ msgstr "Suchbegriff wurde %d mal ersetzt." - -#~ msgid "Save Translatable Strings" -#~ msgstr "Speichere übersetzbare Zeichenketten" - -#~ msgid "Edit Script Options" -#~ msgstr "Skriptoptionen bearbeiten" - -#~ msgid "Error exporting project!" -#~ msgstr "Fehler beim Exportieren des Projekts!" - -#~ msgid "Error writing the project PCK!" -#~ msgstr "Fehler beim Schreiben des Projekt-PCK!" - -#~ msgid "No exporter for platform '%s' yet." -#~ msgstr "Kein Exporter für Plattform ‚%s‘ verfügbar." - -#~ msgid "Create Android keystore" -#~ msgstr "Erzeuge Android-Schlüssel" - -#~ msgid "Organizational unit" -#~ msgstr "Organisatorische Einheit" - -#~ msgid "Organization" -#~ msgstr "Organisation" - -#~ msgid "City" -#~ msgstr "Stadt" - -#~ msgid "2 letter country code" -#~ msgstr "2-Buchstaben-Ländercode" - -#~ msgid "User alias" -#~ msgstr "Nutzer-Alias" - -#~ msgid "Password" -#~ msgstr "Passwort" - -#~ msgid "at least 6 characters" -#~ msgstr "Mindestens 6 Zeichen" - -#~ msgid "File name" -#~ msgstr "Dateiname" - -#~ msgid "Path : (better to save outside of project)" -#~ msgstr "Pfad: (besser außerhalb des Projektordners speichern)" - -#~ msgid "" -#~ "Release keystore is not set.\n" -#~ "Do you want to create one?" -#~ msgstr "" -#~ "Release-Schlüsselspeicher wurde nicht gewählt.\n" -#~ "Soll einer erstellt werden?" - -#~ msgid "Fill Keystore/Release User and Release Password" -#~ msgstr "Schlüsselspeicher, Nutzer und Passwort für Release eingeben" - -#~ msgid "Include" -#~ msgstr "Einbeziehen" - -#~ msgid "Group name can't be empty!" -#~ msgstr "Gruppenname muss vorhanden sein!" - -#~ msgid "Invalid character in group name!" -#~ msgstr "Ungültiges Zeichen in Gruppenname!" - -#~ msgid "Add Image Group" -#~ msgstr "Füge Bildergruppe hinzu" - -#~ msgid "Project Export Settings" -#~ msgstr "Projektexporteinstellungen" - -#~ msgid "Export to Platform" -#~ msgstr "Export zu Plattform" - -#~ msgid "Export all files in the project directory." -#~ msgstr "Exportiere alle Dateien im Projektverzeichnis." - -#~ msgid "Convert text scenes to binary on export." -#~ msgstr "Konvertiere Textszenen in Binärformat beim Exportieren." - -#~ msgid "Images" -#~ msgstr "Bilder" - -#~ msgid "Keep Original" -#~ msgstr "Original behalten" - -#~ msgid "Compress for Disk (Lossy, WebP)" -#~ msgstr "Komprimiere für Festplattenspeicher (verlustbehaftet, WebP)" - -#~ msgid "Compress for RAM (BC/PVRTC/ETC)" -#~ msgstr "Komprimiere für Arbeitsspeicher (BC/PVRTC/ETC)" - -#~ msgid "Convert Images (*.png):" -#~ msgstr "Konvertiere Bilder (*.png):" - -#~ msgid "Compress for Disk (Lossy) Quality:" -#~ msgstr "" -#~ "Qualitätseinstellungen für Kompression (verlustbehaftet, auf Festplatte):" - -#~ msgid "Shrink All Images:" -#~ msgstr "Alle Bilder verkleinern:" - -#~ msgid "Compress Formats:" -#~ msgstr "Komprimierungsformate:" - -#~ msgid "Groups:" -#~ msgstr "Gruppen:" - -#~ msgid "Compress Disk" -#~ msgstr "Komprimiere für Festplatte" - -#~ msgid "Compress RAM" -#~ msgstr "Komprimiere für Arbeitsspeicher" - -#~ msgid "Compress Mode:" -#~ msgstr "Kompressionsmodus:" - -#~ msgid "Lossy Quality:" -#~ msgstr "Verlustbehaftete Qualität:" - -#~ msgid "Shrink By:" -#~ msgstr "Verkleinern nach:" - -#~ msgid "Images:" -#~ msgstr "Bilder:" - -#~ msgid "Sample Conversion Mode: (.wav files):" -#~ msgstr "Audio-Umwandlungs-Modus: (.wav-Dateien):" - -#~ msgid "Compress (RAM - IMA-ADPCM)" -#~ msgstr "Komprimieren (RAM - IMA-ADPCM)" - -#~ msgid "Sampling Rate Limit (Hz):" -#~ msgstr "Grenze der Abtastrate (Hz):" - -#~ msgid "Trim" -#~ msgstr "Zuschneiden" - -#~ msgid "Trailing Silence:" -#~ msgstr "Auslaufende Stille:" - -#~ msgid "Export Project PCK" -#~ msgstr "Exportiere Projekt-PCK" - -#~ msgid "Project Export" -#~ msgstr "Projekt exportieren" - -#~ msgid "BakedLightInstance does not contain a BakedLight resource." -#~ msgstr "BakedLightInstance enthält keine BakedLight-Ressource." - -#~ msgid "Lighting" -#~ msgstr "Belichtung" - -#~ msgid "Global" -#~ msgstr "Global" - -#~ msgid "" -#~ "This item cannot be made visible because the parent is hidden. Unhide the " -#~ "parent first." -#~ msgstr "" -#~ "Diese Element kann nicht sichtbar gemacht werden solange das " -#~ "Elternelement versteckt ist. Elternelement zuerst sichtbar machen." - -#~ msgid "File exists" -#~ msgstr "Datei existiert" - -#~ msgid "Valid path" -#~ msgstr "Gültiger Pfad" - -#~ msgid "" -#~ "Custom node has no _get_output_port_unsequenced(idx,wmem), but " -#~ "unsequenced ports were specified." -#~ msgstr "" -#~ "Eigens erstelltes Node hat keine Methode _get_output_port_unsequenced(idx," -#~ "wmem), jedoch wurden unsequenzierte Ports angegeben." - -#~ msgid "Cannot go into subdir:" -#~ msgstr "Unterordner kann nicht geöffnet werden:" - -#~ msgid "Enable/Disable interpolation when looping animation." -#~ msgstr "Aktivieren/Deaktivieren Interpolation, wenn Schleife aktiviert." - -#~ msgid "Load Layout" -#~ msgstr "Layout Laden" - -#~ msgid "Binds (Extra Params):" -#~ msgstr "Bindungen (Extra Parameter):" - -#~ msgid "Method In Node:" -#~ msgstr "Methode in Node:" diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot index 9d183271f6..2dc0c8b284 100644 --- a/editor/translations/editor.pot +++ b/editor/translations/editor.pot @@ -1,6 +1,6 @@ # LANGUAGE translation of the Godot Engine editor. -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. @@ -2039,14 +2039,30 @@ msgstr "" msgid "Theme Properties" msgstr "" -#: editor/editor_help.cpp -msgid "Enumerations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "" @@ -8236,18 +8252,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -12776,7 +12780,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12785,6 +12794,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" diff --git a/editor/translations/el.po b/editor/translations/el.po index 3aa20da318..0de6901953 100644 --- a/editor/translations/el.po +++ b/editor/translations/el.po @@ -1,6 +1,6 @@ # Greek translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # George Tsiamasiotis <gtsiam@windowslive.com>, 2017-2018, 2019, 2020, 2021. # Georgios Katsanakis <geo.elgeo@gmail.com>, 2019. @@ -2145,14 +2145,34 @@ msgstr "Συναρτήσεις" msgid "Theme Properties" msgstr "Ιδιότητες θέματος" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Απαριθμήσεις" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Colors" +msgstr "Χρώμα" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Σταθερές" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Fonts" +msgstr "Γραμματοσειρά" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Icons" +msgstr "Εικονίδιο" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Styles" +msgstr "Στυλ" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Απαριθμήσεις" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Περιγραφές ιδιοτήτων" @@ -8734,21 +8754,6 @@ msgstr "TextureRegion" #: 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 "Κουτί Στυλ" @@ -13646,8 +13651,17 @@ msgstr "" "Η επιλογή «Use Custom Build» πρέπει να ενεργοποιηθεί για χρήση προσθέτων." #: platform/android/export/export_plugin.cpp +#, fuzzy msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" +"Το «Hand Tracking» είναι έγκυρο μόνο όταν το «Xr Mode» είναι «Oculus Mobile " +"VR»." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" "Το «Hand Tracking» είναι έγκυρο μόνο όταν το «Xr Mode» είναι «Oculus Mobile " "VR»." @@ -13658,6 +13672,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14825,2047 +14854,3 @@ msgstr "Ανάθεση σε ενιαία μεταβλητή." #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Οι σταθερές δεν μπορούν να τροποποιηθούν." - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "Κάνε Στάση Αδράνειας (Από Οστά)" - -#~ msgid "Bottom" -#~ msgstr "Κάτω" - -#~ msgid "Left" -#~ msgstr "Αριστερά" - -#~ msgid "Right" -#~ msgstr "Δεξιά" - -#~ msgid "Front" -#~ msgstr "Μπροστά" - -#~ msgid "Rear" -#~ msgstr "Πίσω" - -#~ msgid "Nameless gizmo" -#~ msgstr "Ανώνυμο μαραφέτι" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "Το «Degrees Of Freedom» είναι έγκυρο μόνο όταν το «Xr Mode» είναι «Oculus " -#~ "Mobile VR»." - -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "Το «Focus Awareness» είναι έγκυρο μόνο όταν το «Xr Mode» είναι «Oculus " -#~ "Mobile VR»." - -#~ msgid "Package Contents:" -#~ msgstr "Περιεχόμενα Πακέτου:" - -#~ msgid "Singleton" -#~ msgstr "Μονοσύνολο" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Διαγραφή προφίλ «%s»; (χωρίς ανέραιση)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Ενεργοποιημένες Ιδιότητες:" - -#~ msgid "Enabled Features:" -#~ msgstr "Ενεργοποιημένες Δυνατότητες:" - -#~ msgid "Unset" -#~ msgstr "Κατάργηση" - -#~ msgid "Class Options" -#~ msgstr "Επιλογές Κλάσης" - -#~ msgid "Set" -#~ msgstr "Ορισμός" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Αποθηκεύτηκαν %s αλλαγμένοι πόροι." - -#~ msgid "Q&A" -#~ msgstr "Ερωτήσεις & Απαντήσεις" - -#~ msgid "Status:" -#~ msgstr "Κατάσταση:" - -#~ msgid "Edit:" -#~ msgstr "Επεξεργασία:" - -#~ msgid "Redownload" -#~ msgstr "Εκ νέου λήψη" - -#~ msgid "(Installed)" -#~ msgstr "(Εγκατεστημένο)" - -#~ msgid "(Missing)" -#~ msgstr "(Λείπει)" - -#~ msgid "Request Failed." -#~ msgstr "Το αίτημα απέτυχε." - -#~ msgid "Redirect Loop." -#~ msgstr "Βρόχος ανακατευθήνσεων." - -#~ msgid "Download Complete." -#~ msgstr "Η λήψη ολοκληρώθηκε." - -#~ msgid "Remove Template" -#~ msgstr "Αφαίρεση προτύπου" - -#~ msgid "Download Templates" -#~ msgstr "Λήψη προτύπων" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "" -#~ "Επιλέξτε έναν διακομιστή κατοπτρισμού: (Shift+Click για άνοιγμα στο " -#~ "πρόγραμμα περιήγησης)" - -#, fuzzy -#~ msgid "Move to Trash" -#~ msgstr "Μετακίνηση στα απορρίμματα" - -#~ msgid "Expand All Properties" -#~ msgstr "Ανάπτυξη Όλων των Ιδιοτήτων" - -#~ msgid "Collapse All Properties" -#~ msgstr "Σύμπτυξη Όλων των Ιδιοτήτων" - -#~ msgid "Copy Params" -#~ msgstr "Αντιγραφή παραμέτρων" - -#~ msgid "Open in Help" -#~ msgstr "Άνοιγμα στη βοήθεια" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "Αντικατάσταση Κάμερας Παιχνιδιού\n" -#~ "Δεν τρέχει κανένα περιστατικό παιχνιδιού." - -#~ msgid "Drag: Rotate" -#~ msgstr "Σύρσιμο: Περιστροφή" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Πατήστε 'v' για να Αλλάξετε το Πηγαίο Σημείο, 'Shift+v' για να Σύρετε το " -#~ "Πηγαίο Σημείο (καθώς μετακινείτε)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+Δεξί Κλικ Ποντικιού: Επιλογή λίστας βάθους" - -#~ msgid "Clone Down" -#~ msgstr "Κλωνοποίηση κάτω" - -#~ msgid "Yaw" -#~ msgstr "Παρέκκλιση" - -#~ msgid "Size" -#~ msgstr "Μέγεθος" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "Μετακίνηση: Περιστροφή\n" -#~ "Alt + Σύρσιμο: Μετακίνηση\n" -#~ "Alt + Δεξί κλικ: Επιλογή λίστας βάθους" - -#~ msgid "Sep.:" -#~ msgstr "Διαχωριστικό:" - -#~ msgid "Add All" -#~ msgstr "Προσθήκη όλων" - -#~ msgid "Theme editing menu." -#~ msgstr "Μενού επεξεργασίας θέματος." - -#~ msgid "Create Empty Template" -#~ msgstr "Δημιουργία άδειου προτύπου" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "Δημιουργία άδειου προτύπου επεξεργαστή" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "Δημιουργία από το τρέχων θέμα του επεξεργαστή" - -#~ msgid "Data Type:" -#~ msgstr "Τύπος δεδομένων:" - -#~ msgid "Theme File" -#~ msgstr "Θέμα Αρχείου" - -#~ msgid "Compiled" -#~ msgstr "Μεταγλωτισμένες" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "Αφαίρεση %d έργων από την λίστα;\n" -#~ "Τα περιεχόμενα των καταλόγων των έργων δεν θα τροποποιηθούν." - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "Αφαίρεση έργου από την λίστα;\n" -#~ "Τα περιεχόμενα του καταλόγου του έργου δεν θα τροποποιηθούν." - -#~ msgid "Templates" -#~ msgstr "Πρότυπα" - -#~ msgid "Add Remapped Path" -#~ msgstr "Προσθήκη ανακατεύθυνσης διαδρομής" - -#~ msgid "Can not perform with the root node." -#~ msgstr "Δεν είναι δυνατή η εκτέλεση με τον πηγαίο κόμβο." - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "Σφάλμα κατά την ανάγνωση εικόνας εκκίνησης:" - -#~ msgid "Using default boot splash image." -#~ msgstr "Χρήση προεπιλεγμένης εικόνας εκκίνησης." - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "Ένα AnimationPlayer δεν μπορεί να κινήσει τον εαυτό του." - -#~ msgid "Clipboard is empty" -#~ msgstr "Το πρόχειρο είναι άδειο" - -#~ msgid "" -#~ "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -#~ msgstr "" -#~ "Η InterpolatedCamera έχει καταργηθεί και θα αφαιρεθεί στο Godot 4.0." - -#~ msgid "No" -#~ msgstr "Όχι" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "" -#~ "Αυτή η σκηνή δεν έχει αποθηκευτεί. Αποθήκευση πριν από την εκτέλεση;" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "" -#~ "Το εκτελέσιμο αρχείο ADB δεν έχει ρυθμιστεί στις Ρυθμίσεις Επεξεργαστή." - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "Το OpenJDK jarsigner δεν έχει ρυθμιστεί στις Ρυθμίσεις Επεξεργαστή." - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "" -#~ "Η προσαρμοσμένη δόμηση απαιτεί μια έγκυρη διαδρομή για το Android SDK " -#~ "στις Ρυθμίσεις Επεξεργαστή." - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(Ολοκλήρωση σε: %d:%02d s)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "Τοποθέτηση πλεγμάτων: " - -#~ msgid "Lighting Meshes: " -#~ msgstr "Φώτηση πλεγμάτων: " - -#~ msgid "Search complete" -#~ msgstr "Ολοκλήρωση αναζήτησης" - -#~ msgid "No commit message was provided" -#~ msgstr "Κανένα δεσμευμένο μήνυμα δεν παρασχέθηκε" - -#~ msgid "Add a commit message" -#~ msgstr "Προσθέστε ένα μήνυμα δέσμευσης" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "Υπάρχει ήδη αρχείο ή φάκελος με το ίδιο όνομα στη διαδρομή." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Σφάλμα κατά την αποθήκευση διάταξης!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Η προεπιλεγμένη διάταξη του editor έχει παρακαμφθεί." - -#~ msgid "Move pivot" -#~ msgstr "Μετακίνηση πηγαίου σημείου" - -#~ msgid "Move anchor" -#~ msgstr "Μετακίνηση άγκυρας" - -#~ msgid "Resize CanvasItem" -#~ msgstr "Αλλαγή μεγέθους CanvasItem" - -#~ msgid "Polygon->UV" -#~ msgstr "Πολύγωνο -> UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV -> Πολύγωνο" - -#~ msgid "Add initial export..." -#~ msgstr "Προσθέστε αρχική εξαγωγή..." - -#~ msgid "Add previous patches..." -#~ msgstr "Προσθέστε προηγούμενα λογισμικά επιδιόρθωσης..." - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "Διαγραφή ενημέρωσης '%s' από την λίστα;" - -#~ msgid "Patches" -#~ msgstr "Ενημερώσεις" - -#~ msgid "Make Patch" -#~ msgstr "Δημιουργία ενημέρωσης" - -#~ msgid "Pack File" -#~ msgstr "Αρχείο Pack" - -#~ msgid "No build apk generated at: " -#~ msgstr "Δεν παράχθηκε δόμησης apk στο: " - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "Πλατφόρμες Συστήματος Αρχείων και Εισαγωγής" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "Όταν εξάγετε ή αναπτύσσετε, το παραγόμενο εκτελέσιμο θα προσπαθήσει να " -#~ "συνδεθεί στην IP αυτού του υπολογιστή για να αποσφαλματωθεί." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "" -#~ "Η τρέχουσα σκηνή δεν έχει αποθηκευτεί, αποθηκεύστε πριν να τρέξετε το " -#~ "πρόγραμμα." - -#~ msgid "Revert" -#~ msgstr "Επαναφορά" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "" -#~ "Αυτή η ενέργεια δεν μπορεί να αναιρεθεί. Θέλετε να συνεχίσετε με την " -#~ "επαναφορά;" - -#~ msgid "Revert Scene" -#~ msgstr "Επαναφορά σκηνής" - -#~ msgid "Clear Script" -#~ msgstr "Εκκαθάριση Δέσμης Ενεργειών" - -#~ msgid "Issue Tracker" -#~ msgstr "Διαχείριση προβλημάτων" - -#~ msgid "Request Docs" -#~ msgstr "Αίτηση Τεκμηρίωσης" - -#~ msgid "Help improve the Godot documentation by giving feedback." -#~ msgstr "Βοηθήστε στην βελτίωση της τεκμηρίωσης σχολιάζοντας." - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "Αντικαταστάθηκαν %d εμφανίσεις." - -#~ msgid "Create Static Convex Body" -#~ msgstr "Δημιουργία στατικού κυρτού σώματος" - -#~ msgid "Failed creating shapes!" -#~ msgstr "Αποτυχία δημιουργίας σχημάτων!" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Δεν υπάρχει ακόμα βοήθεια για αυτήν την κλάση, μπορείτε να την [color=" -#~ "$color][url=$url]γράψετε[/url][/color] ή να την [color=$color][url=" -#~ "$url2]ζητήσετε[/url][/color]." - -#~ msgid "enum " -#~ msgstr "απαρίθμηση " - -#~ msgid "Brief Description" -#~ msgstr "Σύντομη Περιγραφή" - -#~ msgid "Class Description" -#~ msgstr "Περιγραφή κλάσης" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "Η εξαγωγή του έργου απέτυχε με κωδικό %d." - -#~ msgid "Password:" -#~ msgstr "Κωδικός:" - -#~ msgid "Identifier segments must be of non-zero length." -#~ msgstr "Τα τμήματα του αναγνωριστικού πρέπει να έχουν μη μηδενικό μήκος." - -#~ msgid "A digit cannot be the first character in a Identifier segment." -#~ msgstr "" -#~ "Ένα ψηφίο δεν μπορεί να είναι ο πρώτος χαρακτήρας σε ένα τμήμα " -#~ "αναγνωριστικού." - -#~ msgid "" -#~ "The character '%s' cannot be the first character in a Identifier segment." -#~ msgstr "" -#~ "Ο χαρακτήρας '%s' δεν μπορεί να είναι ο πρώτος χαρακτήρας σε ένα τμήμα " -#~ "αναγνωριστικού." - -#~ msgid "The Identifier must have at least one '.' separator." -#~ msgstr "Το αναγνωριστικό πρέπει να έχει τουλάχιστον έναν '.' διαχωριστή." - -#~ msgid "Pause the scene" -#~ msgstr "Παύση της σκηνής" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Control+" -#~ msgstr "Control+" - -#~ msgid "Snap to Grid" -#~ msgstr "Κούμπωμα στο Πλέγμα" - -#~ msgid "Add input +" -#~ msgstr "Προσθήκη εισόδου +" - -#~ msgid "Language" -#~ msgstr "Γλώσσα" - -#~ msgid "Inherits" -#~ msgstr "Κληρονομεί" - -#~ msgid "Base Type:" -#~ msgstr "Τύπος βάσης:" - -#~ msgid "Available Nodes:" -#~ msgstr "Διαθέσιμοι κόμβοι:" - -#~ msgid "Input" -#~ msgstr "Είσοδος" - -#~ msgid "Methods:" -#~ msgstr "Μεθόδοι:" - -#~ msgid "Theme Properties:" -#~ msgstr "Ιδιότητες θέματος:" - -#~ msgid "Enumerations:" -#~ msgstr "Απαριθμήσεις:" - -#~ msgid "Constants:" -#~ msgstr "Σταθερές:" - -#~ msgid "Class Description:" -#~ msgstr "Περιγραφή κλάσης:" - -#~ msgid "Property Descriptions:" -#~ msgstr "Περιγραφές ιδιοτήτων:" - -#~ msgid "Method Descriptions:" -#~ msgstr "Περιγραφές μεθόδων:" - -#~ msgid "" -#~ "This will install the Android project for custom builds.\n" -#~ "Note that, in order to use it, it needs to be enabled per export preset." -#~ msgstr "" -#~ "Αυτό θα εγκαταστήσει το έργο Android για προσαρμοσμένα χτισίματα.\n" -#~ "Σημειώστε πως, για τη χρήση του, πρέπει να ενεργοποιηθεί ανά διαμόρφωση " -#~ "εξαγωγής." - -#~ msgid "Reverse sorting." -#~ msgstr "Αντιστροφή ταξινόμησης." - -#~ msgid "Delete Node(s)?" -#~ msgstr "Διαγραφή κόμβων;" - -#~ msgid "No Matches" -#~ msgstr "Δεν υπάρχουν αντιστοιχίες" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "Αδύνατο το άνοιγμα του αρχείου file_type_cache.cch για εγγραφή, παράλειψη " -#~ "αποθήκευσης cache τύπου αρχείου!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "" -#~ "Δεν ήταν δυνατή η πλοήγηση στο '%s', καθώς δεν βρέθηκε στο σύστημα " -#~ "αρχείων!" - -#~ msgid "Error loading image:" -#~ msgstr "Σφάλμα κατά την φόρτωση εικόνας:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "Δεν υπάρχουν εικονοστοιχεία με διαφάνεια >128 στην εικόνα..." - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "Ο γονέας δεν έχει συμπαγείς επιφάνειες για να συμπληρωθούν." - -#~ msgid "Couldn't map area." -#~ msgstr "Δεν ήταν δυνατή η χαρτογράφηση της περιοχής." - -#~ msgid "Faces contain no area!" -#~ msgstr "Οι επιφάνειες έχουν μηδενικό εμβαδόν!" - -#~ msgid "No faces!" -#~ msgstr "Δεν υπάρχουν επιφάνειες!" - -#~ msgid "Error: could not load file." -#~ msgstr "Σφάλμα φόρτωσης αρχείου." - -#~ msgid "Error could not load file." -#~ msgstr "Σφάλμα φόρτωσης αρχείου." - -#~ msgid "Doppler Enable" -#~ msgstr "Φαινόμενο Ντόπλερ" - -#~ msgid "Select Mode (Q)" -#~ msgstr "Επιλογή λειτουργίας (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "Λειτουργία μετακίνησης (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "Λειτουργία περιστροφής (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "Λειτουργία κλιμάκωσης (R)" - -#~ msgid "Local Coords" -#~ msgstr "Τοπικές συντεταγμένες" - -#~ msgid "Snap Mode (%s)" -#~ msgstr "Λειτουργία κουμπώματος (%s)" - -#~ msgid "Tool Select" -#~ msgstr "Εργαλείο επιλογής" - -#~ msgid "Tool Move" -#~ msgstr "Εργαλείο μετακίνησης" - -#~ msgid "Tool Rotate" -#~ msgstr "Εργαλείο περιστροφής" - -#~ msgid "Tool Scale" -#~ msgstr "Εργαλείο κλιμάκωσης" - -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "" -#~ "Αφαίρεση όλων των απόντων έργων από την λίστα; (Τα περιεχόμενα το φακέλου " -#~ "δεν θα τροποποιηθούν)" - -#~ msgid "Project List" -#~ msgstr "Λίστα έργων" - -#~ msgid "Exit" -#~ msgstr "Έξοδος" - -#~ msgid "Could not execute PVRTC tool:" -#~ msgstr "Δεν ήταν δυνατή η εκτέλεση του εργαλείου PVRTC:" - -#~ msgid "Can't load back converted image using PVRTC tool:" -#~ msgstr "" -#~ "Δεν ήταν δυνατή η επαναφόρτωση της εικόνας που έχει μετατραπεί με το " -#~ "εργαλείο PVRTC:" - -#~ msgid "Error initializing FreeType." -#~ msgstr "Σφάλμα κατά την αρχικοποίηση του FreeType." - -#~ msgid "Unknown font format." -#~ msgstr "Άγνωστη μορφή γραμματοσειράς." - -#~ msgid "Error loading font." -#~ msgstr "Σφάλμα κατά την φόρτωση της γραμματοσειράς." - -#~ msgid "Invalid font size." -#~ msgstr "Μη έγκυρο μέγεθος γραμματοσειράς." - -#~ msgid "Previous Folder" -#~ msgstr "Προηγούμενος φάκελος" - -#~ msgid "Next Folder" -#~ msgstr "Επόμενος φάκελος" - -#~ msgid "Automatically Open Screenshots" -#~ msgstr "Αυτόματο Άνοιγμα Στιγμιοτύπων Οθόνης" - -#~ msgid "Open in an external image editor." -#~ msgstr "Άνοιγμα σε εξωτερικό επεξεργαστή εικόνων." - -#~ msgid "Reverse" -#~ msgstr "Αντιστροφή" - -#~ msgid "Mirror X" -#~ msgstr "Συμμετρία στον άξονα Χ" - -#~ msgid "Mirror Y" -#~ msgstr "Συμμετρία στον άξονα Υ" - -#~ msgid "Generating solution..." -#~ msgstr "Επίλυση..." - -#~ msgid "Generating C# project..." -#~ msgstr "Δημιουργία έργου C#..." - -#~ msgid "Failed to create solution." -#~ msgstr "Απέτυχε η δημιουργία λύσης." - -#~ msgid "Failed to save solution." -#~ msgstr "Απέτυχε η αποθήκευση της λύσης." - -#~ msgid "Failed to create C# project." -#~ msgstr "Απέτυχε η δημιουργία έργου C#." - -#~ msgid "Mono" -#~ msgstr "Μονοφωνικό" - -#~ msgid "About C# support" -#~ msgstr "Σχετικά με την υποστήριξη C#" - -#~ msgid "Create C# solution" -#~ msgstr "Δημιουργία λύσης C#" - -#~ msgid "Builds" -#~ msgstr "Δόμηση" - -#~ msgid "Build Project" -#~ msgstr "Δόμηση έργου" - -#~ msgid "View log" -#~ msgstr "Προβολή αρχείου καταγραφής" - -#~ msgid "WorldEnvironment needs an Environment resource." -#~ msgstr "Το WorldEnvironment χρειάζεται έναν πόρο Environment." - -#~ msgid "Enabled Classes" -#~ msgstr "Ενεργοποιημένες Κλάσεις" - -#~ msgid "Update Always" -#~ msgstr "Ενημέρωση πάντα" - -#~ msgid "'camera' input parameter for all shader modes." -#~ msgstr "Παράμετρος εισόδου «camera» για όλες τις λειτουργίες σκίασης." - -#~ msgid "'inv_camera' input parameter for all shader modes." -#~ msgstr "Παράμετρος εισόδου «inv_camera» για όλες τις λειτουργίες σκίασης." - -#~ msgid "'inv_projection' input parameter for all shader modes." -#~ msgstr "" -#~ "Παράμετρος εισόδου «inv_projection» για όλες τις λειτουργίες σκίασης." - -#~ msgid "'normal' input parameter for all shader modes." -#~ msgstr "Παράμετρος εισόδου «normal» για όλες τις λειτουργίες σκίασης." - -#~ msgid "'projection' input parameter for all shader modes." -#~ msgstr "Παράμετρος εισόδου «projection» για όλες τις λειτουργίες σκίασης." - -#~ msgid "'time' input parameter for all shader modes." -#~ msgstr "Παράμετρος εισόδου «time» για όλες τις λειτουργίες σκίασης." - -#~ msgid "'viewport_size' input parameter for all shader modes." -#~ msgstr "" -#~ "Παράμετρος εισόδου «viewport_size» για όλες τις λειτουργίες σκίασης." - -#~ msgid "'world' input parameter for all shader modes." -#~ msgstr "Παράμετρος εισόδου «world» για όλες τις λειτουργίες σκίασης." - -#~ msgid "'alpha' input parameter for all shader modes." -#~ msgstr "Παράμετρος εισόδου «alpha» για όλες τις λειτουργίες σκίασης." - -#~ msgid "'color' input parameter for all shader modes." -#~ msgstr "Παράμετρος εισόδου «color» για όλες τις λειτουργίες σκίασης." - -#~ msgid "'texture_pixel_size' input parameter for all shader modes." -#~ msgstr "" -#~ "Παράμετρος εισόδου «texture_pixel_size» για όλες τις λειτουργίες σκίασης." - -#~ msgid "'alpha' input parameter for vertex and fragment shader modes." -#~ msgstr "Παράμετρος εισόδου «alpha» για σκίαση κορυφής και τμήματος." - -#~ msgid "'binormal' input parameter for vertex and fragment shader modes." -#~ msgstr "Παράμετρος εισόδου «binormal» για σκίαση κορυφής και τμήματος." - -#~ msgid "'color' input parameter for vertex and fragment shader modes." -#~ msgstr "Παράμετρος εισόδου «color» για σκίαση κορυφής και τμήματος." - -#~ msgid "'fragcoord' input parameter for fragment and light shader modes." -#~ msgstr "Παράμετρος εισόδου «fragcoord» για σκίαση τμήματος και φωτός." - -#~ msgid "'point_coord' input parameter for fragment shader mode." -#~ msgstr "Παράμετρος εισόδου «point_coord» για σκίαση τμήματος." - -#~ msgid "'screen_uv' input parameter for fragment shader mode." -#~ msgstr "Παράμετρος εισόδου «screen_uv» για σκίαση τμήματος." - -#~ msgid "'tangent' input parameter for vertex and fragment shader modes." -#~ msgstr "Παράμετρος εισόδου «tangent» για σκίαση κορυφής και τμήματος." - -#~ msgid "'uv2' input parameter for vertex and fragment shader modes." -#~ msgstr "Παράμετρος εισόδου «uv2» για σκίαση κορυφής και τμήματος." - -#~ msgid "'vertex' input parameter for vertex and fragment shader modes." -#~ msgstr "Παράμετρος εισόδου «vertex» για σκίαση κορυφής και τμήματος." - -#~ msgid "'albedo' input parameter for light shader mode." -#~ msgstr "Παράμετρος εισόδου «albedo» για σκίαση φωτός." - -#~ msgid "'attenuation' input parameter for light shader mode." -#~ msgstr "Παράμετρος εισόδου «attenuation» για σκίαση φωτός." - -#~ msgid "'light' input parameter for light shader mode." -#~ msgstr "Παράμετρος εισόδου «light» για σκίαση φωτός." - -#~ msgid "'light_color' input parameter for light shader mode." -#~ msgstr "Παράμετρος εισόδου «light_color» για σκίαση φωτός." - -#~ msgid "'roughness' input parameter for light shader mode." -#~ msgstr "Παράμετρος εισόδου «roughness» για σκίαση φωτός." - -#~ msgid "'specular' input parameter for light shader mode." -#~ msgstr "Παράμετρος εισόδου «specular» για σκίαση φωτός." - -#~ msgid "'transmission' input parameter for light shader mode." -#~ msgstr "Παράμετρος εισόδου «transmission» για σκίαση φωτός." - -#~ msgid "'modelview' input parameter for vertex shader mode." -#~ msgstr "Παράμετρος εισόδου «modelview» για σκίαση κορυφής." - -#~ msgid "'point_size' input parameter for vertex shader mode." -#~ msgstr "Παράμετρος εισόδου «point_size» για σκίαση κορυφής." - -#~ msgid "'tangent' input parameter for vertex and fragment shader mode." -#~ msgstr "Παράμετρος εισόδου «tangent» για σκίαση κορυφής και τμήματος." - -#~ msgid "'light_pass' input parameter for vertex and fragment shader modes." -#~ msgstr "Παράμετρος εισόδου «light_pass» για σκίαση κορυφής και τμήματος." - -#~ msgid "'point_coord' input parameter for fragment and light shader modes." -#~ msgstr "Παράμετρος εισόδου «point_coord» για σκίαση τμήματος και φωτός." - -#~ msgid "'screen_pixel_size' input parameter for fragment shader mode." -#~ msgstr "Παράμετρος εισόδου «screen_pixel_size» για σκίαση τμήματος." - -#~ msgid "'screen_uv' input parameter for fragment and light shader modes." -#~ msgstr "Παράμετρος εισόδου «screen_uv» για σκίαση τμήματος και φωτός." - -#~ msgid "'light_alpha' input parameter for light shader mode." -#~ msgstr "Παράμετρος εισόδου «light_alpha» για σκίαση φωτός." - -#~ msgid "'light_height' input parameter for light shader mode." -#~ msgstr "Παράμετρος εισόδου «light_height» για σκίαση φωτός." - -#~ msgid "'light_uv' input parameter for light shader mode." -#~ msgstr "Παράμετρος εισόδου «light_uv» για σκίαση φωτός." - -#~ msgid "'light_vec' input parameter for light shader mode." -#~ msgstr "Παράμετρος εισόδου «light_vec» για σκίαση φωτός." - -#~ msgid "'normal' input parameter for light shader mode." -#~ msgstr "Παράμετρος εισόδου «normal» για σκίαση φωτός." - -#~ msgid "'shadow_color' input parameter for light shader mode." -#~ msgstr "Παράμετρος εισόδου «shadow_color» για σκίαση φωτός." - -#~ msgid "'extra' input parameter for vertex shader mode." -#~ msgstr "Παράμετρος εισόδου «extra» για σκίαση κορυφής." - -#~ msgid "'projection' input parameter for vertex shader mode." -#~ msgstr "Παράμετρος εισόδου «projection» για σκίαση κορυφής." - -#~ msgid "'vertex' input parameter for vertex shader mode." -#~ msgstr "Παράμετρος εισόδου «vertex» για σκίαση κορυφής." - -#~ msgid "'world' input parameter for vertex shader mode." -#~ msgstr "Παράμετρος εισόδου «world» για σκίαση κορυφής." - -#~ msgid "'active' input parameter for vertex shader mode." -#~ msgstr "Παράμετρος εισόδου «active» για σκίαση κορυφής." - -#~ msgid "'alpha' input parameter for vertex shader mode." -#~ msgstr "Παράμετρος εισόδου «alpha» για σκίαση κορυφής." - -#~ msgid "'color' input parameter for vertex shader mode." -#~ msgstr "Παράμετρος εισόδου «color» για σκίαση κορυφής." - -#~ msgid "'custom_alpha' input parameter for vertex shader mode." -#~ msgstr "Παράμετρος εισόδου «custom_alpha» για σκίαση κορυφής." - -#~ msgid "'delta' input parameter for vertex shader mode." -#~ msgstr "Παράμετρος εισόδου «delta» για σκίαση κορυφής." - -#~ msgid "'emission_transform' input parameter for vertex shader mode." -#~ msgstr "Παράμετρος εισόδου «emission_transform» για σκίαση κορυφής." - -#~ msgid "'index' input parameter for vertex shader mode." -#~ msgstr "Παράμετρος εισόδου «index» για σκίαση κορυφής." - -#~ msgid "'lifetime' input parameter for vertex shader mode." -#~ msgstr "Παράμετρος εισόδου «lifetime» για σκίαση κορυφής." - -#~ msgid "'restart' input parameter for vertex shader mode." -#~ msgstr "Παράμετρος εισόδου «restart» για σκίαση κορυφής." - -#~ msgid "'time' input parameter for vertex shader mode." -#~ msgstr "Παράμετρος εισόδου «time» για σκίαση κορυφής." - -#~ msgid "'transform' input parameter for vertex shader mode." -#~ msgstr "Παράμετρος εισόδου «transform» για σκίαση κορυφής." - -#~ msgid "'velocity' input parameter for vertex shader mode." -#~ msgstr "Παράμετρος εισόδου «velocity» για σκίαση κορυφής." - -#~ msgid "Raw Mode" -#~ msgstr "Ωμή λειτουργία" - -#~ msgid "Path to Node:" -#~ msgstr "Διαδρομή για τον κόμβο:" - -#~ msgid "Delete selected files?" -#~ msgstr "Διαγραφή επιλεγμένων αρχείων;" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "Δεν υπάρχει αρχείο 'res://default_bus_layout.tres'." - -#~ msgid "Go to parent folder" -#~ msgstr "Πήγαινε στον γονικό φάκελο" - -#~ msgid "Open Scene(s)" -#~ msgstr "Άνοιγμα σκηνής" - -#~ msgid "Previous Directory" -#~ msgstr "Προηγούμενος κατάλογος" - -#~ msgid "Next Directory" -#~ msgstr "Επόμενος κατάλογος" - -#~ msgid "Ease in" -#~ msgstr "Ομαλά μέσα" - -#~ msgid "Ease out" -#~ msgstr "Ομαλά έξω" - -#~ msgid "Create Convex Static Body" -#~ msgstr "Δημιουργία στατικού κυρτού σώματος" - -#~ msgid "CheckBox Radio1" -#~ msgstr "Κουμπί επιλογής1" - -#~ msgid "CheckBox Radio2" -#~ msgstr "Κουμπί επιλογής 2" - -#~ msgid "Create folder" -#~ msgstr "Δημιουργία φακέλου" - -#, fuzzy -#~ msgid "Custom Node" -#~ msgstr "Αποκοπή κόμβων" - -#~ msgid "Invalid Path" -#~ msgstr "Μη έγκυρη διαδρομή" - -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "GridMap Διπλασιασμός επιλογής" - -#~ msgid "Create Area" -#~ msgstr "Δημιουργία περιοχής" - -#~ msgid "Create Exterior Connector" -#~ msgstr "Δημιουργία εξωτερικής σύνδεσης" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "Επεξεργασία παραμέτρων σήματος:" - -#~ msgid "Edit Variable:" -#~ msgstr "Επεξεργασία μεταβλητής:" - -#~ msgid "Snap (s): " -#~ msgstr "Κούμπωμα (s): " - -#~ msgid "Insert keys." -#~ msgstr "Εισαγωγή κλειδιών." - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "" -#~ "Δημιουργία στιγμιοτύπων των επιλεγμένων σκηνών ως παιδιά του επιλεγμένου " -#~ "κόμβου." - -#, fuzzy -#~ msgid "Font Size:" -#~ msgstr "Μέγεθος πηγαίας γραμματοσειράς:" - -#~ msgid "Line:" -#~ msgstr "Γραμμή:" - -#~ msgid "Col:" -#~ msgstr "Στήλη:" - -#, fuzzy -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "Το PathFollow2D δουλεύει μόνο όταν κληρονομεί έναν κόμβο Path2D." - -#, fuzzy -#~ msgid "Add Split" -#~ msgstr "Προσθήκη σημείου" - -#, fuzzy -#~ msgid "Invalid Split: " -#~ msgstr "Μη έγκυρη διαδρομή!" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "Αφαίρεση σημείου" - -#, fuzzy -#~ msgid "Poly" -#~ msgstr "Επεγεργασία πολυγώνου" - -#, fuzzy -#~ msgid "Splits" -#~ msgstr "Διαχωρισμός διαδρομής" - -#~ msgid "Add Node.." -#~ msgstr "Προσθήκη κόμβου.." - -#~ msgid "Create from scene?" -#~ msgstr "Δημιουργία από σκηνή;" - -#~ msgid "Create Poly" -#~ msgstr "Δημιουγία πολυγώνου" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "Δημιουργία νέου πολυγώνου από την αρχή" - -#~ msgid "Zoom out" -#~ msgstr "Σμύκρινση" - -#~ msgid "Zoom in" -#~ msgstr "Μεγέθυνση" - -#~ msgid "Create Poly3D" -#~ msgstr "Δημιουργία πολυγώνου 3D" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "Δεν υπάρχει πόρος OccluderPolygon2D σε αυτόν τον κόμβο.\n" -#~ "Να δημιουργία και να ορισθεί ένας;" - -#~ msgid "LMB: Move Point." -#~ msgstr "Αριστερό κλίκ: ΜΕτακίνηση σημείου." - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl+Αριστερό κλικ: Διαχωρσμός τμήματος." - -#~ msgid "RMB: Erase Point." -#~ msgstr "Δεξί κλικ: Διαγραφή σημείου." - -#, fuzzy -#~ msgid "New TextFile" -#~ msgstr "Προβολή αρχείων" - -#~ msgid "Save Theme As" -#~ msgstr "Αποθήκευση θέματος ως" - -#~ msgid "<None>" -#~ msgstr "<Τίποτα>" - -#~ msgid "" -#~ "Select sub-tile to use as icon, this will be also used on invalid " -#~ "autotile bindings." -#~ msgstr "" -#~ "Επιλέξτε υπότιτλο για εικονίδιο, o οποίος θα χρησιμοποιείται και σε μη " -#~ "έγκυρες συνδέσεις αυτόματων πλακιδίων." - -#~ msgid "Zoom:" -#~ msgstr "Μεγέθυνση:" - -#~ msgid "Are you sure you want to remove all connections from the \"" -#~ msgstr "" -#~ "Είστε σίγουροι πως θέλετε να αφαιρέσετε όλες τις συνδέσεις απο το \"" - -#~ msgid "Class List:" -#~ msgstr "Λίστα κλάσεων:" - -#~ msgid "Public Methods" -#~ msgstr "Δημόσιες συναρτήσεις" - -#~ msgid "Public Methods:" -#~ msgstr "Δημόσιες συναρτήσεις:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "Στοιχεία του θέματος GUI:" - -#~ msgid "Property: " -#~ msgstr "Ιδιότητα: " - -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Εναλλαγή φακέλου ως αγαπημένο." - -#~ msgid "Show current scene file." -#~ msgstr "Εμφάνιση του αρχείου της τρέχουσας σκηνής." - -#~ msgid "Enter tree-view." -#~ msgstr "Είσοδος σε προβολή δέντρου." - -#~ msgid "Whole words" -#~ msgstr "Ολόκληρες λέξεις" - -#~ msgid "Match case" -#~ msgstr "Αντιστοίχηση πεζών-κεφαλαίων" - -#~ msgid "Ok" -#~ msgstr "Εντάξει" - -#~ msgid "Show In File System" -#~ msgstr "Εμφάνιση στο σύστημα αρχείων" - -#~ msgid "Search the class hierarchy." -#~ msgstr "Αναζήτηση στην ιεραρχεία κλάσεων." - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "Αναζήτηση κλάσεων" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "" -#~ "Οι ενσωματομένες δεσμές ενεργειών μπορούν να επεξεργαστούν μόνο όταν η " -#~ "σκηνή στην οποία ανήκουν είναι φορτωμένη" - -#~ msgid "Convert To Uppercase" -#~ msgstr "Μετατροπή σε κεφαλαία" - -#~ msgid "Convert To Lowercase" -#~ msgstr "Μετατροπή σε πεζά" - -#~ msgid "Rotate 0 degrees" -#~ msgstr "Περιστροφή 0 μοίρες" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "Περιστροφή 90 μοίρες" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "Περιστροφή 180 μοίρες" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "Περιστροφή 270 μοίρες" - -#~ msgid "Errors:" -#~ msgstr "Σφάλματα:" - -#~ msgid "Stack Trace (if applicable):" -#~ msgstr "Ιχνηλάτηση στοίβας (Εάν υφίσταται):" - -#~ msgid "Bake!" -#~ msgstr "Προετοίμασε!" - -#~ msgid "Bake the navigation mesh." -#~ msgstr "Προετοιμασία του πλέγματος πλοήγησης." - -#~ msgid "Get" -#~ msgstr "Πάρε" - -#~ msgid "Change RGB Constant" -#~ msgstr "Αλλαγή χρωματικής σταθεράς" - -#~ msgid "Change Vec Scalar Operator" -#~ msgstr "Αλλαγή διανυσματικού - μονόμετρου τελεστή" - -#~ msgid "Change RGB Operator" -#~ msgstr "Αλλαγή χρωματικού τελεστή" - -#~ msgid "Toggle Rot Only" -#~ msgstr "Εναλλαγή μόνο περιστροφή" - -#~ msgid "Change Vec Function" -#~ msgstr "Αλλαγή διανυσματικής συνάρτησης" - -#~ msgid "Change RGB Uniform" -#~ msgstr "Αλλαγή χρωματικής ομοιόμορφης μεταβλητής" - -#~ msgid "Change Default Value" -#~ msgstr "Αλλαγή προεπιλλεγμένης τιμής" - -#~ msgid "Change XForm Uniform" -#~ msgstr "Αλλαγή ομοιόμορφης μεταβλητής XForm" - -#~ msgid "Change Cubemap Uniform" -#~ msgstr "Αλλαγή ομοιόμορφης μεταβλητής χάρτη κύβου" - -#~ msgid "Change Comment" -#~ msgstr "Αλλαγή σχολίου" - -#~ msgid "Add/Remove to Color Ramp" -#~ msgstr "Προσθήκη/Αφαίρεση σε διαβάθμηση χρώματος" - -#~ msgid "Modify Color Ramp" -#~ msgstr "Επεξεργασία διαβάθμισης χρωμάτων" - -#~ msgid "Add/Remove to Curve Map" -#~ msgstr "Προσθήκη/Αφαίρεση σε χάρτη καμπύλης" - -#~ msgid "Modify Curve Map" -#~ msgstr "Τροποποίηση χάρτη καμπύλης" - -#~ msgid "Connect Graph Nodes" -#~ msgstr "Σύνδεση κόμβων γραφήματος" - -#~ msgid "Remove Shader Graph Node" -#~ msgstr "Αφαίρεση κόμβου γραφήματος" - -#~ msgid "Move Shader Graph Node" -#~ msgstr "Μετακίνηση κόμβου γραφήματος" - -#~ msgid "Duplicate Graph Node(s)" -#~ msgstr "Διπλασιασμός κόμβων γραφήματος" - -#~ msgid "Error: Cyclic Connection Link" -#~ msgstr "Σφάλμα: Κυκλικός σύνδεσμος" - -#~ msgid "Error: Missing Input Connections" -#~ msgstr "Σφάλμα: Οι συνδέσεις εισόδου λείπουν" - -#~ msgid "Add Shader Graph Node" -#~ msgstr "Προσθήκη κόμβου γραφήματος" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Μετακίνηση κομματιού animation πάνω" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Μετακίνηση κομματιού animation κάτω" - -#~ msgid "Set Transitions to:" -#~ msgstr "Ορισμός μεταβάσεων σε:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Anim Αλλαγή παρεμβολής κομματιού" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Anim Λειτουργία αλλαγής τιμής κομματιού" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Αλλαγή λειτουργίας αναδίπλωσης κομματιού κίνησης" - -#~ msgid "Edit Node Curve" -#~ msgstr "Επεξεργασία Καμπύλης κόμβου" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Επεξεργασία επιλεγμένης καμπύλης" - -#~ msgid "Anim Add Key" -#~ msgstr "Anim Προσθήκη κλειδιού" - -#~ msgid "In" -#~ msgstr "Είσοδος" - -#~ msgid "Out" -#~ msgstr "Έξοδος" - -#~ msgid "In-Out" -#~ msgstr "Είσοδος-Έξοδος" - -#~ msgid "Out-In" -#~ msgstr "Έξοδος-Είσοδος" - -#~ msgid "Change Anim Len" -#~ msgstr "Αλλαγή μήκους animation" - -#~ msgid "Change Anim Loop" -#~ msgstr "Αλλαγή επανάληψης animation" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Anim Δημιουργία κλειδιού τιμής ορισμένου τύπου" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Anim Προσθήκη κομματιού κλήσης" - -#~ msgid "Length (s):" -#~ msgstr "Μήκος (s):" - -#~ msgid "Step (s):" -#~ msgstr "Βήμα (s):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "Βήμα κουμπώματος δρομέα (σε δευτερόλεπτα)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Ενεργοποίηση/Απενεργοποίηση επανάληψης στο animation." - -#~ msgid "Add new tracks." -#~ msgstr "Προσθήκη νέων κομματιών." - -#~ msgid "Move current track up." -#~ msgstr "Μετακίνηση τρέχοντος κομματιού πάνω." - -#~ msgid "Move current track down." -#~ msgstr "Μετακίνηση τρέχοντος κομματιού κάτω." - -#~ msgid "Track tools" -#~ msgstr "Εργαλεία κομματιού" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Ενεργοποίηση επεξεργασίας μεμονωμένων κλειδιών με το κλικ." - -#~ msgid "Key" -#~ msgstr "Κλειδί" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Σε ποιο κόμβο να κληθούν οι συναρτήσεις;" - -#~ msgid "Thanks!" -#~ msgstr "Ευχαριστώ!" - -#~ msgid "I see..." -#~ msgstr "Εντάξει..." - -#~ msgid "Ugh" -#~ msgstr "α..." - -#~ msgid "Run Script" -#~ msgstr "Εκτέλεση δεσμής ενεργειών" - -#~ msgid "Stop Profiling" -#~ msgstr "Διακοπή προφίλ" - -#~ msgid "Start Profiling" -#~ msgstr "Έναρξη προφίλ" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "Προεπιλογή (Το ίδιο με τον επεξεργαστή)" - -#~ msgid "Create new animation in player." -#~ msgstr "Δημιουργία νέας κίνησης στον αναπαραγωγέα." - -#~ msgid "Load animation from disk." -#~ msgstr "Φόρτωση κίνησης από τον δίσκο." - -#~ msgid "Load an animation from disk." -#~ msgstr "Φόρτωση μίας κίνησης από τον δίσκο." - -#~ msgid "Save the current animation" -#~ msgstr "Αποθήκεση της τρέχουσας κίνησης" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "Επεξεργασία χρόνων ανάμειξης κινήσεων" - -#~ msgid "Copy Animation" -#~ msgstr "Ανιγραφή κίνησης" - -#~ msgid "Fetching:" -#~ msgstr "Λήψη:" - -#~ msgid "prev" -#~ msgstr "Προηγούμενο" - -#~ msgid "next" -#~ msgstr "Επόμενο" - -#~ msgid "last" -#~ msgstr "Προηγούμενο" - -#~ msgid "Edit IK Chain" -#~ msgstr "Επεξεργασία Αλυσίδας IK" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "Σύρσιμο κέντρου από την θέση του ποντικιού" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "Ορισμός κέντρου στον κέρσορα" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "Προσθήκη αφαίρεση σημείου διαβάθμισης χρωμάτων" - -#~ msgid "OK :(" -#~ msgstr "Εντάξει :(" - -#~ msgid "Skeleton Gizmo visibility" -#~ msgstr "Ορατότητα μαραφετιών σκελετού" - -#~ msgid "StyleBox Preview:" -#~ msgstr "Προεπισκόπηση StyleBox:" - -#~ msgid "Texture Region Editor" -#~ msgstr "Επεξεργαστής περιοχής υφής" - -#~ msgid "Erase selection" -#~ msgstr "Διαγραφή επιλογής" - -#~ msgid "Item name or ID:" -#~ msgstr "Όνομα στοιχείου ή αναγνωριστικού:" - -#~ msgid "Export templates for this platform are missing/corrupted: " -#~ msgstr "" -#~ "Τα πρότυπα εξαγωγής για αυτή την πλατφόρτμα λείπουν ή είναι " -#~ "κατεστραμμένα: " - -#~ msgid "Button 8" -#~ msgstr "Κουμπί 8" - -#~ msgid "Button 9" -#~ msgstr "Κουμπί 9" - -#~ msgid "Discard Instancing" -#~ msgstr "Απόρριψη στιγμιοτύπισης" - -#~ msgid "Clear!" -#~ msgstr "Εκκαθάριση!" - -#~ msgid "Toggle Spatial Visible" -#~ msgstr "Εναλλαγή ορατότητας Spatial" - -#~ msgid "Condition" -#~ msgstr "Συνθήκη" - -#~ msgid "Sequence" -#~ msgstr "Ακολουθία" - -#~ msgid "Switch" -#~ msgstr "Μεταγωγέας" - -#~ msgid "Iterator" -#~ msgstr "Επαναλήπτης" - -#~ msgid "While" -#~ msgstr "Όσο" - -#~ msgid "Return" -#~ msgstr "Επιστροφή" - -#~ msgid "Call" -#~ msgstr "Κλήση" - -#~ msgid "Edit Variable" -#~ msgstr "Επεξεργασία μεταβλητής" - -#~ msgid "Edit Signal" -#~ msgstr "Επεξεργασία σήματος" - -#~ msgid "Invalid action (anything goes but '/' or ':')." -#~ msgstr "Μη έγκυρη ενέργεια (Όλα επιτρέποντα εκτός από το '/' και το ':')." - -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "Δεν μπορεί να περιέχει '/' ή ':'" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "Άκυρη μορφή version.txt μέσα στα πρότυπα. Το Revision δεν είναι έγκυρο " -#~ "αναγνωριστικό." - -#~ msgid "Can't write file." -#~ msgstr "Δεν ήταν δυνατή η εγγραφή στο αρχείο." - -#~ msgid "Couldn't get project.godot in project path." -#~ msgstr "Δεν βρέθηκε το project.godot στη διαδρομή του έργου." - -#~ msgid "Replace By" -#~ msgstr "Αντικατάσταση με" - -#~ msgid "Backwards" -#~ msgstr "Αντίστροφα" - -#~ msgid "Prompt On Replace" -#~ msgstr "Ρώτησε στην αντικατάσταση" - -#~ msgid "Skip" -#~ msgstr "Παράλειψη" - -#~ msgid "" -#~ "Your project will be created in a non empty folder (you might want to " -#~ "create a new folder)." -#~ msgstr "" -#~ "Το έργο θα δημιουργηθεί σε έναν μη-άδειο φάκελο (Ίσως θέλετε να " -#~ "δημιουργήσετε έναν καινούργιο)." - -#~ msgid "That's a BINGO!" -#~ msgstr "Αυτό είναι ένα «Εύρηκα»!" - -#~ msgid "preview" -#~ msgstr "Προεπισκόπηση" - -#~ msgid "Move Add Key" -#~ msgstr "Μετακίνηση κλειδιού προσθήκης" - -#~ msgid "Create Subscription" -#~ msgstr "Δημιουργία εγγραφής" - -#~ msgid "List:" -#~ msgstr "Λίστα:" - -#~ msgid "Set Emission Mask" -#~ msgstr "Ορισμός μάσκας εκπομπής" - -#~ msgid "Clear Emitter" -#~ msgstr "Εκκαθάριση πομπού" - -#~ msgid "Fold Line" -#~ msgstr "Αναδίπλωση γραμμής" - -#~ msgid " " -#~ msgstr " " - -#~ msgid "Sections:" -#~ msgstr "Ενότητες:" - -#~ msgid "Cannot navigate to '" -#~ msgstr "Αδύνατη η πλοήγηση στο '" - -#~ msgid "" -#~ "\n" -#~ "Source: " -#~ msgstr "" -#~ "\n" -#~ "Πηγή: " - -#~ msgid "Remove Point from Line2D" -#~ msgstr "Διαγραφή σημείου από την δισδιάστατη γραμμή" - -#~ msgid "Add Point to Line2D" -#~ msgstr "Πρόσθεσε σημείο στην δισδυάστατη γραμμή" - -#~ msgid "Move Point in Line2D" -#~ msgstr "Μετακίινηση σημείου στην δισδιάστατη γραμμή" - -#~ msgid "Split Segment (in line)" -#~ msgstr "Διαχωρισμός τμήματος (στη γραμμή)" - -#~ msgid "Meta+" -#~ msgstr "Meta+" - -#~ msgid "Setting '" -#~ msgstr "Ρυθμίση '" - -#~ msgid "Remote Inspector" -#~ msgstr "Απομακρυσμένος επιθεωρητής" - -#~ msgid "Live Scene Tree:" -#~ msgstr "Ζωντανό δέντρο σκηνής:" - -#~ msgid "Remote Object Properties: " -#~ msgstr "Απομακρυσμένες ιδιότητες αντικειμένου: " - -#~ msgid "Prev Level (%sDown Wheel)" -#~ msgstr "Προηγούμενο επίπεδο (%sΚάτω Ροδέλα)" - -#~ msgid "Next Level (%sUp Wheel)" -#~ msgstr "Επόμενο επίπεδο (%sΠάνω ροδέλα)" - -#~ msgid "Selection -> Duplicate" -#~ msgstr "Επιλογή -> Διπλασιασμός" - -#~ msgid "Selection -> Clear" -#~ msgstr "Επιλογή -> Εκκαθάριση" - -#~ msgid "" -#~ "Path property must point to a valid Viewport node to work. Such Viewport " -#~ "must be set to 'render target' mode." -#~ msgstr "" -#~ "Η ιδιότητα Path πρέπει να δείχνει σε έναν έγκυρο κόμβο τύπου Viewport σε " -#~ "λειτουργία 'render target' για να δουλέψει." - -#~ msgid "" -#~ "The Viewport set in the path property must be set as 'render target' in " -#~ "order for this sprite to work." -#~ msgstr "" -#~ "Το Viewport που ορίστηκε στην ιδιότητα 'path' πρέπει να είναι σε " -#~ "λειτουργία 'render target' για να δουλέψει αυτό to sprite." - -#~ msgid "' parsing of config failed." -#~ msgstr "' απέτυχε η ανάλυση του αργείου παραμέτρων." - -#~ msgid "Method List For '%s':" -#~ msgstr "Λίστα συναρτήσεων για '%s':" - -#~ msgid "Return:" -#~ msgstr "Επιστρέφει:" - -#~ msgid "Added:" -#~ msgstr "Προστέθηκαν:" - -#~ msgid "Could not save atlas subtexture:" -#~ msgstr "Αδύνατη η αποθήκευση υπό-εικόνας άτλαντα:" - -#~ msgid "Setting Up..." -#~ msgstr "Αρχικοποίηση..." - -#~ msgid "Error loading scene." -#~ msgstr "Σφάλμα κατά τη φόρτωση σκηνής." - -#~ msgid "Re-Import" -#~ msgstr "Επανεισαγωγή" - -#~ msgid "Please wait for scan to complete." -#~ msgstr "Παρακαλώ περιμένετε να ολοκληρωθεί η σάρωση." - -#~ msgid "Current scene must be saved to re-import." -#~ msgstr "Η τρέχουσα σκηνή πρέπει να αποθηκευτεί για να επαν-εισάγετε." - -#~ msgid "Re-Importing" -#~ msgstr "Επανεισαγωγή" - -#~ msgid "Re-Import Changed Resources" -#~ msgstr "Επανεισαγωγή τροποπιημένων πόρων" - -#~ msgid "" -#~ "\n" -#~ "Status: Needs Re-Import" -#~ msgstr "" -#~ "\n" -#~ "Κατάσταση: Χρειάζεται επανεισαγωγή" - -#~ msgid "Same source and destination files, doing nothing." -#~ msgstr "Ίδια αρχεία πηγής και προορισμού, παράλειψη ενέργειας." - -#~ msgid "Target file exists, can't overwrite. Delete first." -#~ msgstr "" -#~ "Το αρχείο προορισμού υπάρχει, όμως είναι αδύνατη η αντικατάσταση. " -#~ "Διαγράψτε το πρώτα." - -#~ msgid "Same source and destination paths, doing nothing." -#~ msgstr "Ίδιες διαδρομές πηγής και προορισμού, παράλειψη ενέργειας." - -#~ msgid "Can't move directories to within themselves." -#~ msgstr "Αδύνατη η μετακίνηση καταλόγων μέσα στους εαυτούς τους." - -#~ msgid "Can't rename deps for:\n" -#~ msgstr "Δεν είναι δυνατή η μετονομασία εξαρτήσεων για:\n" - -#~ msgid "Pick New Name and Location For:" -#~ msgstr "Επιλέξτε νέο όνομα και θέση για:" - -#~ msgid "Info" -#~ msgstr "Πληροφορίες" - -#~ msgid "No bit masks to import!" -#~ msgstr "Δεν υπάρχουν μάσκες bit για εισαγωγή!" - -#~ msgid "Target path is empty." -#~ msgstr "Η διαδρομή προορισμού είναι άδεια." - -#~ msgid "Target path must be a complete resource path." -#~ msgstr "Η διαδρομή προορισμού πρέπει να είναι μία πλήρης διαδρομή σε πόρο." - -#~ msgid "Target path must exist." -#~ msgstr "Η διαδρομή προορισμού πρέπει να υπάρχει." - -#~ msgid "Import BitMasks" -#~ msgstr "Εισαγωγή μάσκας bit" - -#~ msgid "Source Texture(s):" -#~ msgstr "Πηγαίες υφές:" - -#~ msgid "Accept" -#~ msgstr "Αποδοχή" - -#~ msgid "Bit Mask" -#~ msgstr "Μάσκα bit" - -#~ msgid "No source font file!" -#~ msgstr "Δεν δόθηκε πηγαίο αρχείο γραμματοσειράς!" - -#~ msgid "No target font resource!" -#~ msgstr "Δε δόθηκε πόρος γραμματοσειράς προορισμού!" - -#~ msgid "" -#~ "Invalid file extension.\n" -#~ "Please use .font." -#~ msgstr "" -#~ "Άκυρη επέκταση αρχείου.\n" -#~ "Παρακαλώ χρησιμοποιήστε .font." - -#~ msgid "Couldn't save font." -#~ msgstr "Δεν ήταν δυνατή η αποθήκευση της γραμματοσειράς." - -#~ msgid "Source Font:" -#~ msgstr "Πηγαία γραμματοσειρά:" - -#~ msgid "Dest Resource:" -#~ msgstr "Πόρος προορισμού:" - -#~ msgid "The quick brown fox jumps over the lazy dog." -#~ msgstr "Γαζέες καὶ μυρτιὲς δὲν θὰ βρῶ πιὰ στὸ χρυσαφὶ ξέφωτο." - -#~ msgid "Test:" -#~ msgstr "Δοκιμή:" - -#~ msgid "Options:" -#~ msgstr "Επιλογές:" - -#~ msgid "Font Import" -#~ msgstr "Εισαγωγή γραμματοσειράς" - -#~ msgid "" -#~ "This file is already a Godot font file, please supply a BMFont type file " -#~ "instead." -#~ msgstr "" -#~ "Αυτό το αρχείο είναι ήδη ένα αρχείο γραμματοσειράς της Godot, παρακαλώ " -#~ "υποβάλετε ένα αρχείο τύπου BMFont." - -#~ msgid "Failed opening as BMFont file." -#~ msgstr "Απέτυχε το άνοιγμα ως αρχείο BMFont." - -#~ msgid "Invalid font custom source." -#~ msgstr "Άκυρη προσαρμοσμένη πηγή γραμματοσειράς." - -#~ msgid "No meshes to import!" -#~ msgstr "Δεν υπάρχουν πλέγματα για εισαγωγή!" - -#~ msgid "Single Mesh Import" -#~ msgstr "Εισαγωγή ενός πλέγματος" - -#~ msgid "Source Mesh(es):" -#~ msgstr "Πηγαία πλέγματα:" - -#~ msgid "Surface %d" -#~ msgstr "Επιφάνεια %d" - -#~ msgid "No samples to import!" -#~ msgstr "Δεν υπάρχουν δείγματα για εισαγωγή!" - -#~ msgid "Import Audio Samples" -#~ msgstr "Εισαγωγή δειγμάτων ήχου" - -#~ msgid "Source Sample(s):" -#~ msgstr "Πηγαία δείγματα:" - -#~ msgid "Audio Sample" -#~ msgstr "Δείγμα ήχου" - -#~ msgid "New Clip" -#~ msgstr "Νέο απόσπασμα" - -#~ msgid "Flags" -#~ msgstr "Σημαίες" - -#~ msgid "Bake FPS:" -#~ msgstr "Ψήστε FPS:" - -#~ msgid "Optimizer" -#~ msgstr "Εργαλείο βελτιστοποίησης" - -#~ msgid "Max Linear Error" -#~ msgstr "Μέγιστο γραμμικό σφάλμα" - -#~ msgid "Max Angular Error" -#~ msgstr "Μέγιστο γωνιακό σφάλμα" - -#~ msgid "Max Angle" -#~ msgstr "Ανώτατη Γωνία" - -#~ msgid "Start(s)" -#~ msgstr "Αρχή" - -#~ msgid "Source path is empty." -#~ msgstr "Η διαδρομή προέλευσης είναι άδεια." - -#~ msgid "Couldn't load post-import script." -#~ msgstr "Δεν ήταν δυνατή η φόρτωση της δεσμής ενεργειών μετ-εισαγωγής." - -#~ msgid "Invalid/broken script for post-import." -#~ msgstr "" -#~ "Άκυρη / χαλασμένη δεσμή ενεργειών για την διαδικασία της μετ-εισαγωγής." - -#~ msgid "Error importing scene." -#~ msgstr "Σφάλμα κατά την εισαγωγή της σκηνής." - -#~ msgid "Import 3D Scene" -#~ msgstr "Εισαγωγή 3D σκηνής" - -#~ msgid "Source Scene:" -#~ msgstr "Σκηνή προέλευσης:" - -#~ msgid "Same as Target Scene" -#~ msgstr "Το ίδιο με την στοχευμένη σκηνή" - -#~ msgid "Shared" -#~ msgstr "Κοινόχρηστο" - -#~ msgid "Target Texture Folder:" -#~ msgstr "Επιλεγμένος φάκλος υφών:" - -#~ msgid "Custom Root Node Type:" -#~ msgstr "Προσαρμοσμένος τύπος ριζικού κόμβου:" - -#~ msgid "Auto" -#~ msgstr "Αυτόματο" - -#~ msgid "The Following Files are Missing:" -#~ msgstr "Τα ακόλουθα αρχεία λείπουν:" - -#~ msgid "Import Anyway" -#~ msgstr "Εισαγωγή ούτως ή άλλως" - -#~ msgid "Edited scene has not been saved, open imported scene anyway?" -#~ msgstr "" -#~ "Η τρέχουσα σκηνή δεν έχει αποθηκευτεί, άνοιγμα της εισαγμένης σκηνής " -#~ "ούτως ή άλλως;" - -#~ msgid "Import Image:" -#~ msgstr "Εισαγωγή εικόνας:" - -#~ msgid "Couldn't localize path: %s (already local)" -#~ msgstr "" -#~ "Δεν είναι δυνατή η μετατροπή της διαδρομής σε τοπική: %s (είναι ήδη " -#~ "τοπικό)" - -#~ msgid "3D Scene Animation" -#~ msgstr "Κίνηση τρισδιάστατης σκηνής" - -#~ msgid "Uncompressed" -#~ msgstr "Ασυμπίεστο" - -#~ msgid "Compress Lossless (PNG)" -#~ msgstr "Συμπίεση χωρίς απώλειες (PNG)" - -#~ msgid "Compress Lossy (WebP)" -#~ msgstr "Συμπίεση με απώλειες (WebP)" - -#~ msgid "Compress (VRAM)" -#~ msgstr "Συμπίεση (VRAM)" - -#~ msgid "Texture Format" -#~ msgstr "Μορφή υφής" - -#~ msgid "Texture Compression Quality (WebP):" -#~ msgstr "Ποιότητα συμπίεσης υφής (WebP):" - -#~ msgid "Please specify some files!" -#~ msgstr "Παρακαλώ καθορίστε κάποια αρχεία!" - -#~ msgid "At least one file needed for Atlas." -#~ msgstr "Τουλάχιστον ένα αρχείο απαιτείται για τον άτλαντα." - -#~ msgid "Error importing:" -#~ msgstr "Σφάλμα κατά την εισαγωγή:" - -#~ msgid "Max Texture Size:" -#~ msgstr "Μέγιστο μέγεθος υφής:" - -#~ msgid "Import Textures for Atlas (2D)" -#~ msgstr "Εισαγωγή υφών για τον άτλαντα (2D)" - -#~ msgid "Large Texture" -#~ msgstr "Μεγάλη υφή" - -#~ msgid "Import Large Textures (2D)" -#~ msgstr "Εισαγωγής Μεγάλων Υφών (2D)" - -#~ msgid "Source Texture" -#~ msgstr "Υφή προέλευσης" - -#~ msgid "Base Atlas Texture" -#~ msgstr "Βασική υφή άτλαντα" - -#~ msgid "Source Texture(s)" -#~ msgstr "Υφές προέλευσης" - -#~ msgid "Import Textures for 2D" -#~ msgstr "Εισαγωγή υφών για 2 διαστάσεις" - -#~ msgid "Import Textures for 3D" -#~ msgstr "Εισαγωγή υφών για 3 διαστάσεις" - -#~ msgid "Import Textures" -#~ msgstr "Εισαγωγή υφών" - -#~ msgid "2D Texture" -#~ msgstr "Υφή 2 διαστάσεων" - -#~ msgid "3D Texture" -#~ msgstr "Υφή 3 διαστάσεων" - -#~ msgid "Atlas Texture" -#~ msgstr "Υφή άτλαντα" - -#~ msgid "" -#~ "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files " -#~ "to the project." -#~ msgstr "" -#~ "ΣΗΜΕΙΩΣΗ: Η εισαγωγή δισδιάστατων υφών δεν είναι υποχρεωτική. Απλά " -#~ "αντιγράψτε τα αρχεία png/jpg στο έργο." - -#~ msgid "Crop empty space." -#~ msgstr "Περικοπή άδειου χώρου." - -#~ msgid "Import Large Texture" -#~ msgstr "Εισαγωγή μεγάλης υφής" - -#~ msgid "Load Source Image" -#~ msgstr "Φόρτωση εικόνας προέλευσης" - -#~ msgid "Slicing" -#~ msgstr "Κατάτμηση" - -#~ msgid "Saving" -#~ msgstr "Αποθήκευση" - -#~ msgid "Couldn't save large texture:" -#~ msgstr "Δεν ήταν δυνατή η αποθήκευση μεγάλης υφής:" - -#~ msgid "Build Atlas For:" -#~ msgstr "Κατασκευή άτλαντα για:" - -#~ msgid "Loading Image:" -#~ msgstr "Φόρτωση εικόνας:" - -#~ msgid "Converting Images" -#~ msgstr "Μετατροπή Εικόνων" - -#~ msgid "Cropping Images" -#~ msgstr "Περικοπή Εικόνων" - -#~ msgid "Couldn't save atlas image:" -#~ msgstr "Δεν ήταν δυνατή η αποθήκευση εικόνας άτλαντα:" - -#~ msgid "Invalid translation source!" -#~ msgstr "Μη έγκυρη πηγή μετάφρασης!" - -#~ msgid "Column" -#~ msgstr "Στήλη" - -#~ msgid "No items to import!" -#~ msgstr "Δεν υπάρχουν στοιχεία για εισαγωγή!" - -#~ msgid "No target path!" -#~ msgstr "Καμία διαδρομή προορισμού!" - -#~ msgid "Import Translations" -#~ msgstr "Εισαγωγή μεταφράσεων" - -#~ msgid "Couldn't import!" -#~ msgstr "Δεν ήταν δυνατή η εισαγωγή!" - -#~ msgid "Import Translation" -#~ msgstr "Εισαγωγή μετάφρασης" - -#~ msgid "Source CSV:" -#~ msgstr "CSV προέλευσης:" - -#~ msgid "Ignore First Row" -#~ msgstr "Αγνόησε την πρώτη γραμμή" - -#~ msgid "Add to Project (project.godot)" -#~ msgstr "Πρόσθεσε στο έργο (project.godot)" - -#~ msgid "Import Languages:" -#~ msgstr "Εισαγωγή γλωσσών:" - -#~ msgid "Translation" -#~ msgstr "Μετάφραση" - -#~ msgid "Triangle #" -#~ msgstr "Τρίγωνο #" - -#~ msgid "Light Baker Setup:" -#~ msgstr "Ρύθμιση προεπεγεργαστή φωτός:" - -#~ msgid "Fixing Lights" -#~ msgstr "Διόρθωση φώτων" - -#~ msgid "Making BVH" -#~ msgstr "Δημιουργία BVH" - -#~ msgid "Allocating Texture #" -#~ msgstr "Δέσμευση υφής #" - -#~ msgid "Baking Triangle #" -#~ msgstr "Προεπεξεργασία τριγώνου #" - -#~ msgid "Post-Processing Texture #" -#~ msgstr "Μετεπεξεργασία υφής #" - -#~ msgid "Reset the lightmap octree baking process (start over)." -#~ msgstr "" -#~ "Επαναφορά της προεπεξεργασίας του οκταδικού δέντρου του χάρτη φωτός " -#~ "(Εκκίνηση από την αρχή)." - -#~ msgid "Zoom Set..." -#~ msgstr "Ορισμός μεγέθυνσης..." - -#~ msgid "Parse BBCode" -#~ msgstr "Ανάλυση BBCode" - -#~ msgid "Length:" -#~ msgstr "Μήκος:" - -#~ msgid "Open Sample File(s)" -#~ msgstr "Άνοιγμα αρχείων δειγμάτων" - -#~ msgid "ERROR: Couldn't load sample!" -#~ msgstr "ΣΦΑΛΜΑ: Δεν ήταν δυνατή η φόρτωση δείγματος!" - -#~ msgid "Rename Sample" -#~ msgstr "Μετονομασία δείγματος" - -#~ msgid "Delete Sample" -#~ msgstr "Διαγραφή δείγματος" - -#~ msgid "16 Bits" -#~ msgstr "16 Δυαδικά ψηφία" - -#~ msgid "8 Bits" -#~ msgstr "8 Δυαδικά ψηφία" - -#~ msgid "Stereo" -#~ msgstr "Στερεοφωνικό" - -#~ msgid "Scaling to %s%%." -#~ msgstr "Κλιμάκωση to %s%%." - -#~ msgid "Bucket" -#~ msgstr "Κουβάς" - -#~ msgid "Invalid project path, the path must exist!" -#~ msgstr "Μη έγκυρη διαδρομή έργου, η διαδρομή πρέπει να υπάρχει!" - -#~ msgid "Invalid project path, project.godot must not exist." -#~ msgstr "Μη έγκυρη διαδρομή έργου, το project.godot δεν πρέπει να υπάρχει." - -#~ msgid "Invalid project path, project.godot must exist." -#~ msgstr "Μη έγκυρη διαδρομή έργου, το project.godot πρέπει να υπάρχει." - -#~ msgid "Project Path (Must Exist):" -#~ msgstr "Διαδρομή έργου (Πρέπει να υπάρχει):" - -#~ msgid "Create New Resource" -#~ msgstr "Δημιουργία νέου πόρου" - -#~ msgid "Open Resource" -#~ msgstr "Άνοιγμα πόρου" - -#~ msgid "Save Resource" -#~ msgstr "Αποθήκευση πόρου" - -#~ msgid "Resource Tools" -#~ msgstr "Εργαλεία πόρων" - -#~ msgid "Tiles" -#~ msgstr "Πλακίδια" - -#~ msgid "Areas" -#~ msgstr "Περιοχές" - -#~ msgid "Ctrl+" -#~ msgstr "Ctrl+" - -#~ msgid "Down Wheel)" -#~ msgstr "Κάτω ροδέλα)" - -#~ msgid "Up Wheel)" -#~ msgstr "Πάνω ροδέλα)" - -#~ msgid "Close scene? (Unsaved changes will be lost)" -#~ msgstr "Κλείσιμο σκηνής; (Οι μη αποθηκευμένες αλλαγές θα χαθούν)" - -#~ msgid "" -#~ "Open Project Manager? \n" -#~ "(Unsaved changes will be lost)" -#~ msgstr "" -#~ "Θέλετε να ανοίξετε τον διαχειριστή έργου; \n" -#~ "(Οι μη αποθηκευμένες αλλαγές θα χαθούν)" - -#~ msgid "Close Goto Prev. Scene" -#~ msgstr "Κλείσιμο και μετάβαση στην προηγούμενη σκηνή" - -#~ msgid "Del" -#~ msgstr "Διαγραφή" - -#~ msgid "just pressed" -#~ msgstr "μόλις πατήθηκε" - -#~ msgid "" -#~ "Couldn't read the certificate file. Are the path and password both " -#~ "correct?" -#~ msgstr "" -#~ "Δεν ήταν δυνατή η ανάγνωση του αρχείου πιστοποιητικών. Είναι η διαδρομή " -#~ "και ο κωδικός σωστοί;" - -#~ msgid "Error creating the package signature." -#~ msgstr "Σφάλμα κατά τη δημιουργία της υπογραφής του πακέτου." - -#~ msgid "RAW Mode" -#~ msgstr "Ακατέργαστη λειτουργία" - -#~ msgid "Node From Scene" -#~ msgstr "Κόμβος από σκηνή" - -#~ msgid "Import assets to the project." -#~ msgstr "Εισαγωγή πόρων στο έργο." - -#~ msgid "Export the project to many platforms." -#~ msgstr "Εξαγωγή έργου σε πολλές πλατφόρμες." - -#~ msgid "Alerts when an external resource has changed." -#~ msgstr "Ειδοποίηση όταν ένας εξωτερικός πόρος έχει αλλάξει." - -#~ msgid "Open https://godotengine.org at tutorials section." -#~ msgstr "" -#~ "Άνοιγμα της ιστοσελίδας https://godotengine.org στην περιοχή tutorials." - -#~ msgid "No scene selected to instance!" -#~ msgstr "Δεν έχει επιλεγεί σκηνή για τη δημιουργία στιγμιοτύπου!" - -#~ msgid "Instance at Cursor" -#~ msgstr "Στιγμιότυπο στον δρομέα" - -#~ msgid "Use Default Light" -#~ msgstr "Χρήση προεπιλεγμέου φωτός" - -#~ msgid "Default Light Normal:" -#~ msgstr "Προεπιλεγμένο διάνυσμα κανονικής ανάκλασης φωτός:" - -#~ msgid "Ambient Light Color:" -#~ msgstr "Χρώμα φωτός περιβάλλοντος:" - -#~ msgid "Invalid parent class name" -#~ msgstr "Μη έγκυρο όνομα γονικής κλάσης" - -#~ msgid "Valid chars:" -#~ msgstr "Έγκυροι χαρακτήρες:" - -#~ msgid "Valid name" -#~ msgstr "Έγκυρο όνομα" - -#~ msgid "Class name is invalid!" -#~ msgstr "Το όνομα της κλάσης δεν είναι έγκυρο!" - -#~ msgid "Parent class name is invalid!" -#~ msgstr "Το όνομα της γονικής κλάσης δεν είναι έγκυρο!" - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "" -#~ "Η ιδιότητα Path πρέπει να δείχνει σε έναν έγκυρο κόμβο Particles2D για να " -#~ "δουλέψει." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SamplePlayer to play sound." -#~ msgstr "" -#~ "Ένας πόρος SampleLibrary πρέπει να έχει δημιουργηθεί ή ορισθεί στην " -#~ "ιδιότητα 'samples' για να παίξει ήχο το SamplePlayer." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SpatialSamplePlayer to play sound." -#~ msgstr "" -#~ "Ένας πόρος SampleLibrary πρέπει να δημιουργηθεί ή ορισθεί στην ιδιότητα " -#~ "'samples' για να παίξει ήχο το SpatialSamplePlayer." - -#~ msgid "Replaced %d Ocurrence(s)." -#~ msgstr "Αντικαταστάθηκαν %d εμφανίσεις." - -#~ msgid "Save Translatable Strings" -#~ msgstr "Αποθήκευση μεταφράσιμων συμβολοσειρών" diff --git a/editor/translations/eo.po b/editor/translations/eo.po index c9dd8cfaa8..28bd7a0189 100644 --- a/editor/translations/eo.po +++ b/editor/translations/eo.po @@ -1,6 +1,6 @@ # Esperanto translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Scott Starkey <yekrats@gmail.com>, 2019. # AlexHoratio <yukithetupper@gmail.com>, 2019. @@ -2115,14 +2115,31 @@ msgstr "Metodoj" msgid "Theme Properties" msgstr "Etosaj atributoj" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Enumeracioj" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Colors" +msgstr "Elekti koloron" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Konstantoj" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Enumeracioj" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Priskribo de atributoj" @@ -8600,19 +8617,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Colors" -msgstr "Elekti koloron" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -13304,7 +13308,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -13313,6 +13322,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14318,161 +14342,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Konstantoj ne povas esti modifitaj." - -#~ msgid "Singleton" -#~ msgstr "Unuopo" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Viŝi profilon '%s'? (ne malfaro)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Ŝaltitaj atributoj:" - -#~ msgid "Unset" -#~ msgstr "Malagordi" - -#~ msgid "Class Options" -#~ msgstr "Agordoj de klaso" - -#~ msgid "Set" -#~ msgstr "Agordi" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Konservis %s modifikita(j)n risurco(j)n." - -#~ msgid "Q&A" -#~ msgstr "Demandoj kaj respondoj" - -#~ msgid "Status:" -#~ msgstr "Stato:" - -#~ msgid "Edit:" -#~ msgstr "Redakti:" - -#~ msgid "Redownload" -#~ msgstr "Reelŝuti" - -#~ msgid "(Installed)" -#~ msgstr "(Instalita)" - -#~ msgid "(Missing)" -#~ msgstr "(Manka)" - -#~ msgid "Request Failed." -#~ msgstr "Demando eraris." - -#~ msgid "Redirect Loop." -#~ msgstr "Alidirekta iteracio." - -#~ msgid "Download Complete." -#~ msgstr "Elŝuto kompleta." - -#~ msgid "Remove Template" -#~ msgstr "Forigi ŝablonon" - -#~ msgid "Download Templates" -#~ msgstr "Elŝutilo de ŝablonoj" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "" -#~ "Elekti spegulon el listo: (Majuskliga klavo+Alklako: Malfermi en " -#~ "retumilon)" - -#~ msgid "Move to Trash" -#~ msgstr "Movi al rubujo" - -#~ msgid "Expand All Properties" -#~ msgstr "Etendi ĉiajn atributojn" - -#~ msgid "Copy Params" -#~ msgstr "Kopii parametrojn" - -#~ msgid "Open in Help" -#~ msgstr "Malfermi en helpo" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "Transpaso de la luda fotilo\n" -#~ "Ne luda ekzemplo ruliĝas." - -#~ msgid "Drag: Rotate" -#~ msgstr "Ŝovado: Rotacii" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Premi 'V' por ŝanĝi pivoton, 'Majuskliga klavo+V' por ŝovi pivoton (dum " -#~ "movado)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt-klavo+dekstra musbutono: Elektado el profunda listo" - -#~ msgid "Templates" -#~ msgstr "Ŝablonoj" - -#~ msgid "Add Remapped Path" -#~ msgstr "Aldoni dosierindikon de remapo" - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "Animado legilo ne volas animi si mem, nur aliajn ludantojn." - -#~ msgid "Clipboard is empty" -#~ msgstr "Tondujo estas malplena" - -#~ msgid "No" -#~ msgstr "Ne" - -#, fuzzy -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Ĉi tiu sceno konservis neniam. Konservi antaŭ ruli?" - -#~ msgid "Search complete" -#~ msgstr "Serĉo finiĝis" - -#, fuzzy -#~ msgid "Default editor layout overridden." -#~ msgstr "Automatan aranĝon de editilo transpasis." - -#, fuzzy -#~ msgid "Pack File" -#~ msgstr "Malfermi dosieron" - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "Dosiersistema kaj enporta dokoj" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "Kiam eksportas aŭ malfaldas, la rezulta plenumebla provos konekti al la " -#~ "IP de ĉi tiu komputilo por estos sencimigita." - -#~ msgid "Revert" -#~ msgstr "Malfari" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Tiun ĉi agon ne povos malfari. Certe daŭrigi?" - -#, fuzzy -#~ msgid "Help improve the Godot documentation by giving feedback." -#~ msgstr "Helpi plibonigi la Godotan dokumentadon per doni reagon." - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "Anstataŭigis %d apero(j)n." - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "Priskribo:" - -#~ msgid "Input" -#~ msgstr "Enigo" - -#~ msgid "No Matches" -#~ msgstr "Ne Rezultoj" - -#~ msgid "Unknown font format." -#~ msgstr "Nekonata tipara formo." - -#~ msgid "Invalid font size." -#~ msgstr "Nevalida tipara grando." diff --git a/editor/translations/es.po b/editor/translations/es.po index fe7278beaf..93fc71c84c 100644 --- a/editor/translations/es.po +++ b/editor/translations/es.po @@ -1,6 +1,6 @@ # Spanish translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Addiel Lucena Perez <addiell2017@gmail.com>, 2017. # Aleix Sanchis <aleixsanchis@hotmail.com>, 2017, 2018. @@ -71,13 +71,14 @@ # jonagamerpro1234 ss <js398704@gmail.com>, 2021. # davidrogel <david.rogel.pernas@icloud.com>, 2021. # Anderson Guzman Abreu <chicobello1111@gmail.com>, 2021. +# Manuel Cantón Guillén <manuelcanton8@gmail.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-11-11 16:02+0000\n" -"Last-Translator: Victor S. <victorstancioiu@gmail.com>\n" +"PO-Revision-Date: 2021-12-21 10:39+0000\n" +"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n" "Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/" "godot/es/>\n" "Language: es\n" @@ -85,7 +86,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.9.1-dev\n" +"X-Generator: Weblate 4.10\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -795,7 +796,7 @@ msgstr "%d coincidencias." #: editor/code_editor.cpp editor/find_in_files.cpp msgid "Match Case" -msgstr "Coincidir Mayus./Minus." +msgstr "Coincidir Mayúsculas/Minúsculas" #: editor/code_editor.cpp editor/find_in_files.cpp msgid "Whole Words" @@ -897,7 +898,7 @@ msgstr "Eliminar" #: editor/connections_dialog.cpp msgid "Add Extra Call Argument:" -msgstr "Añadir argumento de llamada extra:" +msgstr "Añadir Argumento Extra de Llamada:" #: editor/connections_dialog.cpp msgid "Extra Call Arguments:" @@ -2191,14 +2192,30 @@ msgstr "Métodos" msgid "Theme Properties" msgstr "Propiedades del Theme" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Enumeraciones" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "Colores" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Constantes" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "Fuentes" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "Iconos" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "Estilos" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Enumeraciones" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Descripciones de Propiedades" @@ -2234,7 +2251,7 @@ msgstr "Buscar en la Ayuda" #: editor/editor_help_search.cpp msgid "Case Sensitive" -msgstr "Respeta Mayus./Minus." +msgstr "Respetar Mayúsculas/Minúsculas" #: editor/editor_help_search.cpp msgid "Show Hierarchy" @@ -7682,7 +7699,7 @@ msgstr "Seleccionar Color" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Convert Case" -msgstr "Convertir Mayus./Minus." +msgstr "Convertir Mayúsculas" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Uppercase" @@ -7847,7 +7864,7 @@ msgstr "Establecer Pose de Descanso en los Huesos" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Create Rest Pose from Bones" -msgstr "Crear Pose de Descanso a partir de los Huesos" +msgstr "Crear Pose de Reposo a partir de los Huesos" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Skeleton2D" @@ -8680,18 +8697,6 @@ msgid "TextureRegion" msgstr "Región de Textura" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "Colores" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "Fonts" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "Icons" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "Styleboxes" @@ -13507,9 +13512,15 @@ msgstr "\"Use Custom Build\" debe estar activado para usar los plugins." #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." msgstr "" -"\"Hand Tracking\" sólo es válido cuando \"Xr Mode\" es \"Oculus Mobile VR\"." +"\"Hand Tracking\" solo es válido cuando \"Xr Mode\" es \"Oculus Mobile VrApi" +"\" u \"OpenXR\"." + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." +msgstr "\"Passthrough\" solo es válido cuando \"Xr Mode\" es \"OpenXR\"." #: platform/android/export/export_plugin.cpp msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." @@ -13518,6 +13529,27 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" +"Cambiar el \"Min Sdk\" solo es válido cuando \"Use Custom Build\" está " +"activado." + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" +"Cambiar el \"Target Sdk\" solo es válido cuando \"Use Custom Build\" está " +"activado." + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" +"La versión de \"Target Sdk\" debe ser mayor o igual que la versión de \"Min " +"Sdk\"." + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14730,2347 +14762,3 @@ msgstr "Asignación a uniform." #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Las constantes no pueden modificarse." - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "Crear Pose de Descanso (Desde Huesos)" - -#~ msgid "Bottom" -#~ msgstr "Abajo" - -#~ msgid "Left" -#~ msgstr "Izquierda" - -#~ msgid "Right" -#~ msgstr "Derecha" - -#~ msgid "Front" -#~ msgstr "Frente" - -#~ msgid "Rear" -#~ msgstr "Detrás" - -#~ msgid "Nameless gizmo" -#~ msgstr "Gizmo sin nombre" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "\"Degrees Of Freedom\" sólo es válido cuando \"Xr Mode\" es \"Oculus " -#~ "Mobile VR\"." - -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "\"Focus Awareness\" sólo es válido cuando \"Xr Mode\" es \"Oculus Mobile " -#~ "VR\"." - -#~ msgid "Package Contents:" -#~ msgstr "Contenido del Paquete:" - -#~ msgid "Singleton" -#~ msgstr "Singleton" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "¿Borrar perfil '%s'? (no se puede deshacer)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Propiedades Activadas:" - -#~ msgid "Enabled Features:" -#~ msgstr "Características Activadas:" - -#~ msgid "Unset" -#~ msgstr "Desactivar" - -#~ msgid "Class Options" -#~ msgstr "Opciones de Clases" - -#~ msgid "Set" -#~ msgstr "Establecer" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Guardado %s recurso(s) modificado(s)." - -#~ msgid "Q&A" -#~ msgstr "Preguntas y respuestas" - -#~ msgid "Status:" -#~ msgstr "Estado:" - -#~ msgid "Edit:" -#~ msgstr "Editar:" - -#~ msgid "Redownload" -#~ msgstr "Volver a Descargar" - -#~ msgid "(Installed)" -#~ msgstr "(Instalado)" - -#~ msgid "(Missing)" -#~ msgstr "(No encontrado)" - -#~ msgid "Request Failed." -#~ msgstr "Petición Fallida." - -#~ msgid "Redirect Loop." -#~ msgstr "Redireccionar Loop." - -#~ msgid "Download Complete." -#~ msgstr "Descarga Completada." - -#~ msgid "Remove Template" -#~ msgstr "Eliminar Plantilla" - -#~ msgid "Download Templates" -#~ msgstr "Descargar Plantillas" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "" -#~ "Seleccionar un mirror de la lista: (Shift + Clic: Abrir en el Navegador)" - -#~ msgid "Move to Trash" -#~ msgstr "Mover a la papelera" - -#~ msgid "Expand All Properties" -#~ msgstr "Expandir Todas las Propiedades" - -#~ msgid "Collapse All Properties" -#~ msgstr "Colapsar Todas las Propiedades" - -#~ msgid "Copy Params" -#~ msgstr "Copiar Parámetros" - -#~ msgid "Open in Help" -#~ msgstr "Abrir en la ayuda" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "Reemplazar Cámara del Juego\n" -#~ "No hay ninguna instancia del juego en ejecución." - -#~ msgid "Drag: Rotate" -#~ msgstr "Arrastrar: Rotar" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Presiona 'v' para Cambiar el Pivote, 'Shift + v' para Arrastrar el Pivote " -#~ "(al mover)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt + Clic Derecho: Selección en listado de solapamientos" - -#~ msgid "Clone Down" -#~ msgstr "Clonar Hacia Abajo" - -#~ msgid "Yaw" -#~ msgstr "Guiñada" - -#~ msgid "Size" -#~ msgstr "Tamaño" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "Arrastrar: Rotar\n" -#~ "Alt + Arrastrar: Mover\n" -#~ "Alt + Clic Derecho: Selección en la lista de superposición" - -#~ msgid "Sep.:" -#~ msgstr "Sep.:" - -#~ msgid "Add All" -#~ msgstr "Añadir Todos" - -#~ msgid "Theme editing menu." -#~ msgstr "Menú de edición de tema." - -#~ msgid "Create Empty Template" -#~ msgstr "Crear Plantilla Vacía" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "Crear plantilla de editor vacía" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "Crear desde el tema actual del editor" - -#~ msgid "Data Type:" -#~ msgstr "Tipo de datos:" - -#~ msgid "Theme File" -#~ msgstr "Archivo de Tema" - -#~ msgid "Compiled" -#~ msgstr "Compilado" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "¿Eliminar %d proyectos de la lista?\n" -#~ "El contenido de las carpetas del proyecto no se modificará." - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "¿Eliminar este proyecto de la lista?\n" -#~ "El contenido de la carpeta de proyecto no se modificará." - -#~ msgid "Templates" -#~ msgstr "Plantillas" - -#~ msgid "Add Remapped Path" -#~ msgstr "Añadir Ruta Remapeada" - -#~ msgid "Can not perform with the root node." -#~ msgstr "No se puede efectuar con el nodo raíz." - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "No se pudo leer la imagen de carga:" - -#~ msgid "Using default boot splash image." -#~ msgstr "Usando la imagen de carga por defecto." - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Un reproductor de animación no puede animarse a sí mismo, solo a otros " -#~ "reproductores." - -#~ msgid "Clipboard is empty" -#~ msgstr "El portapapeles está vacío" - -#~ msgid "" -#~ "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -#~ msgstr "" -#~ "InterpolatedCamera ha sido desaprobado y será eliminado en Godot 4.0." - -#~ msgid "No" -#~ msgstr "No" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "" -#~ "Esta escena nunca se ha guardado. ¿Quieres guardarla antes de ejecutarla?" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "Ejecutable ADB no configurado en Configuración del Editor." - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "OpenJDK jarsigner no configurado en Configuración del Editor." - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "" -#~ "La compilación personalizada requiere una ruta de Android SDK válida en " -#~ "Configuración del Editor." - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(Tiempo restante: %d:%02d s)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "Trazando Mallas: " - -#~ msgid "Lighting Meshes: " -#~ msgstr "Iluminación de Mallas: " - -#~ msgid "Search complete" -#~ msgstr "Búsqueda completa" - -#~ msgid "No commit message was provided" -#~ msgstr "No se indicó ningún mensaje de confirmación" - -#~ msgid "Add a commit message" -#~ msgstr "Añadir un mensaje de confirmación" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "Ya hay un archivo o carpeta con el mismo nombre en esta ubicación." - -#~ msgid "Unable to complete APK alignment." -#~ msgstr "No se pudo completar el alineamiento del APK." - -#~ msgid "Error trying to save layout!" -#~ msgstr "¡Error al guardar el layout!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Se ha sobreescrito el layout del editor por defecto." - -#~ msgid "Move pivot" -#~ msgstr "Mover pivote" - -#~ msgid "Move anchor" -#~ msgstr "Mover ancla" - -#~ msgid "Resize CanvasItem" -#~ msgstr "Redimensionar CanvasItem" - -#~ msgid "Polygon->UV" -#~ msgstr "Polígono->UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV->Polígono" - -#~ msgid "Add initial export..." -#~ msgstr "Agregar puerto de entrada..." - -#~ msgid "Add previous patches..." -#~ msgstr "Agregar parches anteriores..." - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "¿Eliminar patch '%s' de la lista?" - -#~ msgid "Patches" -#~ msgstr "Parches" - -#~ msgid "Make Patch" -#~ msgstr "Crear Patch" - -#~ msgid "Pack File" -#~ msgstr "Paquete de Archivos" - -#~ msgid "No build apk generated at: " -#~ msgstr "No se ha generado ninguna compilación apk en: " - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "Sistema de Archivo e Importación" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "Al exportar o distribuir, el ejecutable generado intentará conectarse a " -#~ "la IP de este equipo para ser depurado." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "" -#~ "La escena actual nunca se guardó. Por favor, guárdela antes de ejecutar." - -#~ msgid "Revert" -#~ msgstr "Revertir" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Esta acción no se puede deshacer. ¿Revertir de todos modos?" - -#~ msgid "Revert Scene" -#~ msgstr "Revertir Escena" - -#~ msgid "Clear Script" -#~ msgstr "Eliminar Script" - -#~ msgid "Issue Tracker" -#~ msgstr "Registro de problemas" - -#~ msgid "Request Docs" -#~ msgstr "Solicitar Documentos" - -#~ msgid "Help improve the Godot documentation by giving feedback." -#~ msgstr "" -#~ "Ayuda a mejorar la documentación de Godot aportando retroalimentación." - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "%d ocurrencia(s) reemplazada(s)." - -#~ msgid "Create Static Convex Body" -#~ msgstr "Crear Static Convex Body" - -#~ msgid "Failed creating shapes!" -#~ msgstr "¡Falló en la creación de los shapes!" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Actualmente no existen tutoriales para esta clase, puedes [color=$color]" -#~ "[url=$url]contribuir uno[/url][/color] o [color=$color][url=" -#~ "$url2]solicitar uno[/url][/color]." - -#~ msgid "enum " -#~ msgstr "enum " - -#~ msgid "Brief Description" -#~ msgstr "Descripción Breve" - -#~ msgid "Class Description" -#~ msgstr "Descripción de la Clase" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "La exportación del proyecto falló con el código de error %d." - -#~ msgid "Password:" -#~ msgstr "Contraseña:" - -#~ msgid "Identifier segments must be of non-zero length." -#~ msgstr "Los segmentos de un identificador deben ser de largo no nulo." - -#~ msgid "A digit cannot be the first character in a Identifier segment." -#~ msgstr "" -#~ "Un dígito no puede ser el primer carácter en un segmento Identificador." - -#~ msgid "" -#~ "The character '%s' cannot be the first character in a Identifier segment." -#~ msgstr "" -#~ "El carácter '%s' no puede ser el primer carácter en un segmento " -#~ "Identificador." - -#~ msgid "The Identifier must have at least one '.' separator." -#~ msgstr "El Identificador debe tener al menos un '.' como separador." - -#~ msgid "Pause the scene" -#~ msgstr "Pausar la escena" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Control+" -#~ msgstr "Control+" - -#~ msgid "Snap to Grid" -#~ msgstr "Ajustar en Grid" - -#~ msgid "Add input +" -#~ msgstr "Añadir entrada +" - -#~ msgid "Language" -#~ msgstr "Lenguaje" - -#~ msgid "Inherits" -#~ msgstr "Hereda" - -#~ msgid "Base Type:" -#~ msgstr "Tipo Base:" - -#~ msgid "Available Nodes:" -#~ msgstr "Nodos disponibles:" - -#~ msgid "Input" -#~ msgstr "Entrada" - -#~ msgid "Methods:" -#~ msgstr "Métodos:" - -#~ msgid "Theme Properties:" -#~ msgstr "Propiedades del Tema:" - -#~ msgid "Enumerations:" -#~ msgstr "Enumeraciones:" - -#~ msgid "Constants:" -#~ msgstr "Constantes:" - -#~ msgid "Class Description:" -#~ msgstr "Descripción de la Clase:" - -#~ msgid "Property Descriptions:" -#~ msgstr "Descripción de Propiedades:" - -#~ msgid "Method Descriptions:" -#~ msgstr "Descripción de Métodos:" - -#~ msgid "" -#~ "This will install the Android project for custom builds.\n" -#~ "Note that, in order to use it, it needs to be enabled per export preset." -#~ msgstr "" -#~ "Esto instalará el proyecto Android para compilaciones personalizadas.\n" -#~ "Para utilizarlo, es necesario habilitarlo mediante un preset de " -#~ "exportación." - -#~ msgid "Reverse sorting." -#~ msgstr "Orden inverso." - -#~ msgid "Delete Node(s)?" -#~ msgstr "¿Eliminar Nodo(s)?" - -#~ msgid "No Matches" -#~ msgstr "Sin Coincidencias" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "No se puede abrir file_type_cache.cch para escribir, no se guardará el " -#~ "cache de tipos de archivo!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "" -#~ "¡No se puede navegar a '%s' ya que no se ha encontrado en el sistema de " -#~ "archivos!" - -#~ msgid "Error loading image:" -#~ msgstr "Error al cargar la imagen:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "No hay píxeles con transparencia > 128 en la imagen..." - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "La superficie padre no tiene caras solidas para poblar." - -#~ msgid "Couldn't map area." -#~ msgstr "No se pudo mapear el área." - -#~ msgid "Faces contain no area!" -#~ msgstr "¡Las caras no contienen área!" - -#~ msgid "No faces!" -#~ msgstr "¡Sin caras!" - -#~ msgid "Error: could not load file." -#~ msgstr "Error: no se pudo cargar el archivo." - -#~ msgid "Error could not load file." -#~ msgstr "Error no se pudo cargar el archivo." - -#~ msgid "Doppler Enable" -#~ msgstr "Activar Doppler" - -#~ msgid "Select Mode (Q)" -#~ msgstr "Modo de Selección (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "Modo Movimiento (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "Modo Rotación (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "Modo Escalado (R)" - -#~ msgid "Local Coords" -#~ msgstr "Coordenadas Locales" - -#~ msgid "Snap Mode (%s)" -#~ msgstr "Modo de Snap (%s)" - -#~ msgid "Tool Select" -#~ msgstr "Seleccionar Herramienta" - -#~ msgid "Tool Move" -#~ msgstr "Herramienta Mover" - -#~ msgid "Tool Rotate" -#~ msgstr "Herramienta Rotar" - -#~ msgid "Tool Scale" -#~ msgstr "Herramienta Escalar" - -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "" -#~ "¿Eliminar todos los proyectos faltantes de la lista? (El contenido de las " -#~ "carpetas no se modificará)" - -#~ msgid "Project List" -#~ msgstr "Listado de Proyectos" - -#~ msgid "Exit" -#~ msgstr "Salir" - -#~ msgid "Could not execute PVRTC tool:" -#~ msgstr "No se pudo ejecutar la herramienta PVRTC:" - -#~ msgid "Can't load back converted image using PVRTC tool:" -#~ msgstr "" -#~ "No se pudo volver a cargar la imagen convertida usando la herramienta " -#~ "PVRTC:" - -#~ msgid "Error initializing FreeType." -#~ msgstr "Error al arrancar FreeType." - -#~ msgid "Unknown font format." -#~ msgstr "Formato de tipografía desconocido." - -#~ msgid "Error loading font." -#~ msgstr "Error al cargar la tipografía." - -#~ msgid "Invalid font size." -#~ msgstr "Tamaño de tipografía incorrecto." - -#~ msgid "Previous Folder" -#~ msgstr "Carpeta Anterior" - -#~ msgid "Next Folder" -#~ msgstr "Carpeta Siguiente" - -#~ msgid "Automatically Open Screenshots" -#~ msgstr "Abrir Capturas de Pantalla Automáticamente" - -#~ msgid "Open in an external image editor." -#~ msgstr "Abrir en un editor de imágenes externo." - -#~ msgid "Reverse" -#~ msgstr "Invertir" - -#~ msgid "Mirror X" -#~ msgstr "Voltear X" - -#~ msgid "Mirror Y" -#~ msgstr "Voltear Y" - -#~ msgid "Generating solution..." -#~ msgstr "Generando solución..." - -#~ msgid "Generating C# project..." -#~ msgstr "Generando proyecto C#..." - -#~ msgid "Failed to create solution." -#~ msgstr "Fallo al crear solución." - -#~ msgid "Failed to save solution." -#~ msgstr "Fallo al guardar solución." - -#~ msgid "Failed to create C# project." -#~ msgstr "Fallo al crear proyecto C#." - -#~ msgid "Mono" -#~ msgstr "Mono" - -#~ msgid "About C# support" -#~ msgstr "Sobre el soporte de C#" - -#~ msgid "Create C# solution" -#~ msgstr "Crear solución C#" - -#~ msgid "Builds" -#~ msgstr "Compilaciones" - -#~ msgid "Build Project" -#~ msgstr "Compilar proyecto" - -#~ msgid "View log" -#~ msgstr "Ver registro" - -#~ msgid "WorldEnvironment needs an Environment resource." -#~ msgstr "WorldEnvironment necesita un recurso Environment." - -#~ msgid "Enabled Classes" -#~ msgstr "Clases Activadas" - -#~ msgid "Update Always" -#~ msgstr "Actualizar Siempre" - -#~ msgid "'camera' input parameter for all shader modes." -#~ msgstr "Parámetro de entrada de 'camera' para todos los modos de shader." - -#~ msgid "'inv_camera' input parameter for all shader modes." -#~ msgstr "Parámetro de entrada 'inv_camera' para todos los modos de shader." - -#~ msgid "'inv_projection' input parameter for all shader modes." -#~ msgstr "" -#~ "Parámetro de entrada' inv_projection' para todos los modos de shader." - -#~ msgid "'normal' input parameter for all shader modes." -#~ msgstr "Parámetro de entrada 'normal' para todos los modos de shader." - -#~ msgid "'projection' input parameter for all shader modes." -#~ msgstr "Parámetro de entrada 'projection' para todos los modos de shader." - -#~ msgid "'time' input parameter for all shader modes." -#~ msgstr "Parámetro de entrada 'time' para todos los modos de shader." - -#~ msgid "'viewport_size' input parameter for all shader modes." -#~ msgstr "" -#~ "Parámetro de entrada 'viewport_size' para todos los modos de shader." - -#~ msgid "'world' input parameter for all shader modes." -#~ msgstr "Parámetro de entrada 'world' para todos los modos de shader." - -#~ msgid "'alpha' input parameter for all shader modes." -#~ msgstr "Parámetro de entrada 'alpha' para todos los modos de shader." - -#~ msgid "'color' input parameter for all shader modes." -#~ msgstr "Parámetro de entrada 'color' para todos los modos de shader." - -#~ msgid "'texture_pixel_size' input parameter for all shader modes." -#~ msgstr "" -#~ "Parámetro de entrada 'texture_pixel_size' para todos los modos de shader." - -#~ msgid "'alpha' input parameter for vertex and fragment shader modes." -#~ msgstr "" -#~ "Parámetro de entrada 'alpha' para vértices y fragmentos en modo shader." - -#~ msgid "'binormal' input parameter for vertex and fragment shader modes." -#~ msgstr "" -#~ "Parámetro de entrada 'binormal' para vértices y fragmentos en modo shader." - -#~ msgid "'color' input parameter for vertex and fragment shader modes." -#~ msgstr "" -#~ "Parámetro de entrada 'color' para vértices y fragmentos en modo shader." - -#~ msgid "'fragcoord' input parameter for fragment and light shader modes." -#~ msgstr "" -#~ "Parámetro de entrada 'fragcoord' para fragmentos y luces en modo shader." - -#~ msgid "'point_coord' input parameter for fragment shader mode." -#~ msgstr "" -#~ "Parámetro de entrada 'point_coord' para fragmentos en modo de shader." - -#~ msgid "'screen_uv' input parameter for fragment shader mode." -#~ msgstr "Parámetro de entrada 'screen_uv' para fragmentos en modo de shader." - -#~ msgid "'tangent' input parameter for vertex and fragment shader modes." -#~ msgstr "" -#~ "Parámetro de entrada 'tangent' para vértices y fragmentos en modo shader." - -#~ msgid "'uv2' input parameter for vertex and fragment shader modes." -#~ msgstr "" -#~ "Parámetro de entrada 'uv2' para vértices y fragmentos en modo shader." - -#~ msgid "'vertex' input parameter for vertex and fragment shader modes." -#~ msgstr "" -#~ "Parámetro de entrada 'vertex' para vértices y fragmentos en modo shader." - -#~ msgid "'albedo' input parameter for light shader mode." -#~ msgstr "Parámetro de entrada 'albedo' para luces en modo shader." - -#~ msgid "'attenuation' input parameter for light shader mode." -#~ msgstr "Parámetro de entrada 'attenuation' para luces en modo shader." - -#~ msgid "'light' input parameter for light shader mode." -#~ msgstr "Parámetro de entrada 'light' para luces en modo shader." - -#~ msgid "'light_color' input parameter for light shader mode." -#~ msgstr "Parámetro de entrada 'light_color' para luces en modo shader." - -#~ msgid "'roughness' input parameter for light shader mode." -#~ msgstr "Parámetro de entrada 'roughness' para luces en modo shader." - -#~ msgid "'specular' input parameter for light shader mode." -#~ msgstr "Parámetro de entrada 'specular' para luces en modo shader." - -#~ msgid "'transmission' input parameter for light shader mode." -#~ msgstr "Parámetro de entrada 'transmission' para luces en modo shader." - -#~ msgid "'modelview' input parameter for vertex shader mode." -#~ msgstr "Parámetro de entrada 'modelview' para vértices en modo shader." - -#~ msgid "'point_size' input parameter for vertex shader mode." -#~ msgstr "Parámetro de entrada 'point_size' para vértices en modo shader." - -#~ msgid "'tangent' input parameter for vertex and fragment shader mode." -#~ msgstr "" -#~ "Parámetro de entrada 'tangent' para vértices y fragmentos en modo shader." - -#~ msgid "'light_pass' input parameter for vertex and fragment shader modes." -#~ msgstr "" -#~ "Parámetro de entrada 'light_pass' para vértices y fragmentos en modo " -#~ "shader." - -#~ msgid "'point_coord' input parameter for fragment and light shader modes." -#~ msgstr "" -#~ "Parámetro de entrada 'point_coord' para fragmentos y luces en modo shader." - -#~ msgid "'screen_pixel_size' input parameter for fragment shader mode." -#~ msgstr "" -#~ "Parámetro de entrada 'screen_pixel_size' para fragmentos en modo de " -#~ "shader." - -#~ msgid "'screen_uv' input parameter for fragment and light shader modes." -#~ msgstr "" -#~ "Parámetro de entrada 'screen_uv' para fragmentos y luces en modo shader." - -#~ msgid "'light_alpha' input parameter for light shader mode." -#~ msgstr "Parámetro de entrada 'light_alpha' para luces en modo shader." - -#~ msgid "'light_height' input parameter for light shader mode." -#~ msgstr "Parámetro de entrada 'light_height' para luces en modo shader." - -#~ msgid "'light_uv' input parameter for light shader mode." -#~ msgstr "Parámetro de entrada 'light_uv' para luces en modo shader." - -#~ msgid "'light_vec' input parameter for light shader mode." -#~ msgstr "Parámetro de entrada 'light_vec' para luces en modo shader." - -#~ msgid "'normal' input parameter for light shader mode." -#~ msgstr "Parámetro de entrada 'normal' para luces en modo shader." - -#~ msgid "'shadow_color' input parameter for light shader mode." -#~ msgstr "Parámetro de entrada 'shadow_color' para luces en modo shader." - -#~ msgid "'extra' input parameter for vertex shader mode." -#~ msgstr "Parámetro de entrada 'extra' para vértices en modo shader." - -#~ msgid "'projection' input parameter for vertex shader mode." -#~ msgstr "Parámetro de entrada 'projection' para vértices en modo shader." - -#~ msgid "'vertex' input parameter for vertex shader mode." -#~ msgstr "Parámetro de entrada 'vertex' para vértices en modo shader." - -#~ msgid "'world' input parameter for vertex shader mode." -#~ msgstr "Parámetro de entrada 'world' para vértices en modo shader." - -#~ msgid "'active' input parameter for vertex shader mode." -#~ msgstr "Parámetro de entrada 'active' para vértices en modo shader." - -#~ msgid "'alpha' input parameter for vertex shader mode." -#~ msgstr "Parámetro de entrada 'alpha' para vértices en modo shader." - -#~ msgid "'color' input parameter for vertex shader mode." -#~ msgstr "Parámetro de entrada 'color' para vértices en modo shader." - -#~ msgid "'custom_alpha' input parameter for vertex shader mode." -#~ msgstr "Parámetro de entrada 'custom_alpha' para vértices en modo shader." - -#~ msgid "'delta' input parameter for vertex shader mode." -#~ msgstr "Parámetro de entrada 'delta' para vértices en modo shader." - -#~ msgid "'emission_transform' input parameter for vertex shader mode." -#~ msgstr "" -#~ "Parámetro de entrada 'emission_transform' para vértices en modo shader." - -#~ msgid "'index' input parameter for vertex shader mode." -#~ msgstr "Parámetro de entrada 'index' para vértices en modo shader." - -#~ msgid "'lifetime' input parameter for vertex shader mode." -#~ msgstr "Parámetro de entrada 'lifetime' para vértices en modo shader." - -#~ msgid "'restart' input parameter for vertex shader mode." -#~ msgstr "Parámetro de entrada 'restart' para vértices en modo shader." - -#~ msgid "'time' input parameter for vertex shader mode." -#~ msgstr "Parámetro de entrada 'time' para vértices en modo shader." - -#~ msgid "'transform' input parameter for vertex shader mode." -#~ msgstr "Parámetro de entrada 'transform' para vértices en modo shader." - -#~ msgid "'velocity' input parameter for vertex shader mode." -#~ msgstr "Parámetro de entrada 'velocity' para vértices en modo shader." - -#~ msgid "Raw Mode" -#~ msgstr "Modo Raw" - -#~ msgid "Path to Node:" -#~ msgstr "Ruta al nodo:" - -#~ msgid "Delete selected files?" -#~ msgstr "¿Eliminar los archivos seleccionados?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "No existe el archivo 'res://default_bus_layout.tres'." - -#~ msgid "Go to parent folder" -#~ msgstr "Ir a la carpeta principal" - -#~ msgid "Open Scene(s)" -#~ msgstr "Abrir escena(s)" - -#~ msgid "Previous Directory" -#~ msgstr "Carpeta anterior" - -#~ msgid "Next Directory" -#~ msgstr "Carpeta siguiente" - -#~ msgid "Ease in" -#~ msgstr "Transición de entrada" - -#~ msgid "Ease out" -#~ msgstr "Transición de salida" - -#~ msgid "Create Convex Static Body" -#~ msgstr "Crear cuerpo estático convexo" - -#~ msgid "CheckBox Radio1" -#~ msgstr "CheckBox Radio1" - -#~ msgid "CheckBox Radio2" -#~ msgstr "CheckBox Radio2" - -#~ msgid "Create folder" -#~ msgstr "Crear carpeta" - -#~ msgid "Custom Node" -#~ msgstr "Nodo personalizado" - -#~ msgid "Invalid Path" -#~ msgstr "Ruta inválida" - -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "GridMap Duplicar selección" - -#~ msgid "Create Area" -#~ msgstr "Crear área" - -#~ msgid "Create Exterior Connector" -#~ msgstr "Crear conector exterior" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "Editar argumentos de la señal:" - -#~ msgid "Edit Variable:" -#~ msgstr "Editar variable:" - -#~ msgid "Snap (s): " -#~ msgstr "Snap (s): " - -#~ msgid "Insert keys." -#~ msgstr "Insertar claves." - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "" -#~ "Instanciar la(s) escena(s) seleccionadas como hijas del nodo seleccionado." - -#~ msgid "Font Size:" -#~ msgstr "Tamaño de la tipografía:" - -#~ msgid "Line:" -#~ msgstr "Línea:" - -#~ msgid "Col:" -#~ msgstr "Columna:" - -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "" -#~ "OrientedPathFollow solo funciona cuando esta asignado como hijo de un " -#~ "nodo Path." - -#~ msgid "Split point with itself." -#~ msgstr "Dividir punto con sí mismo." - -#~ msgid "Split can't form an existing edge." -#~ msgstr "La división no puede formar un borde existente." - -#~ msgid "Add Split" -#~ msgstr "Agregar división" - -#~ msgid "Invalid Split: " -#~ msgstr "División inválida: " - -#~ msgid "Remove Split" -#~ msgstr "Quitar división" - -#~ msgid "Poly" -#~ msgstr "Polígono" - -#~ msgid "Splits" -#~ msgstr "Divisiones" - -#~ msgid "Connect two points to make a split." -#~ msgstr "Conectar dos puntos para crear una división." - -#~ msgid "Add Node.." -#~ msgstr "Añadir Nodo..." - -#~ msgid "Create from scene?" -#~ msgstr "¿Crear desde escena?" - -#~ msgid "Create Poly" -#~ msgstr "Crear polígono" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "Crear un nuevo polígono desde cero" - -#~ msgid "Zoom out" -#~ msgstr "Zoom out" - -#~ msgid "Zoom in" -#~ msgstr "Zoom in" - -#~ msgid "Create Poly3D" -#~ msgstr "Crear Poly3D" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "No se ha encontrado el recurso OccluderPolygon2D en este nodo.\n" -#~ "¿Crear uno y asignarlo?" - -#~ msgid "LMB: Move Point." -#~ msgstr "Clic izquierdo: Mover punto." - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl + LMB: Dividir Segmento." - -#~ msgid "RMB: Erase Point." -#~ msgstr "Clic derecho: Borrar punto." - -#~ msgid "New TextFile" -#~ msgstr "Nuevo TextFile" - -#~ msgid "Save Theme As" -#~ msgstr "Guardar tema como" - -#~ msgid "<None>" -#~ msgstr "<Ninguno>" - -#~ msgid "" -#~ "Select sub-tile to use as icon, this will be also used on invalid " -#~ "autotile bindings." -#~ msgstr "" -#~ "Seleccione sub-tile para utilizar como icono, éste se utilizará también " -#~ "en enlazados automáticos no válidos." - -#~ msgid "Zoom:" -#~ msgstr "Zoom:" - -#~ msgid "Are you sure you want to remove all connections from the \"" -#~ msgstr "¿Estás seguro/a que quieres quitar todas las conexiones de el/la \"" - -#~ msgid "Class List:" -#~ msgstr "Lista de clases:" - -#~ msgid "Public Methods" -#~ msgstr "Métodos públicos" - -#~ msgid "Public Methods:" -#~ msgstr "Métodos públicos:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "Elementos del tema de interfaz:" - -#~ msgid "Property: " -#~ msgstr "Propiedad: " - -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Act/Desact. estado de carpeta como Favorito." - -#~ msgid "Show current scene file." -#~ msgstr "Mostrar archivo de escena actual." - -#~ msgid "Enter tree-view." -#~ msgstr "Entrar a la vista árbol." - -#~ msgid "Whole words" -#~ msgstr "Palabras completas" - -#~ msgid "Match case" -#~ msgstr "Coincidir Mayúsculas/Minúsculas" - -#~ msgid "Ok" -#~ msgstr "Aceptar" - -#~ msgid "Show In File System" -#~ msgstr "Mostrar en sistema de archivos" - -#~ msgid "Search the class hierarchy." -#~ msgstr "Buscar en la jerarquía de clases." - -#~ msgid "Search in files" -#~ msgstr "Buscar en archivos" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "" -#~ "Los scripts integrados sólo se pueden editar cuando la escena a la que " -#~ "pertenecen está cargada" - -#~ msgid "Convert To Uppercase" -#~ msgstr "Convertir a mayúsculas" - -#~ msgid "Convert To Lowercase" -#~ msgstr "Convertir a minúsculas" - -#~ msgid "Rotate 0 degrees" -#~ msgstr "Rotar 0 grados" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "Rotar 90 grados" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "Rotar 180 grados" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "Rotar 270 grados" - -#~ msgid "Errors:" -#~ msgstr "Errores:" - -#~ msgid "Stack Trace (if applicable):" -#~ msgstr "Stack Trace (si aplica):" - -#~ msgid "Bake!" -#~ msgstr "¡Calcular!" - -#~ msgid "Bake the navigation mesh." -#~ msgstr "Pre-calcular la malla de navegación." - -#~ msgid "Get" -#~ msgstr "Get" - -#~ msgid "Change RGB Constant" -#~ msgstr "Cambiar Constante RGB" - -#~ msgid "Change Vec Scalar Operator" -#~ msgstr "Cambiar operador Vec Scalar" - -#~ msgid "Change RGB Operator" -#~ msgstr "Cambiar operador RGB" - -#~ msgid "Toggle Rot Only" -#~ msgstr "Act/desact. solo Rot" - -#~ msgid "Change Vec Function" -#~ msgstr "Cambiar función Vec" - -#~ msgid "Change Vec Uniform" -#~ msgstr "Cambiar Vec uniforme" - -#~ msgid "Change RGB Uniform" -#~ msgstr "Cambiar RGB uniforme" - -#~ msgid "Change Default Value" -#~ msgstr "Cambiar valor por defecto" - -#~ msgid "Change XForm Uniform" -#~ msgstr "Cambiar XForm uniforme" - -#~ msgid "Change Cubemap Uniform" -#~ msgstr "Cambiar Cubemap uniforme" - -#~ msgid "Change Comment" -#~ msgstr "Cambiar comentario" - -#~ msgid "Add/Remove to Color Ramp" -#~ msgstr "Añadir/quitar de rampa de color" - -#~ msgid "Modify Color Ramp" -#~ msgstr "Modificar rampa de color" - -#~ msgid "Add/Remove to Curve Map" -#~ msgstr "Añadir/quitar a/de mapa de curvas" - -#~ msgid "Modify Curve Map" -#~ msgstr "Modificar mapa de curvas" - -#~ msgid "Connect Graph Nodes" -#~ msgstr "Conectar nodos gráficos" - -#~ msgid "Remove Shader Graph Node" -#~ msgstr "Eliminar el nodo gráfico del shader" - -#~ msgid "Move Shader Graph Node" -#~ msgstr "Mover el nodo gráfico del shader" - -#~ msgid "Duplicate Graph Node(s)" -#~ msgstr "Duplicar nodo(s) gráfico" - -#~ msgid "Error: Cyclic Connection Link" -#~ msgstr "Error: Link de conexión cíclico" - -#~ msgid "Error: Missing Input Connections" -#~ msgstr "Error: Conexiones de entrada faltantes" - -#~ msgid "Add Shader Graph Node" -#~ msgstr "Añadir nodo gráfico del shader" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Subir pista de animación" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Bajar pista de animación" - -#~ msgid "Set Transitions to:" -#~ msgstr "Establecer transiciones en:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Cambiar interpolación de pista de animación" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Cambiar modo de valor de pista de animación" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Cambiar modo de ciclo de pista de animación" - -#~ msgid "Edit Node Curve" -#~ msgstr "Editar curva del nodo" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Editar curva de selección" - -#~ msgid "Anim Add Key" -#~ msgstr "Añadir clave de animación" - -#~ msgid "In" -#~ msgstr "Entrada" - -#~ msgid "Out" -#~ msgstr "Salida" - -#~ msgid "In-Out" -#~ msgstr "Entrada-Salida" - -#~ msgid "Out-In" -#~ msgstr "Salida-Entrada" - -#~ msgid "Change Anim Len" -#~ msgstr "Cambiar duración de animación" - -#~ msgid "Change Anim Loop" -#~ msgstr "Cambiar bucle de animación" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Crear clave de valor tipado para animación" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Añadir call track de animación" - -#~ msgid "Length (s):" -#~ msgstr "Duración (segs.):" - -#~ msgid "Step (s):" -#~ msgstr "Paso(s):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "Fijado del cursor por pasos (en segundos)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Activar/Desactivar bucle de animación." - -#~ msgid "Add new tracks." -#~ msgstr "Añadir nuevas pistas." - -#~ msgid "Move current track up." -#~ msgstr "Subir la pista actual." - -#~ msgid "Move current track down." -#~ msgstr "Bajar la pista actual." - -#~ msgid "Track tools" -#~ msgstr "Herramientas de pistas" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Habilitar la edición de claves individuales haciendo clic en ellas." - -#~ msgid "Key" -#~ msgstr "Clave" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "¿Desde que nodo quieres realizar llamadas a funciones?" - -#~ msgid "Thanks!" -#~ msgstr "¡Gracias!" - -#~ msgid "I see..." -#~ msgstr "Ya veo..." - -#~ msgid "Ugh" -#~ msgstr "Vaya" - -#~ msgid "Run Script" -#~ msgstr "Ejecutar script" - -#~ msgid "Stop Profiling" -#~ msgstr "Parar Profiling" - -#~ msgid "Start Profiling" -#~ msgstr "Iniciar Profiling" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "Predeterminado (igual que el editor)" - -#~ msgid "Create new animation in player." -#~ msgstr "Crear nueva animación en el reproductor." - -#~ msgid "Load animation from disk." -#~ msgstr "Cargar una animación desde disco." - -#~ msgid "Load an animation from disk." -#~ msgstr "Cargar una animación desde disco." - -#~ msgid "Save the current animation" -#~ msgstr "Guardar la animación actual" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "Editar tiempos de mezcla con otras animaciones" - -#~ msgid "Copy Animation" -#~ msgstr "Copiar animación" - -#~ msgid "Fetching:" -#~ msgstr "Buscando:" - -#~ msgid "prev" -#~ msgstr "anterior" - -#~ msgid "next" -#~ msgstr "siguiente" - -#~ msgid "last" -#~ msgstr "último" - -#~ msgid "Edit IK Chain" -#~ msgstr "Editar Cadena IK" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "Arrastrar pivote desde la posición del ratón" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "Establecer punto de pivotado en la posición del ratón" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "Añadir/quitar punto en la rampa del degradado" - -#~ msgid "OK :(" -#~ msgstr "OK :(" - -#~ msgid "Skeleton Gizmo visibility" -#~ msgstr "Visibilidad de Gizmo esqueleto" - -#~ msgid "StyleBox Preview:" -#~ msgstr "Vista previa de StyleBox:" - -#~ msgid "Texture Region Editor" -#~ msgstr "Editor de regiones de texturas" - -#~ msgid "Erase selection" -#~ msgstr "Eliminar selección" - -#~ msgid "Item name or ID:" -#~ msgstr "Nombre o ID de Item:" - -#~ msgid "Export templates for this platform are missing/corrupted: " -#~ msgstr "" -#~ "Las plantillas de exportación para esta plataforma faltan/están " -#~ "corruptas: " - -#~ msgid "Button 8" -#~ msgstr "Botón 8" - -#~ msgid "Button 9" -#~ msgstr "Botón 9" - -#~ msgid "Discard Instancing" -#~ msgstr "Descartar instancia" - -#~ msgid "Makes Sense!" -#~ msgstr "¡Entendido!" - -#~ msgid "Clear!" -#~ msgstr "¡Borrar!" - -#~ msgid "Toggle Spatial Visible" -#~ msgstr "Act/desact. Spatial visible" - -#~ msgid "Condition" -#~ msgstr "Condición" - -#~ msgid "Sequence" -#~ msgstr "Secuencia" - -#~ msgid "Switch" -#~ msgstr "Switch" - -#~ msgid "Iterator" -#~ msgstr "Iterador" - -#~ msgid "While" -#~ msgstr "While" - -#~ msgid "Return" -#~ msgstr "Return" - -#~ msgid "Call" -#~ msgstr "Call" - -#~ msgid "Edit Variable" -#~ msgstr "Editar variable" - -#~ msgid "Edit Signal" -#~ msgstr "Editar señal" - -#~ msgid "Invalid action (anything goes but '/' or ':')." -#~ msgstr "La acción no es correcta (no puedes utilizar «/» o «:»)." - -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "No puede contener '/' o ':'" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "El archivo \"version.txt\" que hay dentro de las plantillas tiene un " -#~ "formato inválido. \"Revisión\" no es un identificador válido." - -#~ msgid "Can't write file." -#~ msgstr "No se puede escribir el archivo." - -#~ msgid "Couldn't get project.godot in project path." -#~ msgstr "No se encontró project.godot en la ruta del proyecto." - -#~ msgid "Replace By" -#~ msgstr "Reemplazar por" - -#~ msgid "Backwards" -#~ msgstr "Hacia atrás" - -#~ msgid "Prompt On Replace" -#~ msgstr "Preguntar antes de reemplazar" - -#~ msgid "Skip" -#~ msgstr "Saltar" - -#~ msgid "" -#~ "Your project will be created in a non empty folder (you might want to " -#~ "create a new folder)." -#~ msgstr "" -#~ "Tu proyecto se creará en un directorio existente (quizás quieras crear un " -#~ "directorio nuevo)." - -#~ msgid "That's a BINGO!" -#~ msgstr "BINGO!" - -#, fuzzy -#~ msgid "preview" -#~ msgstr "Vista previa" - -#~ msgid "Move Add Key" -#~ msgstr "Mover o añadir clave" - -#~ msgid "Create Subscription" -#~ msgstr "Crear suscripción" - -#~ msgid "List:" -#~ msgstr "Lista:" - -#~ msgid "Set Emission Mask" -#~ msgstr "Establecer máscara de emisión" - -#~ msgid "Clear Emitter" -#~ msgstr "Borrar emisor" - -#, fuzzy -#~ msgid "Fold Line" -#~ msgstr "Ir a línea" - -#~ msgid "Sections:" -#~ msgstr "Selecciones:" - -#~ msgid "Cannot navigate to '" -#~ msgstr "No se puede navegar a '" - -#, fuzzy -#~ msgid "" -#~ "\n" -#~ "Source: " -#~ msgstr "Fuente:" - -#, fuzzy -#~ msgid "Remove Point from Line2D" -#~ msgstr "Borrar punto de curva" - -#, fuzzy -#~ msgid "Add Point to Line2D" -#~ msgstr "Añadir punto a curva" - -#, fuzzy -#~ msgid "Move Point in Line2D" -#~ msgstr "Mover Punto en Curva" - -#, fuzzy -#~ msgid "Split Segment (in line)" -#~ msgstr "Dividir segmento (en curva)" - -#~ msgid "Meta+" -#~ msgstr "Meta+" - -#, fuzzy -#~ msgid "Setting '" -#~ msgstr "Ajustes" - -#~ msgid "Remote Inspector" -#~ msgstr "Inspector Remoto" - -#~ msgid "Live Scene Tree:" -#~ msgstr "Árbol de Escenas en Vivo:" - -#~ msgid "Remote Object Properties: " -#~ msgstr "Propiedades de Objeto Remoto: " - -#, fuzzy -#~ msgid "Prev Level (%sDown Wheel)" -#~ msgstr "Nivel anterior (" - -#, fuzzy -#~ msgid "Next Level (%sUp Wheel)" -#~ msgstr "Siguiente nivel (" - -#, fuzzy -#~ msgid "Selection -> Duplicate" -#~ msgstr "Sólo selección" - -#, fuzzy -#~ msgid "Selection -> Clear" -#~ msgstr "Sólo selección" - -#~ msgid "" -#~ "Path property must point to a valid Viewport node to work. Such Viewport " -#~ "must be set to 'render target' mode." -#~ msgstr "" -#~ "La propiedad Path debe apuntar a un nodo Viewport válido para funcionar. " -#~ "Dicho Viewport debe ser seteado a modo 'render target'." - -#~ msgid "" -#~ "The Viewport set in the path property must be set as 'render target' in " -#~ "order for this sprite to work." -#~ msgstr "" -#~ "El Viewport seteado en la propiedad path debe ser seteado como 'render " -#~ "target' para que este sprite funcione." - -#, fuzzy -#~ msgid "' parsing of config failed." -#~ msgstr "' análisis de config fallido." - -#~ msgid "Method List For '%s':" -#~ msgstr "Lista de métodos Para '%s':" - -#~ msgid "Arguments:" -#~ msgstr "Argumentos:" - -#~ msgid "Return:" -#~ msgstr "Devuelve:" - -#~ msgid "Added:" -#~ msgstr "Añadido:" - -#~ msgid "Could not save atlas subtexture:" -#~ msgstr "No se pudo guardar la subtextura del altas:" - -#~ msgid "Setting Up..." -#~ msgstr "Configurando..." - -#~ msgid "Error loading scene." -#~ msgstr "Hubo un error al cargar la escena." - -#~ msgid "Re-Import" -#~ msgstr "Reimportar" - -#~ msgid "Please wait for scan to complete." -#~ msgstr "Espera a que termine el análisis." - -#~ msgid "Current scene must be saved to re-import." -#~ msgstr "La escena actual debe ser guardada para reimportar." - -#~ msgid "Re-Importing" -#~ msgstr "Reimportando" - -#~ msgid "Re-Import Changed Resources" -#~ msgstr "Reimportar recursos cambiados" - -#, fuzzy -#~ msgid "" -#~ "\n" -#~ "Status: Needs Re-Import" -#~ msgstr "Guardar y reimportar" - -#~ msgid "Same source and destination files, doing nothing." -#~ msgstr "" -#~ "Los archivos de origen y destino son iguales, no se realizará ninguna " -#~ "acción." - -#~ msgid "Target file exists, can't overwrite. Delete first." -#~ msgstr "" -#~ "El archivo objetivo ya existe, no se puede sobreescribir. Bórralo primero." - -#~ msgid "Same source and destination paths, doing nothing." -#~ msgstr "" -#~ "Las rutas de origen y destino son iguales, no se realizará ninguna acción." - -#~ msgid "Can't move directories to within themselves." -#~ msgstr "No se pueden mover carpetas dentro de si mismas." - -#, fuzzy -#~ msgid "Can't rename deps for:\n" -#~ msgstr "No se pueden renombrar las dependencias para:\n" - -#~ msgid "Pick New Name and Location For:" -#~ msgstr "Elige un nombre nuevo y ubicación para:" - -#~ msgid "Info" -#~ msgstr "Info" - -#~ msgid "No bit masks to import!" -#~ msgstr "¡Sin máscaras de bits para importar!" - -#~ msgid "Target path is empty." -#~ msgstr "La ruta de destino está vacía." - -#~ msgid "Target path must be a complete resource path." -#~ msgstr "La ruta de destino debe ser una ruta de recursos completa." - -#~ msgid "Target path must exist." -#~ msgstr "La ruta de destino debe existir." - -#~ msgid "Import BitMasks" -#~ msgstr "Importar BitMasks" - -#~ msgid "Source Texture(s):" -#~ msgstr "Texturas de origen:" - -#~ msgid "Target Path:" -#~ msgstr "Ruta de destino:" - -#~ msgid "Accept" -#~ msgstr "Aceptar" - -#~ msgid "Bit Mask" -#~ msgstr "Máscara de bits" - -#~ msgid "No source font file!" -#~ msgstr "¡No se ha elegido ningún archivo de tipografías!" - -#~ msgid "No target font resource!" -#~ msgstr "¡No se ha elegido ningún recurso de tipografías!" - -#, fuzzy -#~ msgid "" -#~ "Invalid file extension.\n" -#~ "Please use .font." -#~ msgstr "" -#~ "La extensión del archivo no es correcta.\n" -#~ "Prueba con la extensión .fnt." - -#~ msgid "Couldn't save font." -#~ msgstr "No se pudo guardar la tipografía." - -#~ msgid "Source Font:" -#~ msgstr "Tipografía elegida:" - -#~ msgid "Dest Resource:" -#~ msgstr "Recurso de destino:" - -#~ msgid "The quick brown fox jumps over the lazy dog." -#~ msgstr "El veloz murciélago hindú comía feliz cardillo y kiwi." - -#~ msgid "Test:" -#~ msgstr "Prueba:" - -#~ msgid "Options:" -#~ msgstr "Opciones:" - -#~ msgid "Font Import" -#~ msgstr "Importar tipografías" - -#~ msgid "" -#~ "This file is already a Godot font file, please supply a BMFont type file " -#~ "instead." -#~ msgstr "" -#~ "Este archivo ya es un archivo de tipografías de Godot, tienes que " -#~ "utilizar un archivo de tipo BMFont." - -#~ msgid "Failed opening as BMFont file." -#~ msgstr "Error al abrir como archivo BMFont." - -#~ msgid "Invalid font custom source." -#~ msgstr "El origen personalizado de tipografía no es correcto." - -#~ msgid "No meshes to import!" -#~ msgstr "¡No hay ningún modelo que se pueda importar!" - -#~ msgid "Single Mesh Import" -#~ msgstr "Importar modelo individual" - -#~ msgid "Source Mesh(es):" -#~ msgstr "Modelo/s elegidos:" - -#~ msgid "Surface %d" -#~ msgstr "Superficie %d" - -#~ msgid "No samples to import!" -#~ msgstr "¡No hay ningún sonido a importar!" - -#~ msgid "Import Audio Samples" -#~ msgstr "Importar archivo de sonido" - -#~ msgid "Source Sample(s):" -#~ msgstr "Muestra(s) de Origen:" - -#~ msgid "Audio Sample" -#~ msgstr "Archivo de sonido" - -#~ msgid "New Clip" -#~ msgstr "Nuevo clip" - -#~ msgid "Flags" -#~ msgstr "Identificadores" - -#~ msgid "Bake FPS:" -#~ msgstr "Hacer Bake de FPS:" - -#~ msgid "Optimizer" -#~ msgstr "Optimizar" - -#~ msgid "Max Linear Error" -#~ msgstr "Error lineal máximo" - -#~ msgid "Max Angular Error" -#~ msgstr "Error angular máximo" - -#~ msgid "Max Angle" -#~ msgstr "Ángulo máximo" - -#~ msgid "Start(s)" -#~ msgstr "Inicios" - -#~ msgid "Source path is empty." -#~ msgstr "La ruta de origen esta vacía." - -#~ msgid "Couldn't load post-import script." -#~ msgstr "No se pudo cargar el script post-importación." - -#~ msgid "Invalid/broken script for post-import." -#~ msgstr "El script de postimportación no es correcto o está roto." - -#~ msgid "Error importing scene." -#~ msgstr "Error al importar escena." - -#~ msgid "Import 3D Scene" -#~ msgstr "Importar escena 3D" - -#~ msgid "Source Scene:" -#~ msgstr "Escena de origen:" - -#~ msgid "Same as Target Scene" -#~ msgstr "Igual que escena de destino" - -#~ msgid "Shared" -#~ msgstr "Compartido" - -#~ msgid "Target Texture Folder:" -#~ msgstr "Carpeta de texturas elegida:" - -#~ msgid "Custom Root Node Type:" -#~ msgstr "Tipo de Nodo Raiz Customizado:" - -#~ msgid "Auto" -#~ msgstr "Auto" - -#~ msgid "The Following Files are Missing:" -#~ msgstr "Faltan los siguientes archivos:" - -#~ msgid "Import Anyway" -#~ msgstr "Importar de todos modos" - -#~ msgid "Edited scene has not been saved, open imported scene anyway?" -#~ msgstr "" -#~ "La escena editada no se ha guardado, ¿Quieres abrir la escena importada " -#~ "de todos modos?" - -#~ msgid "Import Image:" -#~ msgstr "Importar imagen:" - -#~ msgid "Couldn't localize path: %s (already local)" -#~ msgstr "No se pudo encontrar la ruta: %s (ya es local)" - -#~ msgid "3D Scene Animation" -#~ msgstr "Animación de escena 3D" - -#~ msgid "Uncompressed" -#~ msgstr "Sin comprimir" - -#~ msgid "Compress Lossless (PNG)" -#~ msgstr "Compresión sin pérdidas (PNG)" - -#~ msgid "Compress Lossy (WebP)" -#~ msgstr "Compresión con pérdidas (WebP)" - -#~ msgid "Compress (VRAM)" -#~ msgstr "Comprimir (VRAM)" - -#~ msgid "Texture Format" -#~ msgstr "Formato de textura" - -#~ msgid "Texture Compression Quality (WebP):" -#~ msgstr "Calidad de compresión de textura (WebP):" - -#~ msgid "Please specify some files!" -#~ msgstr "¡Selecciona algunos archivos!" - -#~ msgid "At least one file needed for Atlas." -#~ msgstr "Se necesita al menos un archivo para el atlas." - -#~ msgid "Error importing:" -#~ msgstr "Hubo un error al importar:" - -#~ msgid "Max Texture Size:" -#~ msgstr "Tamaño máximo de textura:" - -#~ msgid "Import Textures for Atlas (2D)" -#~ msgstr "Importar texturas para atlas (2D)" - -#~ msgid "Large Texture" -#~ msgstr "Textura grande" - -#~ msgid "Import Large Textures (2D)" -#~ msgstr "Importar texturas grandes (2D)" - -#~ msgid "Source Texture" -#~ msgstr "Textura de origen" - -#~ msgid "Base Atlas Texture" -#~ msgstr "Textura base de atlas" - -#~ msgid "Source Texture(s)" -#~ msgstr "Texturas de origen" - -#~ msgid "Import Textures for 2D" -#~ msgstr "Importar texturas para 2D" - -#~ msgid "Import Textures for 3D" -#~ msgstr "Importar texturas para 3D" - -#~ msgid "Import Textures" -#~ msgstr "Importar texturas" - -#~ msgid "2D Texture" -#~ msgstr "Textura 2D" - -#~ msgid "3D Texture" -#~ msgstr "Textura 3D" - -#~ msgid "Atlas Texture" -#~ msgstr "Textura de atlas" - -#~ msgid "" -#~ "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files " -#~ "to the project." -#~ msgstr "" -#~ "AVISO: No es necesario importar texturas 2D. Limítate a copia los " -#~ "archivos png/jpg al proyecto." - -#~ msgid "Crop empty space." -#~ msgstr "Recortar espacio vacío." - -#~ msgid "Texture" -#~ msgstr "Textura" - -#~ msgid "Import Large Texture" -#~ msgstr "Importar textura grande" - -#~ msgid "Load Source Image" -#~ msgstr "Cargar imagen de origen" - -#~ msgid "Slicing" -#~ msgstr "Troceando" - -#~ msgid "Saving" -#~ msgstr "Guardando" - -#~ msgid "Couldn't save large texture:" -#~ msgstr "No se pudo guardar la textura grande:" - -#~ msgid "Build Atlas For:" -#~ msgstr "Construir atlas para:" - -#~ msgid "Loading Image:" -#~ msgstr "Cargando imagen:" - -#~ msgid "Converting Images" -#~ msgstr "Convirtiendo imágenes" - -#~ msgid "Cropping Images" -#~ msgstr "Recortando imágenes" - -#~ msgid "Couldn't save atlas image:" -#~ msgstr "No se pudo guardar la imagen de atlas:" - -#~ msgid "Invalid translation source!" -#~ msgstr "¡Origen de traducción incorrecto!" - -#~ msgid "Column" -#~ msgstr "Columna" - -#~ msgid "No items to import!" -#~ msgstr "Sin elementos para importar!" - -#~ msgid "No target path!" -#~ msgstr "¡El objetivo no tiene ruta!" - -#~ msgid "Import Translations" -#~ msgstr "Importar traducciones" - -#~ msgid "Couldn't import!" -#~ msgstr "¡No se pudo importar!" - -#~ msgid "Import Translation" -#~ msgstr "Importar traducción" - -#~ msgid "Source CSV:" -#~ msgstr "CSV de origen:" - -#~ msgid "Ignore First Row" -#~ msgstr "Ignorar Primera Columna" - -#~ msgid "Compress" -#~ msgstr "Comprimir" - -#, fuzzy -#~ msgid "Add to Project (project.godot)" -#~ msgstr "Añadir al proyecto (engine.cfg)" - -#~ msgid "Import Languages:" -#~ msgstr "Importar idiomas:" - -#~ msgid "Translation" -#~ msgstr "Traducción" - -#~ msgid "Triangle #" -#~ msgstr "Nº de triángulos" - -#~ msgid "Light Baker Setup:" -#~ msgstr "Configuración de Baker de Luces:" - -#~ msgid "Fixing Lights" -#~ msgstr "Procesando luces" - -#~ msgid "Making BVH" -#~ msgstr "Creando BVH" - -#~ msgid "Allocating Texture #" -#~ msgstr "Asignando nº de textura" - -#~ msgid "Baking Triangle #" -#~ msgstr "Quemando nº de triángulo" - -#~ msgid "Post-Processing Texture #" -#~ msgstr "Posprocesando nº de textura" - -#~ msgid "Reset the lightmap octree baking process (start over)." -#~ msgstr "" -#~ "Restablece el proceso de «bake» del «octree» del «lightmap» (empezar de " -#~ "nuevo)." - -#~ msgid "Zoom Set..." -#~ msgstr "Ajustar zoom..." - -#~ msgid "Parse BBCode" -#~ msgstr "Leer BBCode" - -#~ msgid "Length:" -#~ msgstr "Duración:" - -#~ msgid "Open Sample File(s)" -#~ msgstr "Abrir archivos de sonido" - -#~ msgid "ERROR: Couldn't load sample!" -#~ msgstr "¡ERROR: No se pudo cargar el archivo de sonido!" - -#~ msgid "Add Sample" -#~ msgstr "Añadir archivo de sonido" - -#~ msgid "Rename Sample" -#~ msgstr "Renombrar archivo de sonido" - -#~ msgid "Delete Sample" -#~ msgstr "Eliminar archivo de sonido" - -#~ msgid "16 Bits" -#~ msgstr "16 bits" - -#~ msgid "8 Bits" -#~ msgstr "8 bits" - -#~ msgid "Stereo" -#~ msgstr "Estéreo" - -#~ msgid "Scaling to %s%%." -#~ msgstr "Escalando al %s%%." - -#~ msgid "Bucket" -#~ msgstr "Cubo" - -#~ msgid "Invalid project path, the path must exist!" -#~ msgstr "¡La ruta del proyecto no es correcta, tiene que existir!" - -#, fuzzy -#~ msgid "Invalid project path, project.godot must not exist." -#~ msgstr "La ruta del proyecto no es correcta, engine.cfg no debe existir." - -#, fuzzy -#~ msgid "Invalid project path, project.godot must exist." -#~ msgstr "¡La ruta del proyecto no es correcta, engine.cfg debe existir." - -#~ msgid "Project Path (Must Exist):" -#~ msgstr "Ruta del proyecto (debe existir):" - -#~ msgid "Create New Resource" -#~ msgstr "Crear recurso nuevo" - -#~ msgid "Open Resource" -#~ msgstr "Abrir recurso" - -#~ msgid "Save Resource" -#~ msgstr "Guardar recurso" - -#~ msgid "Resource Tools" -#~ msgstr "Herramientas de recursos" - -#~ msgid "Edit Groups" -#~ msgstr "Editar grupos" - -#, fuzzy -#~ msgid "Tiles" -#~ msgstr "Archivo" - -#~ msgid "Areas" -#~ msgstr "Áreas" - -#~ msgid "Ctrl+" -#~ msgstr "Ctrl+" - -#, fuzzy -#~ msgid "Down Wheel)" -#~ msgstr "Rueda de ratón hacia abajo)" - -#, fuzzy -#~ msgid "Up Wheel)" -#~ msgstr "Rueda de ratón hacia arriba)" - -#~ msgid "Close scene? (Unsaved changes will be lost)" -#~ msgstr "¿Quieres cerrar la escena? (Los cambios sin guardar se perderán)" - -#~ msgid "" -#~ "Open Project Manager? \n" -#~ "(Unsaved changes will be lost)" -#~ msgstr "" -#~ "¿Quieres abrir el el administrador de proyectos?\n" -#~ "(Los cambios sin guardar se perderán)" - -#~ msgid "Close Goto Prev. Scene" -#~ msgstr "Cerrar e ir a escena anterior" - -#~ msgid "Del" -#~ msgstr "Eliminar" - -#~ msgid "just pressed" -#~ msgstr "se presione" - -#, fuzzy -#~ msgid "" -#~ "Couldn't read the certificate file. Are the path and password both " -#~ "correct?" -#~ msgstr "" -#~ "No se ha podido leer el archivo de certificación. ¿Seguro que la ruta y " -#~ "contraseña son correctas?" - -#, fuzzy -#~ msgid "Error creating the package signature." -#~ msgstr "Se produjo un error al firmar el paquete." - -#, fuzzy -#~ msgid "RAW Mode" -#~ msgstr "Modo de ejecución:" - -#~ msgid "Node From Scene" -#~ msgstr "Nodo desde escena" - -#~ msgid "Import assets to the project." -#~ msgstr "Importar elementos al proyecto." - -#~ msgid "Export the project to many platforms." -#~ msgstr "Exportar el proyecto a varias plataformas." - -#~ msgid "Alerts when an external resource has changed." -#~ msgstr "Alerta cuando un recurso externo haya cambiado." - -#~ msgid "Open https://godotengine.org at tutorials section." -#~ msgstr "Abre https://godotengine.org en la sección de tutoriales." - -#~ msgid "No scene selected to instance!" -#~ msgstr "¡No se ha elegido ninguna escena a instanciar!" - -#~ msgid "Instance at Cursor" -#~ msgstr "Instanciar en cursor" - -#~ msgid "Use Default Light" -#~ msgstr "Usar iluminación predeterminada" - -#~ msgid "Default Light Normal:" -#~ msgstr "Iluminación por normales predeterminada:" - -#~ msgid "Ambient Light Color:" -#~ msgstr "Color de iluminación ambiental:" - -#~ msgid "Invalid parent class name" -#~ msgstr "El nombre de clase padre no es correcto" - -#~ msgid "Valid chars:" -#~ msgstr "Letras permitidas:" - -#~ msgid "Valid name" -#~ msgstr "Nombre válido" - -#~ msgid "Class name is invalid!" -#~ msgstr "¡El nombre de clase no es correcto!" - -#~ msgid "Parent class name is invalid!" -#~ msgstr "¡El nombre de clase padre no es correcto!" - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "" -#~ "La propiedad Path debe apuntar a un nodo Particles2D valido para " -#~ "funcionar." - -#~ msgid "Surface" -#~ msgstr "Superficie" - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SamplePlayer to play sound." -#~ msgstr "" -#~ "Tienes que crear o establecer un recurso de tipo SampleLibrary con la " -#~ "propiedad 'samples' para que SamplePlayer pueda reproducir el sonido." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SpatialSamplePlayer to play sound." -#~ msgstr "" -#~ "Tienes que crear o establecer un recurso de tipo SampleLibrary con la " -#~ "propiedad «samples» para que SpatialSamplePlayer pueda reproducir el " -#~ "sonido." - -#~ msgid "Replaced %d Ocurrence(s)." -#~ msgstr "%d ocurrencias reemplazadas." - -#~ msgid "Save Translatable Strings" -#~ msgstr "Guardar cadenas traducibles" - -#~ msgid "Edit Script Options" -#~ msgstr "Editar opciones de script" - -#~ msgid "Error exporting project!" -#~ msgstr "¡Error al exportar el proyecto!" - -#~ msgid "Error writing the project PCK!" -#~ msgstr "¡Error al escribir el PCK de proyecto!" - -#~ msgid "No exporter for platform '%s' yet." -#~ msgstr "No hay exportador para la plataforma '%s' aun." - -#, fuzzy -#~ msgid "Create Android keystore" -#~ msgstr "Crear recurso nuevo" - -#~ msgid "Organizational unit" -#~ msgstr "Unidad organizativa" - -#, fuzzy -#~ msgid "Organization" -#~ msgstr "Transición" - -#~ msgid "City" -#~ msgstr "Ciudad" - -#~ msgid "2 letter country code" -#~ msgstr "Código de país de dos letras" - -#~ msgid "User alias" -#~ msgstr "Mote" - -#, fuzzy -#~ msgid "Password" -#~ msgstr "Contraseña:" - -#, fuzzy -#~ msgid "at least 6 characters" -#~ msgstr "Letras válidas:" - -#, fuzzy -#~ msgid "File name" -#~ msgstr "Nuevo nombre:" - -#~ msgid "Path : (better to save outside of project)" -#~ msgstr "Ruta (es mejor guardar fuera del proyecto)" - -#~ msgid "" -#~ "Release keystore is not set.\n" -#~ "Do you want to create one?" -#~ msgstr "" -#~ "No hay ningún almacén de claves con el que publicar.\n" -#~ "¿Quieres crear uno?" - -#~ msgid "Fill Keystore/Release User and Release Password" -#~ msgstr "Escribe la contraseña del usuario del almacén de claves" - -#~ msgid "Include" -#~ msgstr "Incluir" - -#~ msgid "Group name can't be empty!" -#~ msgstr "¡El nombre del grupo no puede estar vacío!" - -#~ msgid "Invalid character in group name!" -#~ msgstr "¡El nombre del grupo contiene una letra no permitida!" - -#~ msgid "Add Image Group" -#~ msgstr "Añadir grupo de imágenes" - -#~ msgid "Project Export Settings" -#~ msgstr "Ajustes de exportación del proyecto" - -#~ msgid "Export to Platform" -#~ msgstr "Exportar a plataforma" - -#~ msgid "Export all files in the project directory." -#~ msgstr "Exportar todos los archivos en la carpeta del proyecto." - -#~ msgid "Convert text scenes to binary on export." -#~ msgstr "Convertir escenas de texto a binario al exportar." - -#~ msgid "Images" -#~ msgstr "Imágenes" - -#~ msgid "Keep Original" -#~ msgstr "Mantener el original" - -#~ msgid "Compress for Disk (Lossy, WebP)" -#~ msgstr "Comprimir para disco (Con pérdidas, WebP)" - -#~ msgid "Compress for RAM (BC/PVRTC/ETC)" -#~ msgstr "Comprimir para RAM (BC/PVRTC/ETC)" - -#~ msgid "Convert Images (*.png):" -#~ msgstr "Convertir imágenes (*.png):" - -#~ msgid "Compress for Disk (Lossy) Quality:" -#~ msgstr "Calidad de compresión para disco (con pérdidas):" - -#~ msgid "Shrink All Images:" -#~ msgstr "Reducir todas las imágenes:" - -#~ msgid "Compress Formats:" -#~ msgstr "Formatos de compresión:" - -#~ msgid "Groups:" -#~ msgstr "Grupos:" - -#~ msgid "Compress Disk" -#~ msgstr "Comprimir para disco" - -#~ msgid "Compress RAM" -#~ msgstr "Comprimir para RAM" - -#~ msgid "Compress Mode:" -#~ msgstr "Modo de compresión:" - -#~ msgid "Lossy Quality:" -#~ msgstr "Calidad con pérdidas:" - -#~ msgid "Shrink By:" -#~ msgstr "Reducir por:" - -#~ msgid "Images:" -#~ msgstr "Imágenes:" - -#~ msgid "Sample Conversion Mode: (.wav files):" -#~ msgstr "Modo de conversión de muestreo: (archivos .wav):" - -#~ msgid "Compress (RAM - IMA-ADPCM)" -#~ msgstr "Comprimir (RAM - IMA-ADPCM)" - -#~ msgid "Sampling Rate Limit (Hz):" -#~ msgstr "Tasa de muestreo máxima (Hz):" - -#~ msgid "Trim" -#~ msgstr "Recortar" - -#~ msgid "Trailing Silence:" -#~ msgstr "Silencio sobrante al final:" - -#~ msgid "Export Project PCK" -#~ msgstr "Exportar PCK del proyecto" - -#~ msgid "Project Export" -#~ msgstr "Exportar proyecto" - -#~ msgid "BakedLightInstance does not contain a BakedLight resource." -#~ msgstr "BakedLightInstance no contiene un recurso BakedLight." - -#~ msgid "Lighting" -#~ msgstr "Iluminación" - -#~ msgid "Global" -#~ msgstr "Global" - -#~ msgid "" -#~ "This item cannot be made visible because the parent is hidden. Unhide the " -#~ "parent first." -#~ msgstr "" -#~ "Este item no puede hacerse visible porque el padre esta oculto. Desocultá " -#~ "el padre primero." - -#~ msgid "File exists" -#~ msgstr "El archivo ya existe" - -#~ msgid "Valid path" -#~ msgstr "Ruta válida" - -#~ msgid "" -#~ "Custom node has no _get_output_port_unsequenced(idx,wmem), but " -#~ "unsequenced ports were specified." -#~ msgstr "" -#~ "El nodo personalizado no tiene ningún _get_output_port_unsequenced(idx," -#~ "wmem), pero se especificaron puertos no secuenciados." - -#~ msgid "Cannot go into subdir:" -#~ msgstr "No se puede acceder al subdir:" - -#~ msgid "Top (Num7)" -#~ msgstr "Cima (Num7)" - -#~ msgid "Bottom (Shift+Num7)" -#~ msgstr "Fondo (Shift+Num7)" - -#~ msgid "Left (Num3)" -#~ msgstr "Izquierda (Num3)" - -#~ msgid "Right (Shift+Num3)" -#~ msgstr "Derecha (Shift+Num3)" - -#~ msgid "Front (Num1)" -#~ msgstr "Frente (Num1)" - -#~ msgid "Rear (Shift+Num1)" -#~ msgstr "Detrás (Shift+Num1)" - -#~ msgid "Perspective (Num5)" -#~ msgstr "Perspectiva (Num5)" - -#~ msgid "Orthogonal (Num5)" -#~ msgstr "Ortogonal (Num5)" - -#~ msgid "Selection (F)" -#~ msgstr "Slección (F)" - -#~ msgid "Align with view (Ctrl+Shift+F)" -#~ msgstr "Alinear con vista (Ctrl+Shift+F)" - -#~ msgid "Enable/Disable interpolation when looping animation." -#~ msgstr "Activar/Desactivar interpolación al loopear animación." - -#~ msgid "Load Layout" -#~ msgstr "Cargar Layout" - -#~ msgid "Scale Region Editor" -#~ msgstr "Editor de Regiones de Escalado" - -#~ msgid "Inherit Scene" -#~ msgstr "Heredar Escena" - -#~ msgid "Binds (Extra Params):" -#~ msgstr "Binds (Parametros Extra):" - -#~ msgid "Method In Node:" -#~ msgstr "Método En el Nodo:" - -#~ msgid "Reload Tool Script (Soft)" -#~ msgstr "Volver a Cargar Script de Herramientas (Soft)" - -#~ msgid "Set Params" -#~ msgstr "Setear Params" - -#~ msgid "Live Editing" -#~ msgstr "Edicion al Instante" - -#~ msgid "File Server" -#~ msgstr "Servidor de Archivos" - -#~ msgid "Deploy File Server Clients" -#~ msgstr "Hacer Deploy de Clientes del Servidor de Archivos" diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po index 271bb11040..637dbdd9dc 100644 --- a/editor/translations/es_AR.po +++ b/editor/translations/es_AR.po @@ -1,6 +1,6 @@ # Spanish (Argentina) translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Diego López <diegodario21@gmail.com>, 2017. # Lisandro Lorea <lisandrolorea@gmail.com>, 2016-2018, 2019, 2020, 2021. @@ -24,7 +24,7 @@ msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-10-23 10:13+0000\n" +"PO-Revision-Date: 2021-12-11 06:25+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" @@ -33,7 +33,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.9-dev\n" +"X-Generator: Weblate 4.10-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -2134,14 +2134,30 @@ msgstr "Métodos" msgid "Theme Properties" msgstr "Propiedades de Tema" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Enumeraciones" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "Colores" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Constantes" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "Fuentes" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "Iconos" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "Estilos" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Enumeraciones" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Descripción de Propiedades" @@ -8615,18 +8631,6 @@ msgid "TextureRegion" msgstr "Región de Textura" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "Colores" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "Fuentes" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "Iconos" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "Styleboxes" @@ -13436,9 +13440,15 @@ msgstr "\"Use Custom Build\" debe estar activado para usar los plugins." #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." msgstr "" -"\"Hand Tracking\" sólo es válido cuando \"Xr Mode\" es \"Oculus Mobile VR\"." +"\"Hand Tracking\" sólo es válido cuando \"Xr Mode\" es \"Oculus Mobile VrApi" +"\" o \"OpenXR\"." + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." +msgstr "\"Passthrough\" sólo es válido cuando \"Xr Mode\" es \"OpenXR\"." #: platform/android/export/export_plugin.cpp msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." @@ -13447,6 +13457,27 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" +"Cambiar el \"Min Sdk\" sólo es válido cuando \"Use Custom Build\" está " +"activado." + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" +"Cambiar el \"Target Sdk\" sólo es válido cuando \"Use Custom Build\" está " +"activado." + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" +"La versión de \"Target Sdk\" debe ser mayor o igual a la versión de \"Min Sdk" +"\"." + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14653,2134 +14684,3 @@ msgstr "Asignación a uniform." #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Las constantes no pueden modificarse." - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "Crear Pose de Descanso" - -#~ msgid "Bottom" -#~ msgstr "Fondo" - -#~ msgid "Left" -#~ msgstr "Izquierda" - -#~ msgid "Right" -#~ msgstr "Derecha" - -#~ msgid "Front" -#~ msgstr "Frente" - -#~ msgid "Rear" -#~ msgstr "Detrás" - -#~ msgid "Nameless gizmo" -#~ msgstr "Gizmo sin nombre" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "\"Degrees Of Freedom\" sólo es válido cuando \"Xr Mode\" es \"Oculus " -#~ "Mobile VR\"." - -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "\"Focus Awareness\" sólo es válido cuando \"Xr Mode\" es \"Oculus Mobile " -#~ "VR\"." - -#~ msgid "Package Contents:" -#~ msgstr "Contenido del Paquete:" - -#~ msgid "Singleton" -#~ msgstr "Singleton" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "¿Borrar perfil '%s'? (no se puede deshacer)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Propiedades Activadas:" - -#~ msgid "Enabled Features:" -#~ msgstr "Características Activadas:" - -#~ msgid "Unset" -#~ msgstr "Desactivar" - -#~ msgid "Class Options" -#~ msgstr "Opciones de Clase" - -#~ msgid "Set" -#~ msgstr "Asignar" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Se guardaron %s recurso(s) modificado(s)." - -#~ msgid "Q&A" -#~ msgstr "Q&A" - -#~ msgid "Status:" -#~ msgstr "Estado:" - -#~ msgid "Edit:" -#~ msgstr "Editar:" - -#~ msgid "Redownload" -#~ msgstr "Volver a Descargar" - -#~ msgid "(Installed)" -#~ msgstr "(Instalado)" - -#~ msgid "(Missing)" -#~ msgstr "(Faltante)" - -#~ msgid "Request Failed." -#~ msgstr "Solicitud fallida." - -#~ msgid "Redirect Loop." -#~ msgstr "Bucle de redireccionamiento." - -#~ msgid "Download Complete." -#~ msgstr "Descarga Completa." - -#~ msgid "Remove Template" -#~ msgstr "Remover Plantilla" - -#~ msgid "Download Templates" -#~ msgstr "Descargar Plantillas" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "" -#~ "Seleccionar un mirror de la lista: (Shift+Click: Abrir en el Navegador)" - -#~ msgid "Move to Trash" -#~ msgstr "Mover a La Papelera" - -#~ msgid "Expand All Properties" -#~ msgstr "Expandir Todas las Propiedades" - -#~ msgid "Collapse All Properties" -#~ msgstr "Colapsar Todas las Propiedades" - -#~ msgid "Copy Params" -#~ msgstr "Copiar Parámetros" - -#~ msgid "Open in Help" -#~ msgstr "Abrir en la Ayuda" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "Reemplazar Cámara del Juego\n" -#~ "No hay ninguna instancia de juego ejecutándose." - -#~ msgid "Drag: Rotate" -#~ msgstr "Arrastrar: Rotar" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Presioná 'v' para Cambiar el Pivote, 'Shift+v' para Arrastrar el Pivote " -#~ "(al mover)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+Click Der.: Selección en depth list" - -#~ msgid "Clone Down" -#~ msgstr "Clonar hacia Abajo" - -#~ msgid "Yaw" -#~ msgstr "Yaw" - -#~ msgid "Size" -#~ msgstr "Tamaño" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "Arrastrar: Rotar\n" -#~ "Alt+Arrastrar: Mover\n" -#~ "Alt+Click Der.: Selección en depth list" - -#~ msgid "Sep.:" -#~ msgstr "Sep.:" - -#~ msgid "Add All" -#~ msgstr "Agregar Todos" - -#~ msgid "Theme editing menu." -#~ msgstr "Menu de edición de temas." - -#~ msgid "Create Empty Template" -#~ msgstr "Crear Plantilla Vacía" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "Crear Plantilla de Editor Vacía" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "Crear Desde Tema de Editor Actual" - -#~ msgid "Data Type:" -#~ msgstr "Tipo de Datos:" - -#~ msgid "Theme File" -#~ msgstr "Archivo de Tema" - -#~ msgid "Compiled" -#~ msgstr "Compilado" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "¿Quitar %d proyectos de la lista?\n" -#~ "El contenido de las carpetas de proyecto no será modificado." - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "¿Quitar este proyecto de la lista?\n" -#~ "El contenido de la carpeta de proyecto no será modificado." - -#~ msgid "Templates" -#~ msgstr "Plantillas" - -#~ msgid "Add Remapped Path" -#~ msgstr "Agregar Path Remapeado" - -#~ msgid "Can not perform with the root node." -#~ msgstr "No se puede realizar sobre el nodo raíz." - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "No se pudo leer la imagen de boot splash:" - -#~ msgid "Using default boot splash image." -#~ msgstr "Usando imagen boot splash por defecto." - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Un reproductor de animación no puede animarse a sí mismo, solo a otros " -#~ "reproductores." - -#~ msgid "Clipboard is empty" -#~ msgstr "El portapapeles está vacío" - -#~ msgid "" -#~ "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -#~ msgstr "InterpolatedCamera ha sido deprecado y será eliminado en Godot 4.0." - -#~ msgid "No" -#~ msgstr "No" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Esta escena nunca ha sido guardada. Guardar antes de ejecutar?" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "Ejecutable ADB no configurado en Configuración del Editor." - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "OpenJDK jarsigner no configurado en Configuración del Editor." - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "" -#~ "La compilación personalizada requiere una ruta de Android SDK válida en " -#~ "Configuración del Editor." - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(Tiempo Restante: %d:%02d s)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "Trazando Meshes: " - -#~ msgid "Lighting Meshes: " -#~ msgstr "Iluminando Meshes: " - -#~ msgid "Search complete" -#~ msgstr "Búsqueda completa" - -#~ msgid "No commit message was provided" -#~ msgstr "No se indicó ningún mensaje de commit" - -#~ msgid "Add a commit message" -#~ msgstr "Agregar mensaje de commit" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "Ya hay un archivo o carpeta con el mismo nombre en esta ubicación." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Error al tratar de guardar el layout!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Se ha sobreescrito el layout del editor por defecto." - -#~ msgid "Move pivot" -#~ msgstr "Mover pivote" - -#~ msgid "Move anchor" -#~ msgstr "Mover ancla" - -#~ msgid "Resize CanvasItem" -#~ msgstr "Redimensionar CanvasItem" - -#~ msgid "Polygon->UV" -#~ msgstr "Polígono->UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV->Polígono" - -#~ msgid "Add initial export..." -#~ msgstr "Agregar puerto de entrada..." - -#~ msgid "Add previous patches..." -#~ msgstr "Agregar parches anteriores..." - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "Eliminar parche '%s' de la lista?" - -#~ msgid "Patches" -#~ msgstr "Parches" - -#~ msgid "Make Patch" -#~ msgstr "Crear Parche" - -#~ msgid "Pack File" -#~ msgstr "Archivo \"Pack\"" - -#~ msgid "No build apk generated at: " -#~ msgstr "No se ha generado ninguna compilación apk en: " - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "Docks de Sistema de Archivos e Importación" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "Al exportar o hacer deploy, el ejecutable resultante tratara de " -#~ "conectarse a la IP de esta computadora de manera de ser depurado." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "" -#~ "La escena actual nunca se guardó. Favor de guardarla antes de ejecutar." - -#~ msgid "Revert" -#~ msgstr "Revertir" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Esta acción no se puede deshacer. ¿Revertir de todos modos?" - -#~ msgid "Revert Scene" -#~ msgstr "Revertir Escena" - -#~ msgid "Clear Script" -#~ msgstr "Quitar Script" - -#~ msgid "Issue Tracker" -#~ msgstr "Registro de problemas" - -#~ msgid "Request Docs" -#~ msgstr "Solicitar Docum." - -#~ msgid "Help improve the Godot documentation by giving feedback." -#~ msgstr "Ayudá a mejorar la documentación de Godot dando feedback." - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "%d ocurrencia(s) Reemplazadas." - -#~ msgid "Create Static Convex Body" -#~ msgstr "Crear Static Convex Body" - -#~ msgid "Failed creating shapes!" -#~ msgstr "¡Fallo al crear shapes!" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Actualmente no existen tutoriales para esta clase, podés [color=$color]" -#~ "[url=$url]contribuir uno[/url][/color] o [color=$color][url=" -#~ "$url2]solicitar uno[/url][/color]." - -#~ msgid "enum " -#~ msgstr "enum " - -#~ msgid "Brief Description" -#~ msgstr "Descripción Breve" - -#~ msgid "Class Description" -#~ msgstr "Descripción de Clase" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "La exportación del proyecto falló con el código de error %d." - -#~ msgid "Password:" -#~ msgstr "Contraseña:" - -#~ msgid "Identifier segments must be of non-zero length." -#~ msgstr "Los segmentos de un identificador deben ser de largo no nulo." - -#~ msgid "A digit cannot be the first character in a Identifier segment." -#~ msgstr "" -#~ "Un dígito no puede ser el primer caracter en un segmento Identificador." - -#~ msgid "" -#~ "The character '%s' cannot be the first character in a Identifier segment." -#~ msgstr "" -#~ "El caracter '%s' no puede ser el primer caracter en un segmento " -#~ "Identificador." - -#~ msgid "The Identifier must have at least one '.' separator." -#~ msgstr "El Identificador debe tener al menos un '.' como separador." - -#~ msgid "Pause the scene" -#~ msgstr "Pausar la escena" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Control+" -#~ msgstr "Control+" - -#~ msgid "Snap to Grid" -#~ msgstr "Ajustar a la Grilla" - -#~ msgid "Add input +" -#~ msgstr "Añadir entrada +" - -#~ msgid "Language" -#~ msgstr "Lenguaje" - -#~ msgid "Inherits" -#~ msgstr "Hereda" - -#~ msgid "Base Type:" -#~ msgstr "Tipo Base:" - -#~ msgid "Available Nodes:" -#~ msgstr "Nodos Disponibles:" - -#~ msgid "Input" -#~ msgstr "Entrada" - -#~ msgid "Methods:" -#~ msgstr "Métodos:" - -#~ msgid "Theme Properties:" -#~ msgstr "Propiedades de Tema:" - -#~ msgid "Enumerations:" -#~ msgstr "Enumeraciones:" - -#~ msgid "Constants:" -#~ msgstr "Constantes:" - -#~ msgid "Class Description:" -#~ msgstr "Descripción de Clase:" - -#~ msgid "Property Descriptions:" -#~ msgstr "Descripción de Propiedades:" - -#~ msgid "Method Descriptions:" -#~ msgstr "Descripción de Métodos:" - -#~ msgid "" -#~ "This will install the Android project for custom builds.\n" -#~ "Note that, in order to use it, it needs to be enabled per export preset." -#~ msgstr "" -#~ "Esto instalará el proyecto de Android para compilaciones personalizadas.\n" -#~ "Tené en cuenta que, para usarlo, necesita estar activado por cada preset " -#~ "de exportación." - -#~ msgid "Reverse sorting." -#~ msgstr "Orden inverso." - -#~ msgid "Delete Node(s)?" -#~ msgstr "Eliminar Nodo(s)?" - -#~ msgid "No Matches" -#~ msgstr "Sin Coincidencias" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "No se puede abrir file_type_cache.cch para escribir, no se guardará el " -#~ "cache de tipos de archivo!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "" -#~ "No se puede navegar a '%s' ya que no se encontro en el sistema de " -#~ "archivos!" - -#~ msgid "Error loading image:" -#~ msgstr "Error al cargar la imagen:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "Sin pixeles con transparencia > 128 en imagen..." - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "La superficie padre no tiene caras solidas para poblar." - -#~ msgid "Couldn't map area." -#~ msgstr "No se pudo mapear el area." - -#~ msgid "Faces contain no area!" -#~ msgstr "Las caras no contienen area!" - -#~ msgid "No faces!" -#~ msgstr "Sin caras!" - -#~ msgid "Error: could not load file." -#~ msgstr "Error: no se pudo cargar el archivo." - -#~ msgid "Error could not load file." -#~ msgstr "Error no se pudo cargar el archivo." - -#~ msgid "Doppler Enable" -#~ msgstr "Activar Doppler" - -#~ msgid "Select Mode (Q)" -#~ msgstr "Modo Seleccionar (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "Modo Mover (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "Modo Rotar (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "Modo Escalar (R)" - -#~ msgid "Local Coords" -#~ msgstr "Coordenadas Locales" - -#~ msgid "Snap Mode (%s)" -#~ msgstr "Modo de Snap (%s)" - -#~ msgid "Tool Select" -#~ msgstr "Seleccionar Herramienta" - -#~ msgid "Tool Move" -#~ msgstr "Herramienta Mover" - -#~ msgid "Tool Rotate" -#~ msgstr "Herramienta Rotar" - -#~ msgid "Tool Scale" -#~ msgstr "Herramienta Escalar" - -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "" -#~ "¿Eliminar todos los proyectos faltantes de la lista? (El contenido de las " -#~ "carpetas no se modificará)" - -#~ msgid "Project List" -#~ msgstr "Listado de Proyectos" - -#~ msgid "Exit" -#~ msgstr "Salir" - -#~ msgid "Could not execute PVRTC tool:" -#~ msgstr "No se pudo ejecutar la herramienta PVRTC:" - -#~ msgid "Can't load back converted image using PVRTC tool:" -#~ msgstr "" -#~ "No se pudo volver a cargar la imagen convertida usando la herramienta " -#~ "PVRTC:" - -#~ msgid "Error initializing FreeType." -#~ msgstr "Error inicializando FreeType." - -#~ msgid "Unknown font format." -#~ msgstr "Formato de tipografía desconocido." - -#~ msgid "Error loading font." -#~ msgstr "Error cargando tipografía." - -#~ msgid "Invalid font size." -#~ msgstr "Tamaño de tipografía inválido." - -#~ msgid "Previous Folder" -#~ msgstr "Carpeta Anterior" - -#~ msgid "Next Folder" -#~ msgstr "Carpeta Siguiente" - -#~ msgid "Automatically Open Screenshots" -#~ msgstr "Abrir Capturas de Pantalla Automaticamente" - -#~ msgid "Open in an external image editor." -#~ msgstr "Abrir en editor de imagenes externo." - -#~ msgid "Reverse" -#~ msgstr "Invertir" - -#~ msgid "Mirror X" -#~ msgstr "Espejar X" - -#~ msgid "Mirror Y" -#~ msgstr "Espejar Y" - -#~ msgid "Generating solution..." -#~ msgstr "Generando solución..." - -#~ msgid "Generating C# project..." -#~ msgstr "Generando proyecto en C#..." - -#~ msgid "Failed to create solution." -#~ msgstr "No se pudo crear la solución." - -#~ msgid "Failed to save solution." -#~ msgstr "No se pudo guardar la solución." - -#~ msgid "Failed to create C# project." -#~ msgstr "No se pudo crear el proyecto en C#" - -#~ msgid "Mono" -#~ msgstr "Mono" - -#~ msgid "About C# support" -#~ msgstr "Sobre el soporte de C#" - -#~ msgid "Create C# solution" -#~ msgstr "Crear solución en C#" - -#~ msgid "Builds" -#~ msgstr "Builds" - -#~ msgid "Build Project" -#~ msgstr "Construir Proyecto" - -#~ msgid "View log" -#~ msgstr "Ver registro" - -#~ msgid "WorldEnvironment needs an Environment resource." -#~ msgstr "WorldEnvironment necesita un recurso Environment." - -#, fuzzy -#~ msgid "Enabled Classes" -#~ msgstr "Buscar Clases" - -#~ msgid "Update Always" -#~ msgstr "Siempre Actualizar" - -#~ msgid "Raw Mode" -#~ msgstr "Modo Raw" - -#~ msgid "Path to Node:" -#~ msgstr "Ruta al Nodo:" - -#~ msgid "Delete selected files?" -#~ msgstr "Eliminar archivos seleccionados?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "No hay nigún archivo 'res://default_bus_layout.tres'." - -#~ msgid "Go to parent folder" -#~ msgstr "Ir a carpeta padre" - -#~ msgid "Open Scene(s)" -#~ msgstr "Abrir Escena(s)" - -#~ msgid "Previous Directory" -#~ msgstr "Directorio Previo" - -#~ msgid "Next Directory" -#~ msgstr "Directorio Siguiente" - -#~ msgid "Ease in" -#~ msgstr "Ease in" - -#~ msgid "Ease out" -#~ msgstr "Ease out" - -#~ msgid "Create Convex Static Body" -#~ msgstr "Crear Body Estático Convexo" - -#~ msgid "CheckBox Radio1" -#~ msgstr "CheckBox Radio1" - -#~ msgid "CheckBox Radio2" -#~ msgstr "CheckBox Radio2" - -#~ msgid "Create folder" -#~ msgstr "Crear carpeta" - -#~ msgid "Custom Node" -#~ msgstr "Nodo Personalizado" - -#~ msgid "Invalid Path" -#~ msgstr "Ruta inválida" - -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "Duplicar Selección en GridMap" - -#~ msgid "Create Area" -#~ msgstr "Crear Área" - -#~ msgid "Create Exterior Connector" -#~ msgstr "Crear Conector Exterior" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "Editar Argumentos de Señal:" - -#~ msgid "Edit Variable:" -#~ msgstr "Editar Variable:" - -#~ msgid "Snap (s): " -#~ msgstr "Ajuste (s): " - -#~ msgid "Insert keys." -#~ msgstr "Insertar claves." - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "" -#~ "Instanciar la(s) escena(s) seleccionadas como hijas del nodo seleccionado." - -#~ msgid "Font Size:" -#~ msgstr "Tamaño de Tipografía:" - -#~ msgid "Line:" -#~ msgstr "Linea:" - -#~ msgid "Col:" -#~ msgstr "Col:" - -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "" -#~ "OrientedPathFollow solo funciona cuando esta asignado como hijo de un " -#~ "nodo Path." - -#~ msgid "Split point with itself." -#~ msgstr "Dividir punto con sí mismo." - -#~ msgid "Split can't form an existing edge." -#~ msgstr "La división no puede formar un borde existente." - -#~ msgid "Add Split" -#~ msgstr "Agregar División" - -#~ msgid "Invalid Split: " -#~ msgstr "División Inválida: " - -#~ msgid "Remove Split" -#~ msgstr "Quitar División" - -#~ msgid "Poly" -#~ msgstr "Poly" - -#~ msgid "Splits" -#~ msgstr "Divisiones" - -#~ msgid "Connect two points to make a split." -#~ msgstr "Conectar dos puntos para crear una división." - -#~ msgid "Add Node.." -#~ msgstr "Agregar Nodo.." - -#~ msgid "Create from scene?" -#~ msgstr "¿Crear desde escena?" - -#~ msgid "Create Poly" -#~ msgstr "Crear Polígono" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "Crear un nuevo polígono desde cero" - -#~ msgid "Zoom out" -#~ msgstr "Zoom out" - -#~ msgid "Zoom in" -#~ msgstr "Zoom in" - -#~ msgid "Create Poly3D" -#~ msgstr "Crear Poly3D" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "No hay ningún recurso OccluderPolygon2D en este nodo.\n" -#~ "Crear y asignar uno?" - -#~ msgid "LMB: Move Point." -#~ msgstr "Click. Izq: Mover Punto." - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl+Click Izq.: Partir Segmento en Dos." - -#~ msgid "RMB: Erase Point." -#~ msgstr "Click Der.: Borrar Punto." - -#~ msgid "New TextFile" -#~ msgstr "Nuevo Archivo de Texto" - -#~ msgid "Save Theme As" -#~ msgstr "Guardar Tema Como" - -#~ msgid "<None>" -#~ msgstr "<Ninguno>" - -#~ msgid "" -#~ "Select sub-tile to use as icon, this will be also used on invalid " -#~ "autotile bindings." -#~ msgstr "" -#~ "Selectionar sub-tile para usar como icono, esta también sera usada en " -#~ "bindings inválidos de autotile." - -#~ msgid "Zoom:" -#~ msgstr "Zoom:" - -#~ msgid "Are you sure you want to remove all connections from the \"" -#~ msgstr "¿Estás seguro/a que querés quitar todas las conexiones de el/la \"" - -#~ msgid "Class List:" -#~ msgstr "Lista de Clases:" - -#~ msgid "Public Methods" -#~ msgstr "Métodos Públicos" - -#~ msgid "Public Methods:" -#~ msgstr "Métodos Públicos:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "Items de Tema de la GUI:" - -#~ msgid "Property: " -#~ msgstr "Propiedad: " - -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Act/Desact. estado de carpeta como Favorito." - -#~ msgid "Show current scene file." -#~ msgstr "Mostrar archivo de escena actual." - -#~ msgid "Enter tree-view." -#~ msgstr "Entrar a la vista arbol." - -#~ msgid "Whole words" -#~ msgstr "Palabras completas" - -#~ msgid "Match case" -#~ msgstr "Coincidir mayúsculas/minúsculas" - -#~ msgid "Ok" -#~ msgstr "Ok" - -#~ msgid "Show In File System" -#~ msgstr "Mostrar en Sistema de Archivos" - -#~ msgid "Search the class hierarchy." -#~ msgstr "Buscar en la jerarquía de clases." - -#~ msgid "Search in files" -#~ msgstr "Buscar en archivo" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "" -#~ "Los scripts built-in sólo pueden ser editados cuando la escena a la que " -#~ "pertenecen está cargada" - -#~ msgid "Convert To Uppercase" -#~ msgstr "Convertir A Mayúscula" - -#~ msgid "Convert To Lowercase" -#~ msgstr "Convertir A Minúscula" - -#~ msgid "Rotate 0 degrees" -#~ msgstr "Rotar 0 grados" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "Rotar 90 grados" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "Rotar 180 grados" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "Rotar 270 grados" - -#~ msgid "Errors:" -#~ msgstr "Errores:" - -#~ msgid "Stack Trace (if applicable):" -#~ msgstr "Stack Trace (si aplica):" - -#~ msgid "Bake!" -#~ msgstr "Hacer Bake!" - -#~ msgid "Bake the navigation mesh." -#~ msgstr "Hacer bake de mesh de navegación." - -#~ msgid "Get" -#~ msgstr "Obtener" - -#~ msgid "Change RGB Constant" -#~ msgstr "Cambiar Constante RGB" - -#~ msgid "Change Vec Scalar Operator" -#~ msgstr "Cambiar Operador Vec. Escalar" - -#~ msgid "Change RGB Operator" -#~ msgstr "Cambiar Operador RGB" - -#~ msgid "Toggle Rot Only" -#~ msgstr "Act/Desact. Solo Rot." - -#~ msgid "Change Vec Function" -#~ msgstr "Cambiar Función Vec." - -#~ msgid "Change Vec Uniform" -#~ msgstr "Cambiar Uniforme Vec." - -#~ msgid "Change RGB Uniform" -#~ msgstr "Cambiar Uniforme RGB" - -#~ msgid "Change Default Value" -#~ msgstr "Cambiar Valor por Defecto" - -#~ msgid "Change XForm Uniform" -#~ msgstr "Cambiar Uniforme XForm" - -#~ msgid "Change Cubemap Uniform" -#~ msgstr "Cambiar Uniforme Cubemap" - -#~ msgid "Change Comment" -#~ msgstr "Cambiar Comentarío" - -#~ msgid "Add/Remove to Color Ramp" -#~ msgstr "Agregar/Quitar a Rampa de Color" - -#~ msgid "Modify Color Ramp" -#~ msgstr "Modificar Rampa de Color" - -#~ msgid "Add/Remove to Curve Map" -#~ msgstr "Agregar/quitar a Mapa de Curvas" - -#~ msgid "Modify Curve Map" -#~ msgstr "Modificar Mapa de Curvas" - -#~ msgid "Connect Graph Nodes" -#~ msgstr "Conectar Nodos de Gráfico" - -#~ msgid "Remove Shader Graph Node" -#~ msgstr "Quitar Nodo de Gráfico de Shaders" - -#~ msgid "Move Shader Graph Node" -#~ msgstr "Mover Nodo de Gráfico de Shaders" - -#~ msgid "Duplicate Graph Node(s)" -#~ msgstr "Duplicar Nodo(s) de Gráfico" - -#~ msgid "Error: Cyclic Connection Link" -#~ msgstr "Error: Link de Conección Cíclico" - -#~ msgid "Error: Missing Input Connections" -#~ msgstr "Error: Conecciones de Entrada Faltantes" - -#~ msgid "Add Shader Graph Node" -#~ msgstr "Agregar Nodo de Gráficos de Shader" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Subir pista de animación" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Bajar pista de animación" - -#~ msgid "Set Transitions to:" -#~ msgstr "Establecer Transiciones a:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Cambiar Interpolación de Track de Anim" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Cambiar Modo de Valor de Track de Anim" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Cambiar Modo de Envoltura de Track de Anim" - -#~ msgid "Edit Node Curve" -#~ msgstr "Editar Nodo Curva" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Editar Curva de Selección" - -#~ msgid "Anim Add Key" -#~ msgstr "Agregar Clave de Anim" - -#~ msgid "In" -#~ msgstr "In" - -#~ msgid "Out" -#~ msgstr "Out" - -#~ msgid "In-Out" -#~ msgstr "In-Out" - -#~ msgid "Out-In" -#~ msgstr "Out-In" - -#~ msgid "Change Anim Len" -#~ msgstr "Cambiar Largo de Anim" - -#~ msgid "Change Anim Loop" -#~ msgstr "Cambiar Loop de Animación" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Crear Clave de Valor Tipado para Anim" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Agregar Call Track para Anim" - -#~ msgid "Length (s):" -#~ msgstr "Duración (seg):" - -#~ msgid "Step (s):" -#~ msgstr "Paso (s):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "Snap de cursor por pasos (en segundos)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Activar/Desactivar ciclo en la animación." - -#~ msgid "Add new tracks." -#~ msgstr "Agregar nuevas pistas." - -#~ msgid "Move current track up." -#~ msgstr "Subir pista actual." - -#~ msgid "Move current track down." -#~ msgstr "Bajar pista actual." - -#~ msgid "Track tools" -#~ msgstr "Herramientas de pistas" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Activar la edición de claves individuales al cliquearlas." - -#~ msgid "Key" -#~ msgstr "Clave" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Llamar Funciones en Cuál Nodo?" - -#~ msgid "Thanks!" -#~ msgstr "Gracias!" - -#~ msgid "I see..." -#~ msgstr "Ya Veo..." - -#~ msgid "Ugh" -#~ msgstr "Ugh" - -#~ msgid "Run Script" -#~ msgstr "Ejecutar Script" - -#~ msgid "Stop Profiling" -#~ msgstr "Parar Profiling" - -#~ msgid "Start Profiling" -#~ msgstr "Iniciar Profiling" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "Por Defecto (Igual que el Editor)" - -#~ msgid "Create new animation in player." -#~ msgstr "Crear nueva animación en el reproductor." - -#~ msgid "Load animation from disk." -#~ msgstr "Cargar una animación desde disco." - -#~ msgid "Load an animation from disk." -#~ msgstr "Cargar una animación desde disco." - -#~ msgid "Save the current animation" -#~ msgstr "Guardar la animación actual" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "Editar Blend Times Objetivo" - -#~ msgid "Copy Animation" -#~ msgstr "Copiar Animación" - -#~ msgid "Fetching:" -#~ msgstr "Obteniendo:" - -#~ msgid "prev" -#~ msgstr "anterior" - -#~ msgid "next" -#~ msgstr "siguiente" - -#~ msgid "last" -#~ msgstr "último" - -#~ msgid "Edit IK Chain" -#~ msgstr "Editar Cadena IK" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "Arrastrar pivote desde la posición del mouse" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "Setear pivote a la posición del mouse" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "Agregar/Quitar Punto de Rampa de Color" - -#~ msgid "OK :(" -#~ msgstr "OK :(" - -#~ msgid "Skeleton Gizmo visibility" -#~ msgstr "Visibilidad de Esqueleto de Gizmo" - -#~ msgid "StyleBox Preview:" -#~ msgstr "Vista Previa de StyleBox:" - -#~ msgid "Texture Region Editor" -#~ msgstr "Editor de Regiones de Texturas" - -#~ msgid "Erase selection" -#~ msgstr "Eliminar Selección" - -#~ msgid "Item name or ID:" -#~ msgstr "Nombre o ID de Item:" - -#~ msgid "Export templates for this platform are missing/corrupted: " -#~ msgstr "" -#~ "Las plantillas de exportación para esta plataforma están faltando o " -#~ "corruptas: " - -#~ msgid "Button 8" -#~ msgstr "Botón 8" - -#~ msgid "Button 9" -#~ msgstr "Botón 9" - -#~ msgid "Discard Instancing" -#~ msgstr "Descartar Instanciado" - -#~ msgid "Makes Sense!" -#~ msgstr "Tiene Sentido!" - -#~ msgid "Clear!" -#~ msgstr "Limpiar!" - -#~ msgid "Toggle Spatial Visible" -#~ msgstr "Act/Desact. Espacial Visible" - -#~ msgid "Condition" -#~ msgstr "Condición" - -#~ msgid "Sequence" -#~ msgstr "Secuencia" - -#~ msgid "Switch" -#~ msgstr "Switch" - -#~ msgid "Iterator" -#~ msgstr "Iterador" - -#~ msgid "While" -#~ msgstr "Mientras" - -#~ msgid "Return" -#~ msgstr "Retornar" - -#~ msgid "Call" -#~ msgstr "Llamar" - -#~ msgid "Edit Variable" -#~ msgstr "Editar Variable" - -#~ msgid "Edit Signal" -#~ msgstr "Editar Señal" - -#~ msgid "Invalid action (anything goes but '/' or ':')." -#~ msgstr "Acción Invalida (cualquier cosa va menos '/' o ':')." - -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "No puede contener '/' o ':'" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "Formato de version.txt invalido dentro de plantillas. Revision no es un " -#~ "identificador valido." - -#~ msgid "Can't write file." -#~ msgstr "No se puede escribir el archivo." - -#~ msgid "Couldn't get project.godot in project path." -#~ msgstr "No se pudo obtener project.godot en la ruta de proyecto." - -#~ msgid "Replace By" -#~ msgstr "Reemplazar Por" - -#~ msgid "Backwards" -#~ msgstr "Hacia Atrás" - -#~ msgid "Prompt On Replace" -#~ msgstr "Preguntar Antes de Reemplazar" - -#~ msgid "Skip" -#~ msgstr "Saltear" - -#~ msgid "" -#~ "Your project will be created in a non empty folder (you might want to " -#~ "create a new folder)." -#~ msgstr "" -#~ "Tu proyecto será creado en una carpeta no vacía (podrías preferir crear " -#~ "una carpeta nueva)." - -#~ msgid "That's a BINGO!" -#~ msgstr "BINGO!" - -#~ msgid "preview" -#~ msgstr "vista previa" - -#~ msgid "Move Add Key" -#~ msgstr "Mover o Agregar Clave" - -#~ msgid "Create Subscription" -#~ msgstr "Crear Subscripción" - -#~ msgid "List:" -#~ msgstr "Lista:" - -#~ msgid "Set Emission Mask" -#~ msgstr "Setear Máscara de Emisión" - -#~ msgid "Clear Emitter" -#~ msgstr "Limpiar Emisor" - -#~ msgid "Fold Line" -#~ msgstr "Colapsar Línea" - -#~ msgid " " -#~ msgstr " " - -#~ msgid "Sections:" -#~ msgstr "Selecciones:" - -#~ msgid "Cannot navigate to '" -#~ msgstr "No se puede navegar a '" - -#~ msgid "" -#~ "\n" -#~ "Source: " -#~ msgstr "" -#~ "\n" -#~ "Fuente: " - -#~ msgid "Remove Point from Line2D" -#~ msgstr "Remover Punto de Line2D" - -#~ msgid "Add Point to Line2D" -#~ msgstr "Agregar Punto a Line2D" - -#~ msgid "Move Point in Line2D" -#~ msgstr "Mover Punto en Line2D" - -#~ msgid "Split Segment (in line)" -#~ msgstr "Partir Segmento (en línea)" - -#~ msgid "Meta+" -#~ msgstr "Meta+" - -#~ msgid "Setting '" -#~ msgstr "Ajuste '" - -#~ msgid "Remote Inspector" -#~ msgstr "Inspector Remoto" - -#~ msgid "Live Scene Tree:" -#~ msgstr "Árbol de Escenas en Vivo:" - -#~ msgid "Remote Object Properties: " -#~ msgstr "Propiedades de Objeto Remoto: " - -#~ msgid "Prev Level (%sDown Wheel)" -#~ msgstr "Nivel Previo (%sRueda Abajo)" - -#~ msgid "Next Level (%sUp Wheel)" -#~ msgstr "Nivel Siguiente (%sRueda Arriba)" - -#~ msgid "Selection -> Duplicate" -#~ msgstr "Selección -> Duplicar" - -#~ msgid "Selection -> Clear" -#~ msgstr "Selección -> Restablecer" - -#~ msgid "" -#~ "Path property must point to a valid Viewport node to work. Such Viewport " -#~ "must be set to 'render target' mode." -#~ msgstr "" -#~ "La propiedad Path debe apuntar a un nodo Viewport válido para funcionar. " -#~ "Dicho Viewport debe ser seteado a modo 'render target'." - -#~ msgid "" -#~ "The Viewport set in the path property must be set as 'render target' in " -#~ "order for this sprite to work." -#~ msgstr "" -#~ "El Viewport seteado en la propiedad path debe ser seteado como 'render " -#~ "target' para que este sprite funcione." - -#~ msgid "' parsing of config failed." -#~ msgstr "' falló el parseo de la configuración." - -#~ msgid "Method List For '%s':" -#~ msgstr "Lista de Métodos Para '%s':" - -#~ msgid "Arguments:" -#~ msgstr "Argumentos:" - -#~ msgid "Return:" -#~ msgstr "Retornar:" - -#~ msgid "Added:" -#~ msgstr "Agregado:" - -#~ msgid "Could not save atlas subtexture:" -#~ msgstr "No se pudo guardar la subtextura de altas:" - -#~ msgid "Setting Up..." -#~ msgstr "Configurando..." - -#~ msgid "Error loading scene." -#~ msgstr "Error al cargar la escena." - -#~ msgid "Re-Import" -#~ msgstr "Reimportar" - -#~ msgid "Please wait for scan to complete." -#~ msgstr "Por favor aguarda a que el scan termine." - -#~ msgid "Current scene must be saved to re-import." -#~ msgstr "La escena actual debe ser guardada para reimportar." - -#~ msgid "Re-Importing" -#~ msgstr "Reimportando" - -#~ msgid "Re-Import Changed Resources" -#~ msgstr "Reimportar Recursos Cambiados" - -#~ msgid "" -#~ "\n" -#~ "Status: Needs Re-Import" -#~ msgstr "" -#~ "\n" -#~ "Estado: Necesita Reimportación" - -#~ msgid "Same source and destination files, doing nothing." -#~ msgstr "" -#~ "Archivos de origen y destino iguales, no se realizará ninguna acción." - -#~ msgid "Target file exists, can't overwrite. Delete first." -#~ msgstr "" -#~ "El archivo destino existe; no sé puede sobreescribir. Eliminalo primero." - -#~ msgid "Same source and destination paths, doing nothing." -#~ msgstr "Ruta de origen y destino iguales, no se realizará ninguna acción." - -#~ msgid "Can't move directories to within themselves." -#~ msgstr "No se pueden mover directorios dentro de si mismos." - -#~ msgid "Can't rename deps for:\n" -#~ msgstr "No se pueden renombrar las dependencias para:\n" - -#~ msgid "Pick New Name and Location For:" -#~ msgstr "Elejí un Nuevo Nombre y Ubicación Para:" - -#~ msgid "Info" -#~ msgstr "Info" - -#~ msgid "No bit masks to import!" -#~ msgstr "Sin máscaras de bits para importar!" - -#~ msgid "Target path is empty." -#~ msgstr "La ruta de destino está vacía." - -#~ msgid "Target path must be a complete resource path." -#~ msgstr "La ruta de destino debe ser una ruta de recursos completa." - -#~ msgid "Target path must exist." -#~ msgstr "La ruta de destino debe existir." - -#~ msgid "Import BitMasks" -#~ msgstr "Importar BitMasks" - -#~ msgid "Source Texture(s):" -#~ msgstr "Textura(s) de Origen:" - -#~ msgid "Target Path:" -#~ msgstr "Ruta de Destino:" - -#~ msgid "Accept" -#~ msgstr "Aceptar" - -#~ msgid "Bit Mask" -#~ msgstr "Máscara de Bits" - -#~ msgid "No source font file!" -#~ msgstr "Sin archivo de tipografías de origen!" - -#~ msgid "No target font resource!" -#~ msgstr "Sin recurso de tipografías de destino!" - -#~ msgid "" -#~ "Invalid file extension.\n" -#~ "Please use .font." -#~ msgstr "" -#~ "Extension de archivo inválida.\n" -#~ "Usá .fnt, por favor." - -#~ msgid "Couldn't save font." -#~ msgstr "No se pudo guardar la tipografía." - -#~ msgid "Source Font:" -#~ msgstr "Tipografía de Origen:" - -#~ msgid "Dest Resource:" -#~ msgstr "Recurso de Dest:" - -#~ msgid "The quick brown fox jumps over the lazy dog." -#~ msgstr "El veloz murciélago hindú comía feliz cardillo y kiwi." - -#~ msgid "Test:" -#~ msgstr "Prueba:" - -#~ msgid "Options:" -#~ msgstr "Opciones:" - -#~ msgid "Font Import" -#~ msgstr "Importar Tipografías" - -#~ msgid "" -#~ "This file is already a Godot font file, please supply a BMFont type file " -#~ "instead." -#~ msgstr "" -#~ "Este archivo ya es un archivo de tipografías de Godot, por favor " -#~ "suministrar un archivo tipo BMFont." - -#~ msgid "Failed opening as BMFont file." -#~ msgstr "Error al abrir como archivo BMFont." - -#~ msgid "Invalid font custom source." -#~ msgstr "Origen personalizado de tipografía inválido." - -#~ msgid "No meshes to import!" -#~ msgstr "Sin meshes para importar!" - -#~ msgid "Single Mesh Import" -#~ msgstr "Importar Mesh Individual" - -#~ msgid "Source Mesh(es):" -#~ msgstr "Importar Mesh(es) de Origen:" - -#~ msgid "Surface %d" -#~ msgstr "Superficie %d" - -#~ msgid "No samples to import!" -#~ msgstr "Sin muestras que importar!" - -#~ msgid "Import Audio Samples" -#~ msgstr "Importar Muestras de Audio" - -#~ msgid "Source Sample(s):" -#~ msgstr "Muestra(s) de Origen:" - -#~ msgid "Audio Sample" -#~ msgstr "Muestra de Audio" - -#~ msgid "New Clip" -#~ msgstr "Nuevo Clip" - -#~ msgid "Flags" -#~ msgstr "Flags" - -#~ msgid "Bake FPS:" -#~ msgstr "Hacer Bake de FPS:" - -#~ msgid "Optimizer" -#~ msgstr "Optimizar" - -#~ msgid "Max Linear Error" -#~ msgstr "Error Lineal Máximo" - -#~ msgid "Max Angular Error" -#~ msgstr "Error Angular Máximo" - -#~ msgid "Max Angle" -#~ msgstr "Angulo Máximo" - -#~ msgid "Start(s)" -#~ msgstr "Comienzo(s)" - -#~ msgid "Source path is empty." -#~ msgstr "La ruta de origen esta vacía." - -#~ msgid "Couldn't load post-import script." -#~ msgstr "No se pudo cargar el script post-importación." - -#~ msgid "Invalid/broken script for post-import." -#~ msgstr "Script post-importación inválido o roto." - -#~ msgid "Error importing scene." -#~ msgstr "Error al importar escena." - -#~ msgid "Import 3D Scene" -#~ msgstr "Importar Escena 3D" - -#~ msgid "Source Scene:" -#~ msgstr "Escena de Origen:" - -#~ msgid "Same as Target Scene" -#~ msgstr "Igual que Escena de Destino" - -#~ msgid "Shared" -#~ msgstr "Compartido" - -#~ msgid "Target Texture Folder:" -#~ msgstr "Carpeta de Textura de Destino:" - -#~ msgid "Custom Root Node Type:" -#~ msgstr "Tipo de Nodo Raiz Customizado:" - -#~ msgid "Auto" -#~ msgstr "Auto" - -#~ msgid "The Following Files are Missing:" -#~ msgstr "Los Siguientes Archivos estan Faltando:" - -#~ msgid "Import Anyway" -#~ msgstr "Importar de Todos Modos" - -#~ msgid "Edited scene has not been saved, open imported scene anyway?" -#~ msgstr "" -#~ "La escena editada no ha sido guardada, abrir la escena importada de todos " -#~ "modos?" - -#~ msgid "Import Image:" -#~ msgstr "Importar Imagen:" - -#~ msgid "Couldn't localize path: %s (already local)" -#~ msgstr "No se pudo localizar la ruta: %s (ya es local)" - -#~ msgid "3D Scene Animation" -#~ msgstr "Animacion de Escena 3D" - -#~ msgid "Uncompressed" -#~ msgstr "Sin Comprimir" - -#~ msgid "Compress Lossless (PNG)" -#~ msgstr "Compresión Sin Pérdidas (PNG)" - -#~ msgid "Compress Lossy (WebP)" -#~ msgstr "Compresión con Pérdidas (WebP)" - -#~ msgid "Compress (VRAM)" -#~ msgstr "Comprimir (VRAM)" - -#~ msgid "Texture Format" -#~ msgstr "Formato de Textura" - -#~ msgid "Texture Compression Quality (WebP):" -#~ msgstr "Calidad de Compresión de Textura (WebP):" - -#~ msgid "Please specify some files!" -#~ msgstr "Por favor especificá algunos archivos!" - -#~ msgid "At least one file needed for Atlas." -#~ msgstr "Se necesita al menos un archivo para el Atlas." - -#~ msgid "Error importing:" -#~ msgstr "Error al importar:" - -#~ msgid "Max Texture Size:" -#~ msgstr "Tamaño Max. de Textura:" - -#~ msgid "Import Textures for Atlas (2D)" -#~ msgstr "Importar Texturas para Atlas (2D)" - -#~ msgid "Large Texture" -#~ msgstr "Textura Grande" - -#~ msgid "Import Large Textures (2D)" -#~ msgstr "Importar Texturas Grandes (2D)" - -#~ msgid "Source Texture" -#~ msgstr "Textura de Origen" - -#~ msgid "Base Atlas Texture" -#~ msgstr "Textura Base de Atlas" - -#~ msgid "Source Texture(s)" -#~ msgstr "Textura(s) de Origen" - -#~ msgid "Import Textures for 2D" -#~ msgstr "Importar Texturas para 2D" - -#~ msgid "Import Textures for 3D" -#~ msgstr "Importar Texturas para 3D" - -#~ msgid "Import Textures" -#~ msgstr "Importar Texturas" - -#~ msgid "2D Texture" -#~ msgstr "Textura 2D" - -#~ msgid "3D Texture" -#~ msgstr "Textura 3D" - -#~ msgid "Atlas Texture" -#~ msgstr "Textura de Atlas" - -#~ msgid "" -#~ "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files " -#~ "to the project." -#~ msgstr "" -#~ "AVISO: Importar texturas 2D no es obligatorio. Simplemente copiá los " -#~ "archivos png/jpg al proyecto." - -#~ msgid "Crop empty space." -#~ msgstr "Cropear espacio vacio." - -#~ msgid "Texture" -#~ msgstr "Textura" - -#~ msgid "Import Large Texture" -#~ msgstr "Importar Textura Grande" - -#~ msgid "Load Source Image" -#~ msgstr "Cargar Imagen de Origen" - -#~ msgid "Slicing" -#~ msgstr "Rebanar" - -#~ msgid "Saving" -#~ msgstr "Guardando" - -#~ msgid "Couldn't save large texture:" -#~ msgstr "No se pudo guardar la textura grande:" - -#~ msgid "Build Atlas For:" -#~ msgstr "Construir Atlar Para:" - -#~ msgid "Loading Image:" -#~ msgstr "Cargando Imagen:" - -#~ msgid "Converting Images" -#~ msgstr "Convirtiendo Imágenes" - -#~ msgid "Cropping Images" -#~ msgstr "Cropeando Imágenes" - -#~ msgid "Couldn't save atlas image:" -#~ msgstr "No se pudo guardar la imagen de atlas:" - -#~ msgid "Invalid translation source!" -#~ msgstr "Fuente de traducción inválida!" - -#~ msgid "Column" -#~ msgstr "Columna" - -#~ msgid "No items to import!" -#~ msgstr "Sin elementos para importar!" - -#~ msgid "No target path!" -#~ msgstr "Sin ruta de destino!" - -#~ msgid "Import Translations" -#~ msgstr "Importar Traducciones" - -#~ msgid "Couldn't import!" -#~ msgstr "No se pudo importar!" - -#~ msgid "Import Translation" -#~ msgstr "Importar Traducción" - -#~ msgid "Source CSV:" -#~ msgstr "CSV de Origen:" - -#~ msgid "Ignore First Row" -#~ msgstr "Ignorar Primera Columna" - -#~ msgid "Compress" -#~ msgstr "Comprimir" - -#~ msgid "Add to Project (project.godot)" -#~ msgstr "Agregar al Proyecto (project.godot)" - -#~ msgid "Import Languages:" -#~ msgstr "Importar Lenguajes:" - -#~ msgid "Translation" -#~ msgstr "Traducción" - -#~ msgid "Triangle #" -#~ msgstr "Triangulo #" - -#~ msgid "Light Baker Setup:" -#~ msgstr "Configuración de Baker de Luces:" - -#~ msgid "Fixing Lights" -#~ msgstr "Fijando/Corrigiendo Luces" - -#~ msgid "Making BVH" -#~ msgstr "Creando BVH" - -#~ msgid "Allocating Texture #" -#~ msgstr "Asignando Textura #" - -#~ msgid "Baking Triangle #" -#~ msgstr "Haciendo Bake de Triangulo #" - -#~ msgid "Post-Processing Texture #" -#~ msgstr "Postprocesando Textura #" - -#~ msgid "Reset the lightmap octree baking process (start over)." -#~ msgstr "" -#~ "Resetear el proceso de bake del octree de mapa de luces (empezar de " -#~ "nuevo)." - -#~ msgid "Zoom Set..." -#~ msgstr "Setear Zoom..." - -#~ msgid "Parse BBCode" -#~ msgstr "Parsear BBCode" - -#~ msgid "Length:" -#~ msgstr "Largo:" - -#~ msgid "Open Sample File(s)" -#~ msgstr "Abrir Archivo(s) de Muestra" - -#~ msgid "ERROR: Couldn't load sample!" -#~ msgstr "ERROR: No se pudo cargar la muestra!" - -#~ msgid "Add Sample" -#~ msgstr "Agregar Muestra" - -#~ msgid "Rename Sample" -#~ msgstr "Renombrar Muestra" - -#~ msgid "Delete Sample" -#~ msgstr "Eliminar Muestra" - -#~ msgid "16 Bits" -#~ msgstr "16 Bits" - -#~ msgid "8 Bits" -#~ msgstr "8 Bits" - -#~ msgid "Stereo" -#~ msgstr "Estereo" - -#~ msgid "Scaling to %s%%." -#~ msgstr "Escalando a %s%%." - -#~ msgid "Bucket" -#~ msgstr "Balde" - -#~ msgid "Invalid project path, the path must exist!" -#~ msgstr "Ruta de proyecto inválida, la ruta debe existir!" - -#~ msgid "Invalid project path, project.godot must not exist." -#~ msgstr "Ruta de proyecto inválida, project.godot no debe existir." - -#~ msgid "Invalid project path, project.godot must exist." -#~ msgstr "Ruta de proyecto inválida, project.godot debe existir." - -#~ msgid "Project Path (Must Exist):" -#~ msgstr "Ruta del Proyecto (Debe Existir):" - -#~ msgid "Create New Resource" -#~ msgstr "Crear Nuevo Recurso" - -#~ msgid "Open Resource" -#~ msgstr "Abrir Recurso" - -#~ msgid "Save Resource" -#~ msgstr "Guardar Recurso" - -#~ msgid "Resource Tools" -#~ msgstr "Herramientas de Recursos" - -#~ msgid "Edit Groups" -#~ msgstr "Editar Grupos" - -#~ msgid "Tiles" -#~ msgstr "Tiles" - -#~ msgid "Areas" -#~ msgstr "Áreas" - -#~ msgid "Ctrl+" -#~ msgstr "Ctrl+" - -#~ msgid "Down Wheel)" -#~ msgstr "Rueda Abajo)" - -#~ msgid "Up Wheel)" -#~ msgstr "Rueda Arriba)" - -#~ msgid "Close scene? (Unsaved changes will be lost)" -#~ msgstr "Cerrar escena? (Los cambios sin guardar se perderán)" - -#~ msgid "" -#~ "Open Project Manager? \n" -#~ "(Unsaved changes will be lost)" -#~ msgstr "Abrir el Gestor de Proyectos? (Los cambios sin guardar se perderán)" - -#~ msgid "Close Goto Prev. Scene" -#~ msgstr "Cerrar e Ir a Escena Prev." - -#~ msgid "Del" -#~ msgstr "Eliminar" - -#~ msgid "just pressed" -#~ msgstr "recién presionado" - -#~ msgid "" -#~ "Couldn't read the certificate file. Are the path and password both " -#~ "correct?" -#~ msgstr "" -#~ "No se pudo leer el archivo de certificado. Son tanto la ruta como el " -#~ "password correctos?" - -#~ msgid "Error creating the package signature." -#~ msgstr "Error al crear la firma del paquete." - -#~ msgid "RAW Mode" -#~ msgstr "Modo RAW" - -#~ msgid "Node From Scene" -#~ msgstr "Nodo desde Escena" - -#~ msgid "Import assets to the project." -#~ msgstr "Importar assets al proyecto." - -#~ msgid "Export the project to many platforms." -#~ msgstr "Exportar el proyecto a munchas plataformas." - -#~ msgid "Alerts when an external resource has changed." -#~ msgstr "Alerta cuando un recurso externo haya cambiado." - -#~ msgid "Open https://godotengine.org at tutorials section." -#~ msgstr "Abrir https://godotengine.org en la sección de tutoriales." - -#~ msgid "No scene selected to instance!" -#~ msgstr "Ninguna escena seleccionada a la instancia!" - -#~ msgid "Instance at Cursor" -#~ msgstr "Instancia en Cursor" - -#~ msgid "Use Default Light" -#~ msgstr "Usar Luz por Defecto" - -#~ msgid "Default Light Normal:" -#~ msgstr "Normales de Luces por Defecto:" - -#~ msgid "Ambient Light Color:" -#~ msgstr "Color de Luz Ambiental:" - -#~ msgid "Invalid parent class name" -#~ msgstr "Nombre de clase padre inválido" - -#~ msgid "Valid chars:" -#~ msgstr "Caracteres válidos:" - -#~ msgid "Valid name" -#~ msgstr "Nombre válido" - -#~ msgid "Class name is invalid!" -#~ msgstr "El nombre de clase es inválido!" - -#~ msgid "Parent class name is invalid!" -#~ msgstr "El nombre de la clase padre es inválido!" - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "" -#~ "La propiedad Path debe apuntar a un nodo Particles2D valido para " -#~ "funcionar." - -#~ msgid "Surface" -#~ msgstr "Superficie" - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SamplePlayer to play sound." -#~ msgstr "" -#~ "Un recurso SampleLibrary debe ser creado o seteado en la propiedad " -#~ "'samples' de modo que SamplePlayer pueda reproducir sonido." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SpatialSamplePlayer to play sound." -#~ msgstr "" -#~ "Un recurso SampleLibrary debe ser creado o seteado en la propiedad " -#~ "'samples' de modo que SpatialSamplePlayer puede reproducir sonido." - -#~ msgid "Replaced %d Ocurrence(s)." -#~ msgstr "%d Ocurrencia(s) Reemplazada(s)." - -#~ msgid "Save Translatable Strings" -#~ msgstr "Guardar Strings Traducibles" - -#~ msgid "Edit Script Options" -#~ msgstr "Editar Opciones de Script" - -#~ msgid "Error exporting project!" -#~ msgstr "Error al exportar el proyecto!" - -#~ msgid "Error writing the project PCK!" -#~ msgstr "Error al escribir el PCK de proyecto!" - -#~ msgid "No exporter for platform '%s' yet." -#~ msgstr "No hay exportador para la plataforma '%s' aun." - -#~ msgid "Create Android keystore" -#~ msgstr "Crear keystore de Android" - -#~ msgid "Organizational unit" -#~ msgstr "Unidad organizativa" - -#~ msgid "Organization" -#~ msgstr "Organización" - -#~ msgid "City" -#~ msgstr "Ciudad" - -#~ msgid "2 letter country code" -#~ msgstr "Código de país de dos letras" - -#~ msgid "User alias" -#~ msgstr "Alias de usuario" - -#~ msgid "Password" -#~ msgstr "Contraseña" - -#~ msgid "at least 6 characters" -#~ msgstr "al menos 6 caracteres" - -#~ msgid "File name" -#~ msgstr "Nombre de archivo" - -#~ msgid "Path : (better to save outside of project)" -#~ msgstr "Ruta : (es mejor guardar fuera del proyecto)" - -#~ msgid "" -#~ "Release keystore is not set.\n" -#~ "Do you want to create one?" -#~ msgstr "" -#~ "No esta seteado el release keystore.\n" -#~ "¿Querés crear uno?" - -#~ msgid "Fill Keystore/Release User and Release Password" -#~ msgstr "Completa con Keystore/Usuario Release y Cntraseña Release" - -#~ msgid "Include" -#~ msgstr "Incluir" - -#~ msgid "Group name can't be empty!" -#~ msgstr "El nombre del grupo no puede estar vacío!" - -#~ msgid "Invalid character in group name!" -#~ msgstr "Caracter invalido en el nombre de grupo!" - -#~ msgid "Add Image Group" -#~ msgstr "Agregar Grupo de Imágenes" - -#~ msgid "Project Export Settings" -#~ msgstr "Ajustes de Exportación del Proyecto" - -#~ msgid "Export to Platform" -#~ msgstr "Exportar a Plataforma" - -#~ msgid "Export all files in the project directory." -#~ msgstr "Exportar todos los archivos en el directorio del proyecto." - -#~ msgid "Convert text scenes to binary on export." -#~ msgstr "Convertir escenas de texto a binario al exportar." - -#~ msgid "Images" -#~ msgstr "Imágenes" - -#~ msgid "Keep Original" -#~ msgstr "Mantener el Original" - -#~ msgid "Compress for Disk (Lossy, WebP)" -#~ msgstr "Comprimir para Disco (Con pérdidas, WebP)" - -#~ msgid "Compress for RAM (BC/PVRTC/ETC)" -#~ msgstr "Comprimir para RAM (BC/PVRTC/ETC)" - -#~ msgid "Convert Images (*.png):" -#~ msgstr "Convertir Imágenes (*.png):" - -#~ msgid "Compress for Disk (Lossy) Quality:" -#~ msgstr "Calidad de Compresión para Disco (con perdidas):" - -#~ msgid "Shrink All Images:" -#~ msgstr "Reducir Todas las Imagenes:" - -#~ msgid "Compress Formats:" -#~ msgstr "Formatos de Compresión:" - -#~ msgid "Groups:" -#~ msgstr "Grupos:" - -#~ msgid "Compress Disk" -#~ msgstr "Comprimir para Disco" - -#~ msgid "Compress RAM" -#~ msgstr "Comprimir para RAM" - -#~ msgid "Compress Mode:" -#~ msgstr "Modo de Compresión:" - -#~ msgid "Lossy Quality:" -#~ msgstr "Calidad con Pérdidas:" - -#~ msgid "Shrink By:" -#~ msgstr "Reducir Por:" - -#~ msgid "Images:" -#~ msgstr "Imágenes:" - -#~ msgid "Sample Conversion Mode: (.wav files):" -#~ msgstr "Modo de Conversión de Muestras: (archivos .wav):" - -#~ msgid "Compress (RAM - IMA-ADPCM)" -#~ msgstr "Comprimir (RAM - IMA-ADPCM)" - -#~ msgid "Sampling Rate Limit (Hz):" -#~ msgstr "Limite de Tasa de Sampleo (Hz):" - -#~ msgid "Trim" -#~ msgstr "Recortar" - -#~ msgid "Trailing Silence:" -#~ msgstr "Silencio Sobrante al Final:" - -#~ msgid "Export Project PCK" -#~ msgstr "Exportar PCK de Proyecto" - -#~ msgid "Project Export" -#~ msgstr "Exportar Proyecto" - -#~ msgid "BakedLightInstance does not contain a BakedLight resource." -#~ msgstr "BakedLightInstance no contiene un recurso BakedLight." - -#~ msgid "Lighting" -#~ msgstr "Iluminación" - -#~ msgid "Global" -#~ msgstr "Global" - -#~ msgid "" -#~ "This item cannot be made visible because the parent is hidden. Unhide the " -#~ "parent first." -#~ msgstr "" -#~ "Este item no puede hacerse visible porque el padre esta oculto. Desocultá " -#~ "el padre primero." - -#~ msgid "" -#~ "Paths cannot start with '/', absolute paths must start with 'res://', " -#~ "'user://', or 'local://'" -#~ msgstr "" -#~ "Las rutas no pueden comenzar con '/', las rutas absolutas deben comenzar " -#~ "con 'res://', 'user://'. o 'local://'" - -#~ msgid "File exists" -#~ msgstr "El archivo existe" - -#~ msgid "Valid path" -#~ msgstr "Ruta inválida" - -#~ msgid "" -#~ "Custom node has no _get_output_port_unsequenced(idx,wmem), but " -#~ "unsequenced ports were specified." -#~ msgstr "" -#~ "El nodo personalizado no tiene ningún _get_output_port_unsequenced(idx," -#~ "wmem), pero se especificaron puertos no secuenciados." - -#~ msgid "Cannot go into subdir:" -#~ msgstr "No se puede acceder al subdir:" - -#~ msgid "Top (Num7)" -#~ msgstr "Cima (Num7)" - -#~ msgid "Bottom (Shift+Num7)" -#~ msgstr "Fondo (Shift+Num7)" - -#~ msgid "Left (Num3)" -#~ msgstr "Izquierda (Num3)" - -#~ msgid "Right (Shift+Num3)" -#~ msgstr "Derecha (Shift+Num3)" - -#~ msgid "Front (Num1)" -#~ msgstr "Frente (Num1)" - -#~ msgid "Rear (Shift+Num1)" -#~ msgstr "Detrás (Shift+Num1)" - -#~ msgid "Perspective (Num5)" -#~ msgstr "Perspectiva (Num5)" - -#~ msgid "Orthogonal (Num5)" -#~ msgstr "Ortogonal (Num5)" - -#~ msgid "Selection (F)" -#~ msgstr "Slección (F)" - -#~ msgid "Align with view (Ctrl+Shift+F)" -#~ msgstr "Alinear con vista (Ctrl+Shift+F)" - -#~ msgid "Enable/Disable interpolation when looping animation." -#~ msgstr "Activar/Desactivar interpolación al loopear animación." - -#~ msgid "Load Layout" -#~ msgstr "Cargar Layout" - -#~ msgid "Scale Region Editor" -#~ msgstr "Editor de Regiones de Escalado" - -#~ msgid "Inherit Scene" -#~ msgstr "Heredar Escena" - -#~ msgid "Binds (Extra Params):" -#~ msgstr "Binds (Parametros Extra):" - -#~ msgid "Method In Node:" -#~ msgstr "Método En el Nodo:" - -#~ msgid "Reload Tool Script (Soft)" -#~ msgstr "Volver a Cargar Script de Herramientas (Soft)" - -#~ msgid "Set Params" -#~ msgstr "Setear Params" - -#~ msgid "Live Editing" -#~ msgstr "Edicion al Instante" - -#~ msgid "File Server" -#~ msgstr "Servidor de Archivos" - -#~ msgid "Deploy File Server Clients" -#~ msgstr "Hacer Deploy de Clientes del Servidor de Archivos" diff --git a/editor/translations/et.po b/editor/translations/et.po index 4dba826523..0177c614a0 100644 --- a/editor/translations/et.po +++ b/editor/translations/et.po @@ -1,6 +1,6 @@ # Estonian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Jens <arrkiin@gmail.com>, 2019. # Mattias Aabmets <mattias.aabmets@gmail.com>, 2019. @@ -2097,14 +2097,30 @@ msgstr "Meetodid" msgid "Theme Properties" msgstr "Teema atribuudid" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Loetelu" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Konstandid" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Loetelu" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Atribuutide kirjeldused" @@ -8364,18 +8380,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -12972,7 +12976,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12981,6 +12990,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -13980,43 +14004,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Konstante ei saa muuta." - -#~ msgid "Enabled Properties:" -#~ msgstr "Lubatud atribuudid:" - -#~ msgid "Set" -#~ msgstr "Sea" - -#~ msgid "Q&A" -#~ msgstr "Küsimused & vastused" - -#~ msgid "Status:" -#~ msgstr "Olek:" - -#~ msgid "Edit:" -#~ msgstr "Muuda:" - -#~ msgid "(Installed)" -#~ msgstr "(Paigaldatud)" - -#~ msgid "(Missing)" -#~ msgstr "(Puudub)" - -#~ msgid "Yaw" -#~ msgstr "Sagitaal" - -#~ msgid "Data Type:" -#~ msgstr "Andmetüüp:" - -#~ msgid "Templates" -#~ msgstr "Mallid" - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "AnimationPlayer ei saa animeerida iseennast, ainult teisi mängijaid." - -#~ msgid "Clipboard is empty" -#~ msgstr "Lõikelaud on tühi" - -#~ msgid "Error trying to save layout!" -#~ msgstr "Viga paigutuse salvestamisel!" diff --git a/editor/translations/eu.po b/editor/translations/eu.po index be9638fa8f..e801a3b6a1 100644 --- a/editor/translations/eu.po +++ b/editor/translations/eu.po @@ -1,6 +1,6 @@ # Basque translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Julen Irazoki <rktzbkr.julen@gmail.com>, 2019. # Osoitz <oelkoro@gmail.com>, 2019, 2020. @@ -2078,14 +2078,30 @@ msgstr "Metodoak" msgid "Theme Properties" msgstr "Azalaren propietateak" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Enumerazioak" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Konstanteak" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Enumerazioak" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "" @@ -8324,18 +8340,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -12927,7 +12931,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12936,6 +12945,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -13931,40 +13955,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "" - -#~ msgid "Q&A" -#~ msgstr "Galdera-erantzunak" - -#~ msgid "Redownload" -#~ msgstr "Berriro jaitsi" - -#~ msgid "(Installed)" -#~ msgstr "(Instalatuta)" - -#~ msgid "(Missing)" -#~ msgstr "(Falta da)" - -#~ msgid "Download Complete." -#~ msgstr "Jaitsiera osatuta." - -#~ msgid "Remove Template" -#~ msgstr "Kendu txantiloia" - -#~ msgid "Download Templates" -#~ msgstr "Jaitsi txantiloiak" - -#~ msgid "Theme editing menu." -#~ msgstr "Azalaren edizio menua." - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "Sortu editorearen uneko azaletik" - -#~ msgid "Theme File" -#~ msgstr "Azal fitxategia" - -#~ msgid "Compiled" -#~ msgstr "Konpilatuta" - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Animazio irakurgailua ezin da norbera animatu, bakarrik beste batzuk." diff --git a/editor/translations/extract.py b/editor/translations/extract.py index 8702ac664c..2594629e5c 100755 --- a/editor/translations/extract.py +++ b/editor/translations/extract.py @@ -36,8 +36,8 @@ unique_loc = {} ctx_group = {} # Store msgctx, msg, and locations. main_po = """ # LANGUAGE translation of the Godot Engine editor. -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. diff --git a/editor/translations/fa.po b/editor/translations/fa.po index 54715f5c9d..5d49e02922 100644 --- a/editor/translations/fa.po +++ b/editor/translations/fa.po @@ -1,6 +1,6 @@ # Persian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # alabd14313 <alabd14313@yahoo.com>, 2016. # Dante Marshal <Marshal.Devilhunter@gmail.com>, 2018. @@ -2121,14 +2121,30 @@ msgstr "توابع" msgid "Theme Properties" msgstr "خصوصیات زمینه" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "شمارش ها" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "ثابت ها" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "شمارش ها" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "توضیحات خصیصه" @@ -8693,18 +8709,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -13608,7 +13612,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -13617,6 +13626,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14701,602 +14725,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "ثوابت قابل تغییر نیستند." - -#~ msgid "Package Contents:" -#~ msgstr "درون مایه های بسته بندی:" - -#~ msgid "Singleton" -#~ msgstr "سینگلتون" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "پاککردن نمایه '%s'? (عدم بازگردانی)" - -#~ msgid "Enabled Properties:" -#~ msgstr "خصوصیات فعال شده:" - -#~ msgid "Enabled Features:" -#~ msgstr "ویژگی های فعال شده:" - -#~ msgid "Class Options" -#~ msgstr "گزینه های کلاس" - -#~ msgid "Set" -#~ msgstr "تعیین" - -#~ msgid "Status:" -#~ msgstr "وضعیت:" - -#, fuzzy -#~ msgid "Edit:" -#~ msgstr "ویرایش" - -#, fuzzy -#~ msgid "Redownload" -#~ msgstr "در حال بارگیری" - -#~ msgid "(Installed)" -#~ msgstr "(نصب شده)" - -#, fuzzy -#~ msgid "Request Failed." -#~ msgstr "در حال درخواست..." - -#~ msgid "Download Complete." -#~ msgstr "دانلود کامل." - -#~ msgid "Remove Template" -#~ msgstr "حذف قالب" - -#~ msgid "Download Templates" -#~ msgstr "بارگیری قالب ها" - -#, fuzzy -#~ msgid "Move to Trash" -#~ msgstr "بارگیری خودکار را انجام دهید" - -#, fuzzy -#~ msgid "Expand All Properties" -#~ msgstr "افزودن ویژگی سراسری" - -#~ msgid "Open in Help" -#~ msgstr "باز کردن راهنما" - -#~ msgid "Create Empty Template" -#~ msgstr "ساختن قالب خالی" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "ساختن قالب خالی ویرایشگر" - -#, fuzzy -#~ msgid "Theme File" -#~ msgstr "یک پرونده را باز کن" - -#~ msgid "Templates" -#~ msgstr "قالب ها" - -#, fuzzy -#~ msgid "Could not read boot splash image file:" -#~ msgstr "نمیتواند یک پوشه ایجاد شود." - -#, fuzzy -#~ msgid "Using default boot splash image." -#~ msgstr "نمیتواند یک پوشه ایجاد شود." - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "یک مجری انیمیشن نمی تواند خود را محرک کند، فقط سایر مجریان." - -#~ msgid "Clipboard is empty" -#~ msgstr "حافظه پنهان خالی است" - -#~ msgid "No" -#~ msgstr "نه" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "این صحنه هرگز ذخیره نشده است. ذخیره قبل از اجرا؟" - -#, fuzzy -#~ msgid "Search complete" -#~ msgstr "جستجوی متن" - -#, fuzzy -#~ msgid "Move pivot" -#~ msgstr "برداشتن نقطه" - -#, fuzzy -#~ msgid "Add initial export..." -#~ msgstr "افزودن عمل ورودی" - -#, fuzzy -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "حذف کن" - -#, fuzzy -#~ msgid "Patches" -#~ msgstr "تطبیقها:" - -#, fuzzy -#~ msgid "Pack File" -#~ msgstr " پوشه ها" - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "فایلسیستم و واردکردن لنگرگاه" - -#, fuzzy -#~ msgid "Clear Script" -#~ msgstr "صحنه جدید" - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "تعداد %d رخداد جایگزین شد." - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "خلاصه توضیحات:" - -#, fuzzy -#~ msgid "Class Description" -#~ msgstr "توضیحات" - -#~ msgid "Password:" -#~ msgstr "گذرواژه:" - -#~ msgid "Shift+" -#~ msgstr "+Shift" - -#~ msgid "Alt+" -#~ msgstr "+Alt" - -#, fuzzy -#~ msgid "Add input +" -#~ msgstr "افزودن نقطه" - -#, fuzzy -#~ msgid "Inherits" -#~ msgstr "میراث:" - -#~ msgid "Available Nodes:" -#~ msgstr "گره های موجود:" - -#, fuzzy -#~ msgid "Methods:" -#~ msgstr "روش ها" - -#, fuzzy -#~ msgid "Theme Properties:" -#~ msgstr "صافی کردن گرهها" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "توضیح:" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "توضیحات مشخصه:" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "توضیح:" - -#, fuzzy -#~ msgid "Reverse sorting." -#~ msgstr "در حال درخواست..." - -#~ msgid "Delete Node(s)?" -#~ msgstr "حذف گره(ها)؟" - -#, fuzzy -#~ msgid "Error: could not load file." -#~ msgstr "نمیتواند یک پوشه ایجاد شود." - -#, fuzzy -#~ msgid "Select Mode (Q)" -#~ msgstr "انتخاب حالت" - -#, fuzzy -#~ msgid "Snap Mode (%s)" -#~ msgstr "انتخاب حالت" - -#, fuzzy -#~ msgid "Tool Select" -#~ msgstr "همهی انتخاب ها" - -#~ msgid "Project List" -#~ msgstr "فهرست پروژه ها" - -#~ msgid "Exit" -#~ msgstr "خروج" - -#~ msgid "Error initializing FreeType." -#~ msgstr "خطا در ارزشدهی آغازین به FreeType." - -#~ msgid "Unknown font format." -#~ msgstr "فرمت قلم ناشناخته." - -#~ msgid "Error loading font." -#~ msgstr "خطای بارگذاری قلم." - -#~ msgid "Invalid font size." -#~ msgstr "اندازهٔ قلم نامعتبر." - -#, fuzzy -#~ msgid "Previous Folder" -#~ msgstr "زبانه قبلی" - -#, fuzzy -#~ msgid "Next Folder" -#~ msgstr "ساختن پوشه" - -#, fuzzy -#~ msgid "Open in an external image editor." -#~ msgstr "گشودن ویرایشگر متن" - -#~ msgid "Reverse" -#~ msgstr "معکوس" - -#, fuzzy -#~ msgid "Failed to create solution." -#~ msgstr "ناتوان در ساختن پوشه." - -#, fuzzy -#~ msgid "Failed to save solution." -#~ msgstr "انتخاب شده را تغییر مقیاس بده" - -#, fuzzy -#~ msgid "Create C# solution" -#~ msgstr "انتخاب شده را تغییر مقیاس بده" - -#, fuzzy -#~ msgid "Build Project" -#~ msgstr "پروژه" - -#, fuzzy -#~ msgid "View log" -#~ msgstr "نمایش پرونده ها" - -#, fuzzy -#~ msgid "Enabled Classes" -#~ msgstr "جستجوی کلاسها" - -#~ msgid "Update Always" -#~ msgstr "به روز رسانی دامی" - -#~ msgid "Path to Node:" -#~ msgstr "مسیر به سمت گره:" - -#~ msgid "Delete selected files?" -#~ msgstr "آیا پروندههای انتخاب شده حذف شود؟" - -#~ msgid "Go to parent folder" -#~ msgstr "رفتن به پوشه والد" - -#, fuzzy -#~ msgid "Open Scene(s)" -#~ msgstr "باز کردن صحنه" - -#~ msgid "Ease in" -#~ msgstr "کُندی در آغاز" - -#~ msgid "Ease out" -#~ msgstr "کُندی در پایان" - -#~ msgid "Create folder" -#~ msgstr "ساختن پوشه" - -#, fuzzy -#~ msgid "Invalid Path" -#~ msgstr "مسیر نامعتبر." - -#, fuzzy -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "انتخاب شده را به دو تا تکثیر کن" - -#~ msgid "Create Area" -#~ msgstr "ساختن ناحیه" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "آرگومانهای سیگنال را ویرایش کن:" - -#~ msgid "Edit Variable:" -#~ msgstr "متغیر را ویرایش کن:" - -#~ msgid "Line:" -#~ msgstr "خط:" - -#~ msgid "Col:" -#~ msgstr "ستون:" - -#, fuzzy -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "" -#~ "PathFollow2D تنها در زمانی که به عنوان یک فرزند یک گره Path2D تنظیم شود " -#~ "کار میکند." - -#, fuzzy -#~ msgid "Add Split" -#~ msgstr "افزودن نقطه" - -#, fuzzy -#~ msgid "Invalid Split: " -#~ msgstr "مسیر نامعتبر." - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "برداشتن نقطه" - -#, fuzzy -#~ msgid "Add Node.." -#~ msgstr "افزودن گره" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "بزرگنمایی کمتر" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "بزرگنمایی بیشتر" - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "بزرگنمایی بیشتر" - -#~ msgid "Class List:" -#~ msgstr "فهرست کلاس:" - -#~ msgid "Public Methods" -#~ msgstr "روش های عمومی" - -#, fuzzy -#~ msgid "Property: " -#~ msgstr "ویژگی:" - -#, fuzzy -#~ msgid "Show current scene file." -#~ msgstr "ساختن پوشه" - -#, fuzzy -#~ msgid "Whole words" -#~ msgstr "عین کلمات (بدون هیچ کم و کاستی)" - -#, fuzzy -#~ msgid "Match case" -#~ msgstr "بین حروف کوچک و بزرگ لاتین تمایز قائل شو" - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "جستجوی کلاسها" - -#, fuzzy -#~ msgid "Convert To Lowercase" -#~ msgstr "اتصال به گره:" - -#~ msgid "Get" -#~ msgstr "گرفتن" - -#~ msgid "Move Anim Track Up" -#~ msgstr "انتقال ترک انیمشین به بالا" - -#~ msgid "Move Anim Track Down" -#~ msgstr "انتقال ترک انیمشین به پایین" - -#~ msgid "Set Transitions to:" -#~ msgstr "تنظیم گذارها به :" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "تغییر سبک الحاق ترک انیمیشن" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "تغییر حالت مقدار ترک انیمیشن" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "تغییر حالت بسته شدن ترک انیمشین" - -#~ msgid "Edit Selection Curve" -#~ msgstr "ویرایش منحنی انتخاب شده" - -#~ msgid "Anim Add Key" -#~ msgstr "یک کلید در انیمیشن اضافه کن" - -#~ msgid "In" -#~ msgstr "داخل" - -#~ msgid "Out" -#~ msgstr "خارج" - -#~ msgid "In-Out" -#~ msgstr "داخل-خارج" - -#~ msgid "Out-In" -#~ msgstr "خارج-داخل" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "کلید مقدار دارای نوع را در انیمیشن ایجاد کن" - -#~ msgid "Anim Add Call Track" -#~ msgstr "ترک فراخوانی را در انیمیشن اضافه کن" - -#~ msgid "Length (s):" -#~ msgstr "طول(ها):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "گام چسبندهی مکاننما (به ثانیه)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "حلقه را در انیمیشن فعال/غیر فعال کن." - -#~ msgid "Add new tracks." -#~ msgstr "ترکهای جدید اضافه کن." - -#~ msgid "Move current track up." -#~ msgstr "ترک جاری را به بالا جابجا کن." - -#~ msgid "Move current track down." -#~ msgstr "ترک جاری را به پایین جابجا کن." - -#~ msgid "Track tools" -#~ msgstr "ابزارهای ترک" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "ویرایش کلیدهای انفرادی با کلیک بر روی آنها را فعال کن." - -#~ msgid "Key" -#~ msgstr "کلید" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "توابع را در کدام گره فراخوانی کند؟" - -#~ msgid "Thanks!" -#~ msgstr "با تشکر !" - -#~ msgid "Run Script" -#~ msgstr "اجرای اسکریپت" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "گذاشتن محور در مکان موشواره" - -#~ msgid "Clear!" -#~ msgstr "حذف!" - -#~ msgid "Condition" -#~ msgstr "شرط" - -#~ msgid "Sequence" -#~ msgstr "دنباله" - -#~ msgid "Iterator" -#~ msgstr "تکرارکننده" - -#, fuzzy -#~ msgid "While" -#~ msgstr "تا زمانی که" - -#~ msgid "Return" -#~ msgstr "بازگشت" - -#~ msgid "Call" -#~ msgstr "فراخوانی" - -#~ msgid "Edit Variable" -#~ msgstr "ویرایش متغیر" - -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "نمیتواند شامل '/' یا ':' باشد" - -#~ msgid "Can't write file." -#~ msgstr "ناتوان در نوشتن پرونده." - -#~ msgid "Replace By" -#~ msgstr "جایگزین کردن با" - -#~ msgid "Backwards" -#~ msgstr "به سمت عقب" - -#~ msgid "Prompt On Replace" -#~ msgstr "موقع جایگزینی از کاربر بپرس" - -#~ msgid "Skip" -#~ msgstr "رد کردن" - -#~ msgid "Move Add Key" -#~ msgstr "کلید Add را جابجا کن" - -#, fuzzy -#~ msgid "Add Point to Line2D" -#~ msgstr "برو به خط" - -#~ msgid "Meta+" -#~ msgstr "+Meta" - -#, fuzzy -#~ msgid "Setting '" -#~ msgstr "ترجیحات" - -#, fuzzy -#~ msgid "Selection -> Duplicate" -#~ msgstr "تنها در قسمت انتخاب شده" - -#, fuzzy -#~ msgid "Selection -> Clear" -#~ msgstr "تنها در قسمت انتخاب شده" - -#~ msgid "" -#~ "Path property must point to a valid Viewport node to work. Such Viewport " -#~ "must be set to 'render target' mode." -#~ msgstr "" -#~ "دارایی Path باید به یک گره Viewport معتبر اشاره کند تا کار کند. این " -#~ "Viewport باید روی حالت render target تنظیم شود." - -#~ msgid "" -#~ "The Viewport set in the path property must be set as 'render target' in " -#~ "order for this sprite to work." -#~ msgstr "" -#~ "Viewport تنظیم شده در داریی path باید به صورت render target برای این " -#~ "اسپرایت تنظیم شود تا کار کند." - -#~ msgid "Method List For '%s':" -#~ msgstr "لیست متد برای '%s' :" - -#~ msgid "Return:" -#~ msgstr "بازگشت:" - -#~ msgid "Added:" -#~ msgstr "افزوده شده:" - -#~ msgid "Re-Importing" -#~ msgstr "در حال وارد کردن دوباره..." - -#~ msgid "The quick brown fox jumps over the lazy dog." -#~ msgstr "" -#~ "کلاغ فرز و چابک، ظهر هر روز با صدای ضخیم و عذابآورش بـه جستجوی یک مثقال " -#~ "گنج پنهان در حیاط رژه می رفت." - -#, fuzzy -#~ msgid "Tiles" -#~ msgstr "پرونده:" - -#~ msgid "Ctrl+" -#~ msgstr "+Ctrl" - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "دارایی Path باید به یک گره Particles2D معتبر اشاره کند تا کار کند." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SamplePlayer to play sound." -#~ msgstr "" -#~ "یک منبع SampleLibrary باید در دارایی samples ایجاد یا تنظیم شود تا " -#~ "SamplePlayer آهنگ را پخش کند." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SpatialSamplePlayer to play sound." -#~ msgstr "" -#~ "یک منبع SampleLibrary باید در دارایی samples ایجاد یا تنظیم شده باشد تا " -#~ "SpatialSamplePlayer آهنگ را پخش کند." - -#~ msgid "Replaced %d Ocurrence(s)." -#~ msgstr "تعداد %d رخداد جایگزین شد." - -#, fuzzy -#~ msgid "Create Android keystore" -#~ msgstr "پوشه ایجاد کن" - -#, fuzzy -#~ msgid "Organization" -#~ msgstr "انتقال" - -#, fuzzy -#~ msgid "Password" -#~ msgstr "گذرواژه:" - -#, fuzzy -#~ msgid "at least 6 characters" -#~ msgstr "کاراکترهای معتبر:" - -#~ msgid "BakedLightInstance does not contain a BakedLight resource." -#~ msgstr "BakedLightInstance محتوی یک منبع BakedLight نیست." - -#~ msgid "" -#~ "Custom node has no _get_output_port_unsequenced(idx,wmem), but " -#~ "unsequenced ports were specified." -#~ msgstr "" -#~ "گره سفارشی دارای get_output_port_unsequenced(idx,wmem)_ نیست، اما پورتهای " -#~ "نامتوالی مشخص شده است." diff --git a/editor/translations/fi.po b/editor/translations/fi.po index b3fc0d100b..a64ce5539f 100644 --- a/editor/translations/fi.po +++ b/editor/translations/fi.po @@ -1,6 +1,6 @@ # Finnish translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # basse <basse@roiske.org>, 2017. # Bastian Salmela <bastian.salmela@gmail.com>, 2017, 2018. @@ -17,7 +17,7 @@ msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-10-28 22:09+0000\n" +"PO-Revision-Date: 2021-12-11 06:25+0000\n" "Last-Translator: Tapani Niemi <tapani.niemi@kapsi.fi>\n" "Language-Team: Finnish <https://hosted.weblate.org/projects/godot-engine/" "godot/fi/>\n" @@ -26,7 +26,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.9-dev\n" +"X-Generator: Weblate 4.10-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -2115,14 +2115,30 @@ msgstr "Metodit" msgid "Theme Properties" msgstr "Teeman ominaisuudet" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Luetteloinnit" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "Värit" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Vakiot" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "Fontit" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "Kuvakkeet" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "Tyylit" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Luetteloinnit" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Ominaisuuksien kuvaukset" @@ -8564,18 +8580,6 @@ msgid "TextureRegion" msgstr "Tekstuurialue" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "Värit" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "Fontit" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "Kuvakkeet" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "Tyylilaatikot" @@ -13362,10 +13366,17 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" +"\"Hand Tracking\" on käyttökelpoinen ainoastaan kun \"Xr Mode\" asetuksen " +"arvo on \"Oculus Mobile VrAPI\" tai \"OpenXR\"." + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" -"\"Hand Tracking\" on käyttökelpoinen ainoastaan kun \"Xr Mode\" asetus on " -"\"Oculus Mobile VR\"." +"\"Passthrough\" on käyttökelpoinen ainoastaan kun \"Xr Mode\" asetuksen arvo " +"on \"OpenXR\"." #: platform/android/export/export_plugin.cpp msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." @@ -13375,6 +13386,27 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" +"\"Min Sdk\" vaihtaminen on mahdollista vain, kun \"Use Custom Build\" asetus " +"on päällä." + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" +"\"Target Sdk\" vaihtaminen on mahdollista vain, kun \"Use Custom Build\" " +"asetus on päällä." + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" +"\"Target Sdk\" versionumeron on oltava suurempi tai yhtä suuri kuin \"Min Sdk" +"\" versionumeron." + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14562,1672 +14594,3 @@ msgstr "Sijoitus uniformille." #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Vakioita ei voi muokata." - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "Tee lepoasento (luista)" - -#~ msgid "Bottom" -#~ msgstr "Pohja" - -#~ msgid "Left" -#~ msgstr "Vasen" - -#~ msgid "Right" -#~ msgstr "Oikea" - -#~ msgid "Front" -#~ msgstr "Etu" - -#~ msgid "Rear" -#~ msgstr "Taka" - -#~ msgid "Nameless gizmo" -#~ msgstr "Nimetön muokkain" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "\"Degrees Of Freedom\" on käyttökelpoinen ainoastaan kun \"Xr Mode\" " -#~ "asetus on \"Oculus Mobile VR\"." - -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "\"Focus Awareness\" on käyttökelpoinen ainoastaan kun \"Xr Mode\" asetus " -#~ "on \"Oculus Mobile VR\"." - -#~ msgid "Package Contents:" -#~ msgstr "Paketin sisältö:" - -#~ msgid "Singleton" -#~ msgstr "Singleton" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Poista profiili '%s'? (ei voi perua)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Käytössä olevat ominaisuudet:" - -#~ msgid "Enabled Features:" -#~ msgstr "Käytössä olevat ominaisuudet:" - -#~ msgid "Unset" -#~ msgstr "Poista asetus" - -#~ msgid "Class Options" -#~ msgstr "Luokan valinnat" - -#~ msgid "Set" -#~ msgstr "Aseta" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Tallennettiin %s muokattua resurssia." - -#~ msgid "Q&A" -#~ msgstr "Kysymykset ja vastaukset" - -#~ msgid "Status:" -#~ msgstr "Tila:" - -#~ msgid "Edit:" -#~ msgstr "Muokkaa:" - -#~ msgid "Redownload" -#~ msgstr "Lataa uudelleen" - -#~ msgid "(Installed)" -#~ msgstr "(Asennettu)" - -#~ msgid "(Missing)" -#~ msgstr "(Puuttuva)" - -#~ msgid "Request Failed." -#~ msgstr "Pyyntö epäonnistui." - -#~ msgid "Redirect Loop." -#~ msgstr "Loputon uudelleenohjaus." - -#~ msgid "Download Complete." -#~ msgstr "Lataus valmis." - -#~ msgid "Remove Template" -#~ msgstr "Poista malli" - -#~ msgid "Download Templates" -#~ msgstr "Lataa mallit" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "Valitse peilipalvelin listasta: (Shift+napsautus: Avaa selaimessa)" - -#~ msgid "Move to Trash" -#~ msgstr "Siirrä roskakoriin" - -#~ msgid "Expand All Properties" -#~ msgstr "Laajenna kaikki ominaisuudet" - -#~ msgid "Collapse All Properties" -#~ msgstr "Tiivistä kaikki ominaisuudet" - -#~ msgid "Copy Params" -#~ msgstr "Kopioi parametrit" - -#~ msgid "Open in Help" -#~ msgstr "Avaa ohjeessa" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "Pelikameran ohitus\n" -#~ "Peli ei ole käynnissä." - -#~ msgid "Drag: Rotate" -#~ msgstr "Vedä: Kierrä" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Paina 'V' vaihtaaksesi kääntökeskiötä. 'Shift+V' vetääksesi keskiötä " -#~ "(liikkuessa)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt + Hiiren oikea painike: Syvyyslistan valinta" - -#~ msgid "Clone Down" -#~ msgstr "Kloonaa alas" - -#~ msgid "Yaw" -#~ msgstr "Käännös (yaw)" - -#~ msgid "Size" -#~ msgstr "Koko" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "Vedä: Kierrä\n" -#~ "Alt + Vedä: Siirrä\n" -#~ "Alt + Hiiren oikea painike: Syvyyslistan valinta" - -#~ msgid "Sep.:" -#~ msgstr "Erotin:" - -#~ msgid "Add All" -#~ msgstr "Lisää kaikki" - -#~ msgid "Theme editing menu." -#~ msgstr "Teeman muokkausvalikko." - -#~ msgid "Create Empty Template" -#~ msgstr "Luo tyhjä pohja" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "Luo tyhjä editorin pohja" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "Luo nykyisestä editorin teemasta" - -#~ msgid "Data Type:" -#~ msgstr "Tietotyyppi:" - -#~ msgid "Theme File" -#~ msgstr "Teema-tiedosto" - -#~ msgid "Compiled" -#~ msgstr "Käännetty" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "Poista %d projektia listalta?\n" -#~ "Projektikansioiden sisältöjä ei muuteta." - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "Poista tämä projekti listalta?\n" -#~ "Projektikansion sisältöä ei muuteta." - -#~ msgid "Templates" -#~ msgstr "Mallit" - -#~ msgid "Add Remapped Path" -#~ msgstr "Lisää korvaavuuspolku" - -#~ msgid "Can not perform with the root node." -#~ msgstr "Ei voi tehdä juurisolmulle." - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "Ei voitu lukea käynnistyskuvan tiedostoa:" - -#~ msgid "Using default boot splash image." -#~ msgstr "Käytetään oletuskäynnistyskuvaa." - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Animaatiotoistin ei voi animoida itseään, ainoastaan muita toistimia." - -#~ msgid "Clipboard is empty" -#~ msgstr "Leikepöytä on tyhjä" - -#~ msgid "" -#~ "Godot editor was built without ray tracing support; lightmaps can't be " -#~ "baked.\n" -#~ "If you are using an Apple Silicon-based Mac, try forcing Rosetta " -#~ "emulation on Godot.app in the application settings\n" -#~ "then restart the editor." -#~ msgstr "" -#~ "Godot-editori on käännetty ilman ray tracing -tukea, joten lightmappeja " -#~ "ei voi kehittää.\n" -#~ "Jos käytät Apple Silicon -pohjaista Mac-tietokonetta, yritä pakottaa " -#~ "Rosetta-emulaatio Godot.app:iin sovelluksen asetuksissa\n" -#~ "ja käynnistä sitten editori uudestaan." - -#~ msgid "" -#~ "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -#~ msgstr "" -#~ "InterpolatedCamera on vanhentunut ja poistetaan Godot 4.0 versiossa." - -#~ msgid "No" -#~ msgstr "Ei" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "" -#~ "Tätä skeneä ei ole koskaan tallennettu. Tallenna ennen suorittamista?" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "ADB käynnistystiedostoa ei ole määritetty editorin asetuksissa." - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "OpenJDK jarsigner ei ole määritettynä editorin asetuksissa." - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "" -#~ "Mukautettu käännös edellyttää kelvollista Android SDK -polkua editorin " -#~ "asetuksissa." - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(Aikaa jäljellä: %d:%02d s)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "Piirretään meshejä: " - -#~ msgid "Lighting Meshes: " -#~ msgstr "Valaistaan meshejä: " - -#~ msgid "Search complete" -#~ msgstr "Haku valmis" - -#~ msgid "No commit message was provided" -#~ msgstr "Muutosviestiä ei annettu" - -#~ msgid "Add a commit message" -#~ msgstr "Lisää muutosviesti" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "Tästä sijainnista löytyy jo samanniminen tiedosto tai kansio." - -#~ msgid "Unable to complete APK alignment." -#~ msgstr "APK:n tasausta ei saatu suoritettua loppuun." - -#~ msgid "Unable to delete unaligned APK." -#~ msgstr "Tasaamattoman APK:n poisto ei onnistu." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Virhe tallennettaessa asettelua!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Editorin oletusasettelu ylikirjoitettu." - -#~ msgid "Move pivot" -#~ msgstr "Siirrä keskikohtaa" - -#~ msgid "Move anchor" -#~ msgstr "Siirrä ankkuri" - -#~ msgid "Resize CanvasItem" -#~ msgstr "Muokkaa CanvasItemin kokoa" - -#~ msgid "Polygon->UV" -#~ msgstr "Polygoni->UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV->Polygoni" - -#~ msgid "Add initial export..." -#~ msgstr "Lisää ensimmäinen vienti..." - -#~ msgid "Add previous patches..." -#~ msgstr "Lisää edelliset päivitykset..." - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "Poista päivitys '%s' listasta?" - -#~ msgid "Patches" -#~ msgstr "Päivitykset" - -#~ msgid "Make Patch" -#~ msgstr "Luo päivitys" - -#~ msgid "Pack File" -#~ msgstr "Pakkaa tiedosto" - -#~ msgid "No build apk generated at: " -#~ msgstr "Käännöksen apk:ta ei generoitu: " - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "Tiedostojärjestelmä- ja tuontitelakat" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "Vietäessä tai julkaistaessa, käynnistettävä ohjelma yrittää ottaa " -#~ "yhteyden tämän tietokoneen IP-osoitteeseen testaamista varten." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "" -#~ "Nykyistä skeneä ei ole vielä tallennettu. Tallenna se ennen suorittamista." - -#~ msgid "Revert" -#~ msgstr "Palauta" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Tätä toimintoa ei voida peruttaa. Palauta joka tapauksessa?" - -#~ msgid "Revert Scene" -#~ msgstr "Palauta skene" - -#~ msgid "Clear Script" -#~ msgstr "Poista skripti" - -#~ msgid "Issue Tracker" -#~ msgstr "Ilmoita viasta" - -#~ msgid "Request Docs" -#~ msgstr "Pyydä dokumentaatiota" - -#~ msgid "Help improve the Godot documentation by giving feedback." -#~ msgstr "Auta parantamaan Godotin dokumentaatiota antamalla palautetta." - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "Korvattu %d osuvuutta." - -#~ msgid "Create Static Convex Body" -#~ msgstr "Luo konveksi staattinen kappale" - -#~ msgid "Failed creating shapes!" -#~ msgstr "Muotojen luonti epäonnistui!" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Tälle luokalle ei vielä löydy kuvausta. Voit [color=$color][url=" -#~ "$url]auttaa luomalla sellaisen[/url][/color] tai [color=$color][url=" -#~ "$url2]pyytää sellaisen[/url][/color]." - -#~ msgid "enum " -#~ msgstr "enum " - -#~ msgid "Brief Description" -#~ msgstr "Lyhyt kuvaus" - -#~ msgid "Class Description" -#~ msgstr "Luokan kuvaus" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "Projektin vienti epäonnistui virhekoodilla %d." - -#~ msgid "Password:" -#~ msgstr "Salasana:" - -#~ msgid "Identifier segments must be of non-zero length." -#~ msgstr "Tunnisteen osiot eivät voi olla nollan pituisia." - -#~ msgid "A digit cannot be the first character in a Identifier segment." -#~ msgstr "Identifier osion ensimmäinen merkki ei voi olla numero." - -#~ msgid "" -#~ "The character '%s' cannot be the first character in a Identifier segment." -#~ msgstr "Merkki '%s' ei voi olla Identifier osion ensimmäinen merkki." - -#~ msgid "The Identifier must have at least one '.' separator." -#~ msgstr "Identifier osiossa täytyy olla vähintään yksi '.' erotinmerkki." - -#~ msgid "Pause the scene" -#~ msgstr "Keskeytä skenen suorittaminen hetkellisesti" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Control+" -#~ msgstr "Control+" - -#~ msgid "Snap to Grid" -#~ msgstr "Tartu ruudukkoon" - -#~ msgid "Add input +" -#~ msgstr "Lisää tulo +" - -#~ msgid "Language" -#~ msgstr "Kieli" - -#~ msgid "Inherits" -#~ msgstr "Perii" - -#~ msgid "Base Type:" -#~ msgstr "Kantatyyppi:" - -#~ msgid "Available Nodes:" -#~ msgstr "Saatavilla olevat solmut:" - -#~ msgid "Input" -#~ msgstr "Syöte" - -#~ msgid "Methods:" -#~ msgstr "Metodit:" - -#~ msgid "Theme Properties:" -#~ msgstr "Teeman ominaisuudet:" - -#~ msgid "Enumerations:" -#~ msgstr "Enumeraatiot:" - -#~ msgid "Constants:" -#~ msgstr "Vakiot:" - -#~ msgid "Class Description:" -#~ msgstr "Luokan kuvaus:" - -#~ msgid "Property Descriptions:" -#~ msgstr "Ominaisuuksien kuvaukset:" - -#~ msgid "Method Descriptions:" -#~ msgstr "Metodien kuvaukset:" - -#~ msgid "" -#~ "This will install the Android project for custom builds.\n" -#~ "Note that, in order to use it, it needs to be enabled per export preset." -#~ msgstr "" -#~ "Tämä asentaa Android-projektin mukautettuja käännöksiä varten.\n" -#~ "Huomaa, että käyttääksesi sitä, se täytyy ottaa käyttöön kussakin " -#~ "vientiesiasetuksessa." - -#~ msgid "Reverse sorting." -#~ msgstr "Käännä lajittelu." - -#~ msgid "Delete Node(s)?" -#~ msgstr "Poista solmu(t)?" - -#~ msgid "No Matches" -#~ msgstr "Ei osumia" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "Tiedostoa file_type_cache.cch ei voitu avata kirjoittamista varten. " -#~ "Välimuistia ei tallenneta!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "" -#~ "Tiedostoa '%s' ei voida avata, koska sitä ei näytä löytyvän " -#~ "tiedostojärjestelmästäsi!" - -#~ msgid "Error loading image:" -#~ msgstr "Virhe ladattaessa kuvaa:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "Kuvassa ei ole pikseleitä, joiden läpinäkyvyys on enemmän kuin 128…" - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "Lähteellä ei ole kiinteitä tahkoja täytettäväksi." - -#~ msgid "Couldn't map area." -#~ msgstr "Aluetta ei voitu kartoittaa." - -#~ msgid "Faces contain no area!" -#~ msgstr "Pinnat eivät sisällä aluetta!" - -#~ msgid "No faces!" -#~ msgstr "Ei pintoja!" - -#~ msgid "Error: could not load file." -#~ msgstr "Virhe: ei voitu ladata tiedostoa." - -#~ msgid "Error could not load file." -#~ msgstr "Virhe - Ei voitu ladata tiedostoa." - -#~ msgid "Doppler Enable" -#~ msgstr "Doppler käytössä" - -#~ msgid "Select Mode (Q)" -#~ msgstr "Valintatila (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "Siirtotila (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "Kääntötila (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "Skaalaustila (R)" - -#~ msgid "Local Coords" -#~ msgstr "Paikalliset koordinaatit" - -#~ msgid "Snap Mode (%s)" -#~ msgstr "Tarttumisen tila (%s)" - -#~ msgid "Tool Select" -#~ msgstr "Valintatyökalu" - -#~ msgid "Tool Move" -#~ msgstr "Siirtotyökalu" - -#~ msgid "Tool Rotate" -#~ msgstr "Kiertotyökalu" - -#~ msgid "Tool Scale" -#~ msgstr "Skaalaustyökalu" - -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "" -#~ "Poista kaikki puuttuvat projektit listalta? (Kansioiden sisältöjä ei " -#~ "muuteta)" - -#~ msgid "Project List" -#~ msgstr "Projektiluettelo" - -#~ msgid "Exit" -#~ msgstr "Poistu" - -#~ msgid "Could not execute PVRTC tool:" -#~ msgstr "PVRTC-työkalun suoritus ei onnistunut:" - -#~ msgid "Can't load back converted image using PVRTC tool:" -#~ msgstr "Muunnettua kuva ei voitu ladata takaisin PVRTC-työkalulla:" - -#~ msgid "Error initializing FreeType." -#~ msgstr "Virhe FreeType:n alustamisessa." - -#~ msgid "Unknown font format." -#~ msgstr "Tuntematon fonttimuoto." - -#~ msgid "Error loading font." -#~ msgstr "Virhe fontin latauksessa." - -#~ msgid "Invalid font size." -#~ msgstr "Virheellinen fonttikoko." - -#~ msgid "Previous Folder" -#~ msgstr "Edellinen kansio" - -#~ msgid "Next Folder" -#~ msgstr "Seuraava kansio" - -#~ msgid "Automatically Open Screenshots" -#~ msgstr "Avaa kuvakaappaukset automaattisesti" - -#~ msgid "Open in an external image editor." -#~ msgstr "Avaa ulkoisessa kuvankäsittelyohjelmassa." - -#~ msgid "Reverse" -#~ msgstr "Käänteinen" - -#~ msgid "Mirror X" -#~ msgstr "Peilaa X" - -#~ msgid "Mirror Y" -#~ msgstr "Peilaa Y" - -#~ msgid "Generating solution..." -#~ msgstr "Luodaan ratkaisua..." - -#~ msgid "Generating C# project..." -#~ msgstr "Luodaan C# projekti..." - -#~ msgid "Failed to create solution." -#~ msgstr "Ratkaisun luonti epäonnistui." - -#~ msgid "Failed to save solution." -#~ msgstr "Ratkaisun tallennus epäonnistui." - -#~ msgid "Failed to create C# project." -#~ msgstr "C# projektin luonti epäonnistui." - -#~ msgid "Mono" -#~ msgstr "Mono" - -#~ msgid "About C# support" -#~ msgstr "Lisätietoja C# tuesta" - -#~ msgid "Create C# solution" -#~ msgstr "Luo C# ratkaisu" - -#~ msgid "Builds" -#~ msgstr "Käännökset" - -#~ msgid "Build Project" -#~ msgstr "Käännä projekti" - -#~ msgid "View log" -#~ msgstr "Näytä loki" - -#~ msgid "WorldEnvironment needs an Environment resource." -#~ msgstr "WorldEnvironment tarvitsee Environment resurssin." - -#~ msgid "Enabled Classes" -#~ msgstr "Käytössä olevat luokat" - -#~ msgid "Update Always" -#~ msgstr "Päivitä aina" - -#~ msgid "'light_uv' input parameter for light shader mode." -#~ msgstr "'light_uv' syöteparametri valosävytintilaan." - -#~ msgid "'light_vec' input parameter for light shader mode." -#~ msgstr "'light_vec' syöteparametri valosävytintilaan." - -#~ msgid "'shadow_color' input parameter for light shader mode." -#~ msgstr "'shadow_color' syöteparametri valosävytintilaan." - -#~ msgid "'extra' input parameter for vertex shader mode." -#~ msgstr "'extra' syöteparametri kärkipistesävytintilaan." - -#~ msgid "'projection' input parameter for vertex shader mode." -#~ msgstr "'projection' syöteparametri kärkipistesävytintilaan." - -#~ msgid "'vertex' input parameter for vertex shader mode." -#~ msgstr "'vertex' syöteparametri kärkipistesävytintilaan." - -#~ msgid "'world' input parameter for vertex shader mode." -#~ msgstr "'world' syöteparametri kärkipistesävytintilaan." - -#~ msgid "'active' input parameter for vertex shader mode." -#~ msgstr "'active' syöteparametri kärkipistesävytintilaan." - -#~ msgid "'alpha' input parameter for vertex shader mode." -#~ msgstr "'alpha' syöteparametri kärkipistesävytintilaan." - -#~ msgid "'color' input parameter for vertex shader mode." -#~ msgstr "'color' syöteparametri kärkipistesävytintilaan." - -#~ msgid "'custom_alpha' input parameter for vertex shader mode." -#~ msgstr "'custom_alpha' syöteparametri kärkipistesävytintilaan." - -#~ msgid "'delta' input parameter for vertex shader mode." -#~ msgstr "'delta' syöteparametri kärkipistesävytintilaan." - -#~ msgid "'emission_transform' input parameter for vertex shader mode." -#~ msgstr "'emission_transform' syöteparametri kärkipistesävytintilaan." - -#~ msgid "'index' input parameter for vertex shader mode." -#~ msgstr "'index' syöteparametri kärkipistesävytintilaan." - -#~ msgid "'lifetime' input parameter for vertex shader mode." -#~ msgstr "'lifetime' syöteparametri kärkipistesävytintilaan." - -#~ msgid "'restart' input parameter for vertex shader mode." -#~ msgstr "'restart' syöteparametri kärkipistesävytintilaan." - -#~ msgid "'time' input parameter for vertex shader mode." -#~ msgstr "'time' syöteparametri kärkipistesävytintilaan." - -#~ msgid "'transform' input parameter for vertex shader mode." -#~ msgstr "'transform' syöteparametri kärkipistesävytintilaan." - -#~ msgid "'velocity' input parameter for vertex shader mode." -#~ msgstr "'velocity' syöteparametri kärkipistesävytintilaan." - -#~ msgid "Raw Mode" -#~ msgstr "Raakatila" - -#~ msgid "Path to Node:" -#~ msgstr "Polku solmuun:" - -#~ msgid "Delete selected files?" -#~ msgstr "Poista valitut tiedostot?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "Tiedostoa 'res://default_bus_layout.tres' ei löytynyt." - -#~ msgid "Go to parent folder" -#~ msgstr "Siirry yläkansioon" - -#~ msgid "Open Scene(s)" -#~ msgstr "Avaa skene tai skenejä" - -#~ msgid "Previous Directory" -#~ msgstr "Edellinen hakemisto" - -#~ msgid "Next Directory" -#~ msgstr "Seuraava hakemisto" - -#~ msgid "Ease in" -#~ msgstr "Kiihdytä alussa" - -#~ msgid "Ease out" -#~ msgstr "Hidasta lopussa" - -#~ msgid "Create Convex Static Body" -#~ msgstr "Luo konveksi staattinen kappale" - -#~ msgid "CheckBox Radio1" -#~ msgstr "Valintaruudun valinta 1" - -#~ msgid "CheckBox Radio2" -#~ msgstr "Valintaruudun valinta 2" - -#~ msgid "Create folder" -#~ msgstr "Luo kansio" - -#~ msgid "Custom Node" -#~ msgstr "Mukautettu solmu" - -#~ msgid "Invalid Path" -#~ msgstr "Virheellinen polku" - -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "Kahdenna valinta" - -#~ msgid "Create Area" -#~ msgstr "Luo alue" - -#~ msgid "Create Exterior Connector" -#~ msgstr "Luo ulkoliitin" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "Muokkaa signaalin argumentteja:" - -#~ msgid "Edit Variable:" -#~ msgstr "Muokkaa muuttujaa:" - -#~ msgid "Snap (s): " -#~ msgstr "Askellus (s): " - -#~ msgid "Insert keys." -#~ msgstr "Lisää avainruutuja." - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "Luo valituista skeneistä ilmentymä valitun solmun alle." - -#~ msgid "Font Size:" -#~ msgstr "Fontin koko:" - -#~ msgid "Line:" -#~ msgstr "Rivi:" - -#~ msgid "Col:" -#~ msgstr "Sarake:" - -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "" -#~ "OrientedPathFollow toimii ainoastaan ollessaan asetettuna Path solmun " -#~ "alle." - -#~ msgid "Split point with itself." -#~ msgstr "Jaa piste itsellään." - -#~ msgid "Split can't form an existing edge." -#~ msgstr "Jako ei voi muodostaa olemassa olevaa reunaa." - -#~ msgid "Add Split" -#~ msgstr "Lisää jako" - -#~ msgid "Remove Split" -#~ msgstr "Poista jako" - -#~ msgid "Poly" -#~ msgstr "Polygoni" - -#~ msgid "Splits" -#~ msgstr "Jaot" - -#~ msgid "Connect two points to make a split." -#~ msgstr "Yhdistä kaksi pistettä luodaksesi jaon." - -#~ msgid "Add Node.." -#~ msgstr "Lisää solmu..." - -#~ msgid "Create from scene?" -#~ msgstr "Luo skenestä?" - -#~ msgid "Create Poly" -#~ msgstr "Luo polygoni" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "Luo uusi polygoni tyhjästä" - -#~ msgid "Zoom out" -#~ msgstr "Loitonna" - -#~ msgid "Zoom in" -#~ msgstr "Lähennä" - -#~ msgid "Create Poly3D" -#~ msgstr "Luo Poly3D" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "Tälle solmulle ei ole OccluderPolygon2D resurssia.\n" -#~ "Luodaanko ja asetetaanko sellainen?" - -#~ msgid "LMB: Move Point." -#~ msgstr "VHP: Siirrä pistettä." - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl+Vasen hiirennappi: Puolita osa." - -#~ msgid "RMB: Erase Point." -#~ msgstr "OHP: Pyyhi piste." - -#~ msgid "New TextFile" -#~ msgstr "Uusi tekstitiedosto" - -#~ msgid "Save Theme As" -#~ msgstr "Tallenna teema nimellä" - -#~ msgid "<None>" -#~ msgstr "<Ei mitään>" - -#~ msgid "" -#~ "Select sub-tile to use as icon, this will be also used on invalid " -#~ "autotile bindings." -#~ msgstr "" -#~ "Valitse aliruutu, jota käytetään ikonina ja myös virheellisten " -#~ "automaattiruudutusten ilmaisemiseen." - -#~ msgid "Zoom:" -#~ msgstr "Lähennä:" - -#~ msgid "Are you sure you want to remove all connections from the \"" -#~ msgstr "Oletko varma, että haluat poistaa kaikki yhteydet kohteesta \"" - -#~ msgid "Class List:" -#~ msgstr "Luokkaluettelo:" - -#~ msgid "Public Methods" -#~ msgstr "Julkiset metodit" - -#~ msgid "Public Methods:" -#~ msgstr "Julkiset metodit:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "Käyttöliittymäteeman osat:" - -#~ msgid "Property: " -#~ msgstr "Ominaisuus: " - -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Merkitse kansio suosikkeihin." - -#~ msgid "Show current scene file." -#~ msgstr "Näytä nykyinen skenetiedosto." - -#~ msgid "Enter tree-view." -#~ msgstr "Mene puunäkymään." - -#~ msgid "Whole words" -#~ msgstr "Kokonaisia sanoja" - -#~ msgid "Match case" -#~ msgstr "Huomioi kirjainkoko" - -#~ msgid "Ok" -#~ msgstr "Ok" - -#~ msgid "Show In File System" -#~ msgstr "Näytä tiedostojärjestelmässä" - -#~ msgid "Search the class hierarchy." -#~ msgstr "Etsi luokkahierarkiasta." - -#~ msgid "Search in files" -#~ msgstr "Hae tiedostoista" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "" -#~ "Sisäänrakennettuja skriptejä voi muokata ainoastaan, kun skene, johon ne " -#~ "kuuluvat, on ladattu" - -#~ msgid "Convert To Uppercase" -#~ msgstr "Muunna isoiksi kirjaimiksi" - -#~ msgid "Convert To Lowercase" -#~ msgstr "Muunna pieniksi kirjaimiksi" - -#~ msgid "Rotate 0 degrees" -#~ msgstr "Käännä 0 astetta" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "Käännä 90 astetta" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "Käännä 180 astetta" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "Käännä 270 astetta" - -#~ msgid "Errors:" -#~ msgstr "Virheet:" - -#~ msgid "Stack Trace (if applicable):" -#~ msgstr "Metodipino (jos soveltuva):" - -#~ msgid "Bake!" -#~ msgstr "Kehitä!" - -#~ msgid "Bake the navigation mesh." -#~ msgstr "Kehitä navigointiverkko." - -#~ msgid "Get" -#~ msgstr "Get" - -#~ msgid "Change RGB Constant" -#~ msgstr "Muuta RGB-värivakiota" - -#~ msgid "Change Vec Scalar Operator" -#~ msgstr "Muuta vektori- ja skalaarioperaattoria" - -#~ msgid "Change RGB Operator" -#~ msgstr "Muuta RGB-värioperaattoria" - -#~ msgid "Toggle Rot Only" -#~ msgstr "Vain kierto" - -#~ msgid "Change Vec Function" -#~ msgstr "Muuta vektorifunktiota" - -#~ msgid "Change Vec Uniform" -#~ msgstr "Muuta vektoriuniformia" - -#~ msgid "Change RGB Uniform" -#~ msgstr "Muuta RGB-uniformia" - -#~ msgid "Change Default Value" -#~ msgstr "Muuta oletusarvoa" - -#~ msgid "Change XForm Uniform" -#~ msgstr "Muuta XForm-uniformia" - -#~ msgid "Change Cubemap Uniform" -#~ msgstr "Muuta Cubemap-uniformia" - -#~ msgid "Change Comment" -#~ msgstr "Vaihda kommenttia" - -#~ msgid "Add/Remove to Color Ramp" -#~ msgstr "Lisää tai poista väriluiskalta" - -#~ msgid "Modify Color Ramp" -#~ msgstr "Muokkaa väriliukumaa" - -#~ msgid "Add/Remove to Curve Map" -#~ msgstr "Lisää tai poista käyräkartalta" - -#~ msgid "Modify Curve Map" -#~ msgstr "Muokkaa käyräkarttaa" - -#~ msgid "Connect Graph Nodes" -#~ msgstr "Yhdistä graafin solmut" - -#~ msgid "Remove Shader Graph Node" -#~ msgstr "Poista sävytingraafin solmu" - -#~ msgid "Move Shader Graph Node" -#~ msgstr "Siirrä sävytingraafin solmua" - -#~ msgid "Duplicate Graph Node(s)" -#~ msgstr "Kahdenna graafin solmut(t)" - -#~ msgid "Error: Cyclic Connection Link" -#~ msgstr "Virhe: syklinen kytkentä" - -#~ msgid "Error: Missing Input Connections" -#~ msgstr "Virhe: syöteliitännät puuttuvat" - -#~ msgid "Add Shader Graph Node" -#~ msgstr "Lisää sävytingraafin solmu" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Siirrä animaatioraita ylös" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Siirrä animaatioraita alas" - -#~ msgid "Set Transitions to:" -#~ msgstr "Aseta siirtymät:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Animaatioraita: muuta interpolaatiota" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Animaatioraita: muuta arvon tilaa" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Animaatioraita: muuta kierron tilaa" - -#~ msgid "Edit Node Curve" -#~ msgstr "Muokkaa solmun käyrää" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Muokkaa valinnan käyrää" - -#~ msgid "Anim Add Key" -#~ msgstr "Animaatio: lisää avain" - -#~ msgid "In" -#~ msgstr "Sisään" - -#~ msgid "Out" -#~ msgstr "Ulos" - -#~ msgid "In-Out" -#~ msgstr "Sisältä ulos" - -#~ msgid "Out-In" -#~ msgstr "Ulkoa sisään" - -#~ msgid "Change Anim Len" -#~ msgstr "Muuta animaation pituutta" - -#~ msgid "Change Anim Loop" -#~ msgstr "Vaihda animaation kierto" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Animaatio: Luo tyypitetty arvoavain" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Animaatio: Lisää kutsuraita" - -#~ msgid "Length (s):" -#~ msgstr "Pituus (s):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "Kohdistimen askelrajoitin (sekunneissa)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Ota käyttöön tai poista käytöstä animaation toisto." - -#~ msgid "Add new tracks." -#~ msgstr "Lisää uusia raitoja." - -#~ msgid "Move current track up." -#~ msgstr "Siirrä nykyinen raita ylös." - -#~ msgid "Move current track down." -#~ msgstr "Siirrä nykyinen raita alas." - -#~ msgid "Track tools" -#~ msgstr "Raidan työkalut" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Mahdollistaa avainten muokkaamisen napsauttamalla niitä." - -#~ msgid "Key" -#~ msgstr "Avain" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Mistä solmusta kutsutaan funktiota?" - -#~ msgid "Thanks!" -#~ msgstr "Kiitos!" - -#~ msgid "I see..." -#~ msgstr "Ymmärrän..." - -#~ msgid "Ugh" -#~ msgstr "Äh" - -#~ msgid "Run Script" -#~ msgstr "Suorita skripti" - -#~ msgid "Stop Profiling" -#~ msgstr "Lopeta profilointi" - -#~ msgid "Start Profiling" -#~ msgstr "Aloita profilointi" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "Oletus (sama kuin editori)" - -#~ msgid "Create new animation in player." -#~ msgstr "Luo uusi animaatio soittimessa." - -#~ msgid "Load animation from disk." -#~ msgstr "Lataa animaatio levyltä." - -#~ msgid "Load an animation from disk." -#~ msgstr "Lataa animaatio levyltä." - -#~ msgid "Save the current animation" -#~ msgstr "Tallenna nykyinen animaatio" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "Muokkaa kohteen sulautusaikoja" - -#~ msgid "Copy Animation" -#~ msgstr "Kopioi animaatio" - -#~ msgid "Fetching:" -#~ msgstr "Noudetaan:" - -#~ msgid "prev" -#~ msgstr "edellinen" - -#~ msgid "next" -#~ msgstr "seuraava" - -#~ msgid "last" -#~ msgstr "viimeinen" - -#~ msgid "Edit IK Chain" -#~ msgstr "Muokkaa IK ketjua" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "Vedä keskipistettä hiiren sijainnista" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "Aseta piste hiiren kohdalle" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "Lisää/poista väriliukuman piste" - -#~ msgid "OK :(" -#~ msgstr "Asia kunnossa :(" - -#~ msgid "Skeleton Gizmo visibility" -#~ msgstr "Luurankomuokkaimen näkyvyys" - -#~ msgid "StyleBox Preview:" -#~ msgstr "StyleBoxin esikatselu:" - -#~ msgid "Texture Region Editor" -#~ msgstr "Tekstuurialueen editori" - -#~ msgid "Erase selection" -#~ msgstr "Tyhjennä valinta" - -#~ msgid "Item name or ID:" -#~ msgstr "Nimi tai ID:" - -#~ msgid "Export templates for this platform are missing/corrupted: " -#~ msgstr "Vientimallit tälle alustalle puuttuvat tai ovat viallisia: " - -#~ msgid "Button 8" -#~ msgstr "Painike 8" - -#~ msgid "Button 9" -#~ msgstr "Painike 9" - -#~ msgid "Discard Instancing" -#~ msgstr "Hylkää ilmentymä" - -#~ msgid "Clear!" -#~ msgstr "Tyhjennä!" - -#~ msgid "Toggle Spatial Visible" -#~ msgstr "Aseta Spatial näkyvyys päälle/pois" - -#~ msgid "Condition" -#~ msgstr "Ehtolause" - -#~ msgid "Sequence" -#~ msgstr "Sarja" - -#~ msgid "Switch" -#~ msgstr "Valinta (Switch)" - -#~ msgid "Iterator" -#~ msgstr "Iteraattori" - -#~ msgid "While" -#~ msgstr "Kun (While)" - -#~ msgid "Return" -#~ msgstr "Palauta" - -#~ msgid "Call" -#~ msgstr "Kutsu" - -#~ msgid "Edit Variable" -#~ msgstr "Muokkaa muuttujaa" - -#~ msgid "Edit Signal" -#~ msgstr "Muokkaa signaalia" - -#~ msgid "Invalid action (anything goes but '/' or ':')." -#~ msgstr "Virheellinen tapahtuma (muut käy, paitsi '/' tai ':')." - -#, fuzzy -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "Yhdistä Nodeen:" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "Paketti sisältää viallisen version.txt tiedoston. 'Revision' ei ole " -#~ "hyväksytty tunniste." - -#, fuzzy -#~ msgid "Can't write file." -#~ msgstr "Ei voitu kirjoittaa tiedostoa:\n" - -#, fuzzy -#~ msgid "Couldn't get project.godot in project path." -#~ msgstr "Ei voitu luoda godot.cfg -tiedostoa projektin polkuun." - -#~ msgid "Replace By" -#~ msgstr "Korvaa" - -#~ msgid "Backwards" -#~ msgstr "Taaksepäin" - -#~ msgid "Prompt On Replace" -#~ msgstr "Kysy vaihdettaessa" - -#~ msgid "Skip" -#~ msgstr "Ohita" - -#~ msgid "" -#~ "Your project will be created in a non empty folder (you might want to " -#~ "create a new folder)." -#~ msgstr "" -#~ "Projektillesi valitsema hakemisto ei ole tyhjä (ehkä haluaisit luoda " -#~ "uuden hakemiston)." - -#~ msgid "That's a BINGO!" -#~ msgstr "Sehän on BINGO!" - -#, fuzzy -#~ msgid "preview" -#~ msgstr "Esikatselu" - -#, fuzzy -#~ msgid "Move Add Key" -#~ msgstr "Siirrä lisäyspainiketta" - -#~ msgid "Create Subscription" -#~ msgstr "Luo tilaus" - -#~ msgid "List:" -#~ msgstr "Lista:" - -#~ msgid "Set Emission Mask" -#~ msgstr "Aseta emissiomaski" - -#~ msgid "Clear Emitter" -#~ msgstr "Tyhjennä säteilijä/lähetin" - -#, fuzzy -#~ msgid "Fold Line" -#~ msgstr "Mene riville" - -#~ msgid " " -#~ msgstr " " - -#~ msgid "Sections:" -#~ msgstr "Osiot:" - -#~ msgid "Cannot navigate to '" -#~ msgstr "Ei voida navigoida '" - -#, fuzzy -#~ msgid "" -#~ "\n" -#~ "Source: " -#~ msgstr "Lähde:" - -#~ msgid "Remove Point from Line2D" -#~ msgstr "Poista piste Line2D:stä" - -#~ msgid "Add Point to Line2D" -#~ msgstr "Lisää piste Line2D:hen" - -#~ msgid "Move Point in Line2D" -#~ msgstr "Siirrä pistettä LIne 2D:ssä" - -#, fuzzy -#~ msgid "Setting '" -#~ msgstr "Asetukset" - -#, fuzzy -#~ msgid "Selection -> Duplicate" -#~ msgstr "Pelkkä valinta" - -#, fuzzy -#~ msgid "Selection -> Clear" -#~ msgstr "Pelkkä valinta" - -#~ msgid "Return:" -#~ msgstr "Palaa:" - -#~ msgid "Added:" -#~ msgstr "Lisätty:" - -#~ msgid "Error loading scene." -#~ msgstr "Virhe ladatessa Sceneä." - -#~ msgid "Re-Import" -#~ msgstr "Tuo uudelleen" - -#, fuzzy -#~ msgid "Please wait for scan to complete." -#~ msgstr "Ole hyvä ja odota läpikäynnin valmistumista." - -#~ msgid "Current scene must be saved to re-import." -#~ msgstr "Nykyinen Scene täytyy tallentaa, jotta se voidaan tuoda uudelleen." - -#~ msgid "Re-Importing" -#~ msgstr "Tuodaan uudelleen" - -#~ msgid "Re-Import Changed Resources" -#~ msgstr "Tuo uudelleen vaihtuneet resurssit" - -#, fuzzy -#~ msgid "" -#~ "\n" -#~ "Status: Needs Re-Import" -#~ msgstr "Tallenna & tuo uudelleen" - -#~ msgid "Same source and destination files, doing nothing." -#~ msgstr "Sama lähde ja kohdetiedosto, ei toimenpiteitä." - -#~ msgid "Same source and destination paths, doing nothing." -#~ msgstr "Sama lähde ja kohdepolku, ei toimenpiteitä." - -#~ msgid "Can't move directories to within themselves." -#~ msgstr "Hakemisto(j)a ei voida siirtää itseensä." - -#~ msgid "Pick New Name and Location For:" -#~ msgstr "Valitse uusi nimi ja sijainti:" - -#~ msgid "Info" -#~ msgstr "Tietoja" - -#~ msgid "Target path is empty." -#~ msgstr "Kohdepolku on tyhjä." - -#~ msgid "Target path must exist." -#~ msgstr "Kohdepolku täytyy olla olemassa." - -#~ msgid "Accept" -#~ msgstr "Hyväksy" - -#~ msgid "No source font file!" -#~ msgstr "Ei fontin lähdetiedostoa!" - -#, fuzzy -#~ msgid "" -#~ "Invalid file extension.\n" -#~ "Please use .font." -#~ msgstr "" -#~ "Virheellinen tiedostolaajennus.\n" -#~ "Käytä .fnt -tiedostoa." - -#~ msgid "Couldn't save font." -#~ msgstr "Fonttia ei voitu tallentaa." - -#~ msgid "The quick brown fox jumps over the lazy dog." -#~ msgstr "Ovela kettu punaturkki laiskan koiran takaa kurkki." - -#~ msgid "Options:" -#~ msgstr "Asetukset:" - -#~ msgid "Font Import" -#~ msgstr "Fontin tuonti" - -#~ msgid "" -#~ "This file is already a Godot font file, please supply a BMFont type file " -#~ "instead." -#~ msgstr "" -#~ "Tämä tiedosto on jo Godotin fonttitiedosto, ole hyvä ja syötä BMFont -" -#~ "tiedosto." - -#~ msgid "Failed opening as BMFont file." -#~ msgstr "BMFont -tiedoston avaus epäonnistui." - -#~ msgid "Invalid font custom source." -#~ msgstr "Virheellinen fontin lähde." - -#~ msgid "New Clip" -#~ msgstr "Uusi klippi" - -#~ msgid "Flags" -#~ msgstr "Liput" - -#~ msgid "Optimizer" -#~ msgstr "Optimoija" - -#~ msgid "Max Angle" -#~ msgstr "Enimmäiskulma" - -#, fuzzy -#~ msgid "Start(s)" -#~ msgstr "Alkaa" - -#~ msgid "Source path is empty." -#~ msgstr "Lähdepolku on tyhjä." - -#~ msgid "Error importing scene." -#~ msgstr "Virhe tuotaessa Sceneä." - -#~ msgid "Import 3D Scene" -#~ msgstr "Tuo 3D Scene" - -#~ msgid "Same as Target Scene" -#~ msgstr "Sama kuin kohdescene" - -#~ msgid "Shared" -#~ msgstr "Jaettu" - -#, fuzzy -#~ msgid "Target Texture Folder:" -#~ msgstr "Kohdetekstuurin kansio:" - -#~ msgid "The Following Files are Missing:" -#~ msgstr "Seuraavat tiedostot puuttuvat:" - -#~ msgid "Import Anyway" -#~ msgstr "Tuo joka tapauksessa" - -#~ msgid "Edited scene has not been saved, open imported scene anyway?" -#~ msgstr "" -#~ "Muokattua Sceneä ei ole tallennettu, avaa tuotu Scene joka tapauksessa?" - -#~ msgid "Import Image:" -#~ msgstr "Tuo kuva:" - -#~ msgid "Uncompressed" -#~ msgstr "Purettu" - -#~ msgid "Compress Lossless (PNG)" -#~ msgstr "Pakkaa häviötön (PNG)" - -#~ msgid "Compress Lossy (WebP)" -#~ msgstr "Pakkaa häviöllinen (WebP)" - -#~ msgid "Compress (VRAM)" -#~ msgstr "Pakkaa (VRAM)" - -#~ msgid "Texture Compression Quality (WebP):" -#~ msgstr "Tekstuurin pakkauksen latu (WebP):" - -#~ msgid "At least one file needed for Atlas." -#~ msgstr "Ainakin yksi tiedosto tarvitaan Atlas-kuvaa varten." - -#~ msgid "Error importing:" -#~ msgstr "Virhe tuotaessa:" - -#~ msgid "Max Texture Size:" -#~ msgstr "Tekstuurin enimmäiskoko:" - -#~ msgid "Import Textures for Atlas (2D)" -#~ msgstr "Tuo tekstuuri Atlakselle (2D)" - -#~ msgid "Large Texture" -#~ msgstr "Suurikokoinen tekstuuri" - -#~ msgid "Import Large Textures (2D)" -#~ msgstr "Tuo suurikokoisia tekstuureita (2D)" - -#~ msgid "Source Texture" -#~ msgstr "Lähdetekstuuri" - -#~ msgid "Source Texture(s)" -#~ msgstr "Lähdetekstuuri(t)" - -#~ msgid "Import Textures" -#~ msgstr "Tuo tekstuurit" - -#~ msgid "2D Texture" -#~ msgstr "2D tekstuuri" - -#~ msgid "3D Texture" -#~ msgstr "Kolmiulotteinen tekstuuri" - -#~ msgid "Atlas Texture" -#~ msgstr "Atlastekstuuri" - -#~ msgid "" -#~ "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files " -#~ "to the project." -#~ msgstr "" -#~ "HUOMAA: 2D tekstuurin tuonti ei ole pakollista. Voit kopioida png/jpg -" -#~ "tiedostot projektiin." - -#~ msgid "Crop empty space." -#~ msgstr "Leikkaa pois tyhjä tila." - -#~ msgid "Import Large Texture" -#~ msgstr "Tuo suurikokoinen tekstuuri" - -#~ msgid "Load Source Image" -#~ msgstr "Lataa lähdekuva" - -#, fuzzy -#~ msgid "Slicing" -#~ msgstr "Siivutus" - -#~ msgid "Couldn't save large texture:" -#~ msgstr "Isoa tekstuuria ei voitu tallentaa:" - -#, fuzzy -#~ msgid "Build Atlas For:" -#~ msgstr "Luo atlas:" - -#~ msgid "Loading Image:" -#~ msgstr "Ladataan kuvaa:" - -#~ msgid "Converting Images" -#~ msgstr "Muunnetaan kuvia" - -#~ msgid "Couldn't save atlas image:" -#~ msgstr "Atlas-kuvaa ei voitu tallentaa:" - -#~ msgid "Column" -#~ msgstr "Kolumni" - -#, fuzzy -#~ msgid "No items to import!" -#~ msgstr "Ei tuotavia asioita!" - -#~ msgid "No target path!" -#~ msgstr "Ei kohdepolkua!" - -#~ msgid "Import Translations" -#~ msgstr "Tuo käännökset" - -#~ msgid "Couldn't import!" -#~ msgstr "Ei voitu tuoda!" - -#~ msgid "Import Translation" -#~ msgstr "Tuo käännös" - -#~ msgid "Ignore First Row" -#~ msgstr "Sivuuta ensimmäinen rivi" - -#, fuzzy -#~ msgid "Add to Project (project.godot)" -#~ msgstr "Lisää projektiin (godot.cfg)" - -#~ msgid "Import Languages:" -#~ msgstr "Tuo kielet:" - -#~ msgid "Zoom Set..." -#~ msgstr "Aseta Zoomaus..." - -#~ msgid "Parse BBCode" -#~ msgstr "Liitä BBCode" - -#~ msgid "Length:" -#~ msgstr "Pituus:" - -#~ msgid "Open Sample File(s)" -#~ msgstr "Avaa Sample-tiedosto(t)" - -#~ msgid "ERROR: Couldn't load sample!" -#~ msgstr "VIRHE: Samplea ei voitu ladata!" - -#~ msgid "Rename Sample" -#~ msgstr "Nimeä Sample uudelleen" - -#~ msgid "Delete Sample" -#~ msgstr "Poista Sample" - -#~ msgid "16 Bits" -#~ msgstr "16 bittiä" - -#~ msgid "8 Bits" -#~ msgstr "8 bittiä" - -#~ msgid "Bucket" -#~ msgstr "Sanko" - -#~ msgid "Invalid project path, the path must exist!" -#~ msgstr "Virheellinen projektin polku, polku täytyy olla olemassa!" - -#, fuzzy -#~ msgid "Invalid project path, project.godot must not exist." -#~ msgstr "Virheellinen projektin polku, godot.cfg -tiedostoa ei saa olla." - -#, fuzzy -#~ msgid "Invalid project path, project.godot must exist." -#~ msgstr "" -#~ "Virheellinen projektin polku, godot.cfg -tiedosto täytyy olla olemassa." - -#~ msgid "Project Path (Must Exist):" -#~ msgstr "Projektin polku (täytyy olla olemassa):" - -#, fuzzy -#~ msgid "Tiles" -#~ msgstr " Tiedostot" - -#~ msgid "Ctrl+" -#~ msgstr "Ctrl+" - -#~ msgid "Close scene? (Unsaved changes will be lost)" -#~ msgstr "Sulje scene? (tallentamattomat muutokset menetetään)" - -#~ msgid "" -#~ "Open Project Manager? \n" -#~ "(Unsaved changes will be lost)" -#~ msgstr "" -#~ "Avaa projektinhallinta?\n" -#~ "(tallentamattomat muutokset menetetään)" - -#~ msgid "just pressed" -#~ msgstr "juuri painettu" - -#~ msgid "Node From Scene" -#~ msgstr "Node Scenestä" - -#~ msgid "Import assets to the project." -#~ msgstr "Tuo Assetit projektiin." - -#~ msgid "Export the project to many platforms." -#~ msgstr "Vie projekti usealle alustalle." - -#, fuzzy -#~ msgid "Open https://godotengine.org at tutorials section." -#~ msgstr "Avaa https://godotengine.org \"tutorials\"-alueelle." - -#~ msgid "Use Default Light" -#~ msgstr "Käytä oletusvaloa" - -#~ msgid "Valid chars:" -#~ msgstr "Kelvolliset merkit:" - -#~ msgid "Valid name" -#~ msgstr "Kelvollinen nimi" - -#~ msgid "Class name is invalid!" -#~ msgstr "Luokan nimi on virheellinen!" - -#~ msgid "Parent class name is invalid!" -#~ msgstr "Kantaluokan nimi on virheellinen!" - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "" -#~ "Polun ominaisuuden täytyy osoittaa kelvolliseen Particles2D Nodeen " -#~ "toimiakseen." diff --git a/editor/translations/fil.po b/editor/translations/fil.po index 84d4b6ff2a..5ad5b70e09 100644 --- a/editor/translations/fil.po +++ b/editor/translations/fil.po @@ -1,6 +1,6 @@ # Filipino translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Marco Santos <enum.scima@gmail.com>, 2019. # Amado Wilkins <epicalert68@gmail.com>, 2019. @@ -2057,14 +2057,30 @@ msgstr "" msgid "Theme Properties" msgstr "" -#: editor/editor_help.cpp -msgid "Enumerations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "" @@ -8272,18 +8288,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -12836,7 +12840,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12845,6 +12854,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -13834,9 +13858,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "" - -#~ msgid "Clipboard is empty" -#~ msgstr "Walang laman ang Clipboard" - -#~ msgid "No" -#~ msgstr "Hindi" diff --git a/editor/translations/fr.po b/editor/translations/fr.po index 8da997112f..1fd08db5ed 100644 --- a/editor/translations/fr.po +++ b/editor/translations/fr.po @@ -1,6 +1,6 @@ # French translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Antoine Carrier <ac.g392@gmail.com>, 2017-2018. # ARocherVj <a.rocher.vj@gmail.com>, 2017. @@ -84,13 +84,14 @@ # Cold <coldragon78@gmail.com>, 2021. # Blackiris <divjvc@free.fr>, 2021. # Olivier Monnom <olivier.monnom@gmail.com>, 2021. +# Timothée MB <timothee.me@gmail.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-10-23 12:20+0200\n" -"Last-Translator: salty64 <cedric.arrabie@univ-pau.fr>\n" +"PO-Revision-Date: 2021-12-10 10:33+0000\n" +"Last-Translator: Rémi Verschelde <akien@godotengine.org>\n" "Language-Team: French <https://hosted.weblate.org/projects/godot-engine/" "godot/fr/>\n" "Language: fr\n" @@ -98,7 +99,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 4.9-dev\n" +"X-Generator: Weblate 4.10-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -2209,14 +2210,30 @@ msgstr "Méthodes" msgid "Theme Properties" msgstr "Propriétés du thème" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Énumérations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "Couleurs" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Constantes" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "Polices" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "Icônes" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "Styles" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Énumérations" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Description des propriétés" @@ -8718,18 +8735,6 @@ msgid "TextureRegion" msgstr "RegionDeTexture" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "Couleurs" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "Polices" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "Icônes" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "Styleboxes" @@ -13566,10 +13571,17 @@ msgstr "« Use Custom Build » doit être activé pour utiliser les plugins." #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" +"« Hand Tracking » est valide uniquement lorsque le « Mode Xr » est « Oculus " +"Mobile VrApi »." + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" -"« Suivi de la main » est valide uniquement lorsque le « Mode Xr » est « " -"Oculus Mobile VR »." +"« Passthrough » est valide uniquement lorsque le « Xr Mode » est « Oculus " +"Mobile VrApi »." #: platform/android/export/export_plugin.cpp msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." @@ -13579,6 +13591,27 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" +"Changer « Min Sdk » est valide uniquement lorsque l'option « Use Custom " +"Build » est activée." + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" +"Changer « Target Sdk » est valide uniquement lorsque l'option « Use Custom " +"Build » est activée." + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" +"La version « Target Sdk » doit être supérieure ou égale à la version « Min " +"Sdk »." + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14804,739 +14837,3 @@ msgstr "Affectation à la variable uniform." #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Les constantes ne peuvent être modifiées." - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "Créer la position de repos (d'après les os)" - -#~ msgid "Bottom" -#~ msgstr "Dessous" - -#~ msgid "Left" -#~ msgstr "Gauche" - -#~ msgid "Right" -#~ msgstr "Droite" - -#~ msgid "Front" -#~ msgstr "Avant" - -#~ msgid "Rear" -#~ msgstr "Arrière" - -#~ msgid "Nameless gizmo" -#~ msgstr "Gadget sans nom" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "« Degrés de liberté » est valide uniquement lorsque le « Mode Xr » est « " -#~ "Oculus Mobile VR »." - -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "« Sensibilité de la mise au point » est valide uniquement lorsque le « " -#~ "Mode Xr » est « Oculus Mobile VR »." - -#~ msgid "Package Contents:" -#~ msgstr "Contenu du paquetage :" - -#~ msgid "Singleton" -#~ msgstr "Singleton" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Effacer le profil '%s' ? (pas d'annulation)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Propriétés activées :" - -#~ msgid "Enabled Features:" -#~ msgstr "Fonctionnalités activées :" - -#~ msgid "Unset" -#~ msgstr "Désassigner" - -#~ msgid "Class Options" -#~ msgstr "Options de classe" - -#~ msgid "Set" -#~ msgstr "Définir" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Sauvegardé %s des ressources modifiées." - -#~ msgid "Q&A" -#~ msgstr "Questions et réponses" - -#~ msgid "Status:" -#~ msgstr "État :" - -#~ msgid "Edit:" -#~ msgstr "Modifier :" - -#~ msgid "Redownload" -#~ msgstr "Télécharger à nouveau" - -#~ msgid "(Installed)" -#~ msgstr "(Installé)" - -#~ msgid "(Missing)" -#~ msgstr "(Manquant)" - -#~ msgid "Request Failed." -#~ msgstr "Échec de la requête." - -#~ msgid "Redirect Loop." -#~ msgstr "Boucle de Redirection." - -#~ msgid "Download Complete." -#~ msgstr "Téléchargement terminé." - -#~ msgid "Remove Template" -#~ msgstr "Supprimer le modèle" - -#~ msgid "Download Templates" -#~ msgstr "Télécharger les modèles" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "" -#~ "Sélectionner un miroir depuis la liste : (Maj+Click : Ouvrir dans le " -#~ "navigateur)" - -#~ msgid "Move to Trash" -#~ msgstr "Déplacer vers la corbeille" - -#~ msgid "Expand All Properties" -#~ msgstr "Développer toutes les propriétés" - -#~ msgid "Collapse All Properties" -#~ msgstr "Réduire toutes les propriétés" - -#~ msgid "Copy Params" -#~ msgstr "Copier paramètres" - -#~ msgid "Open in Help" -#~ msgstr "Ouvrir dans l'aide" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "Remplacement de la Caméra du Jeu\n" -#~ "Aucune instance de jeu en cours d'exécution." - -#~ msgid "Drag: Rotate" -#~ msgstr "Glisser : tourner" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Appuyez sur « v » pour changer le pivot, « Maj+V » pour glisser le pivot " -#~ "(lors du déplacement)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+Bouton droit : Sélection détaillée par liste" - -#~ msgid "Clone Down" -#~ msgstr "Cloner en dessous" - -#~ msgid "Yaw" -#~ msgstr "Lacet (hauteur)" - -#~ msgid "Size" -#~ msgstr "Taille" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "Glisser : Rotation\n" -#~ "ALt+Glisser : Déplacer\n" -#~ "Alt+Bouton droit : Sélection détaillée par liste" - -#~ msgid "Sep.:" -#~ msgstr "Sep. :" - -#~ msgid "Add All" -#~ msgstr "Tout ajouter" - -#~ msgid "Theme editing menu." -#~ msgstr "Menu d'édition des thèmes." - -#~ msgid "Create Empty Template" -#~ msgstr "Créer un nouveau modèle" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "Créer un nouveau modèle d'éditeur" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "Créer à partir du thème actuel de l'éditeur" - -#~ msgid "Data Type:" -#~ msgstr "Type de données :" - -#~ msgid "Theme File" -#~ msgstr "Fichier de Thème" - -#~ msgid "Compiled" -#~ msgstr "Compilé" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "Supprimer %d projets de la liste ?\n" -#~ "Le contenu des dossiers de projet ne sera pas modifié." - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "Supprimer le projet de la liste ? \n" -#~ "Le contenu du dossier de projet ne sera pas modifié." - -#~ msgid "Templates" -#~ msgstr "Modèles" - -#~ msgid "Add Remapped Path" -#~ msgstr "Ajouter un chemin remappé" - -#~ msgid "Can not perform with the root node." -#~ msgstr "Ne peut fonctionner avec le nœud racine." - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "Impossible de lire l'image de démarrage :" - -#~ msgid "Using default boot splash image." -#~ msgstr "Impossible de lire l'image de démarrage." - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Un lecteur d’animation ne peut s’animer lui-même, seulement les autres " -#~ "lecteurs." - -#~ msgid "Clipboard is empty" -#~ msgstr "Le presse-papiers est vide" - -#~ msgid "" -#~ "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -#~ msgstr "InterpolatedCamera a été déprécié et sera supprimé dans Godot 4.0." - -#~ msgid "No" -#~ msgstr "Non" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "" -#~ "Cette scène n'a jamais été enregistrée. L'enregistrer avant de la lancer ?" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "" -#~ "L'exécutable ADB n'est pas configuré dans les Paramètres de l'éditeur." - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "" -#~ "Le jarsigner OpenJDK n'est pas configuré dans les Paramètres de l'éditeur." - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "" -#~ "La création d'une version personnalisée nécessite un chemin d'accès " -#~ "Android SDK valide dans les paramètres de l'éditeur." - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(Temps restant : %d:%02d s)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "Tracer les maillages : " - -#~ msgid "Lighting Meshes: " -#~ msgstr "Tracer les maillages : " - -#~ msgid "Search complete" -#~ msgstr "Recherche terminée" - -#~ msgid "No commit message was provided" -#~ msgstr "Aucun message de livraison n'a été fourni" - -#~ msgid "Add a commit message" -#~ msgstr "Ajouter un message de livraison" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "" -#~ "Il existe déjà un fichier ou un dossier ayant le même nom à cet " -#~ "emplacement." - -#~ msgid "Unable to complete APK alignment." -#~ msgstr "Impossible d'effectuer l'alignement de l'APK." - -#~ msgid "Unable to delete unaligned APK." -#~ msgstr "Impossible de supprimer l'APK non aligné." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Erreur d'enregistrement de la disposition !" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Disposition de l'éditeur par défaut remplacée." - -#~ msgid "Move pivot" -#~ msgstr "Déplacer le pivot" - -#~ msgid "Move anchor" -#~ msgstr "Déplacer l'ancre" - -#~ msgid "Resize CanvasItem" -#~ msgstr "Redimensionner l'élément de canevas" - -#~ msgid "Polygon->UV" -#~ msgstr "Polygone -> UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV -> Polygone" - -#~ msgid "Add initial export..." -#~ msgstr "Ajouter l'exportation initiale...." - -#~ msgid "Add previous patches..." -#~ msgstr "Ajouter les correctifs précédents....." - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "Supprimer le patch « %s » de la liste ?" - -#~ msgid "Patches" -#~ msgstr "Patchs" - -#~ msgid "Make Patch" -#~ msgstr "Conçevoir un patch" - -#~ msgid "Pack File" -#~ msgstr "Fichiers Pack" - -#~ msgid "No build apk generated at: " -#~ msgstr "Aucune build apk générée à : " - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "Module d'importation et système de fichiers" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "Lors de l'exportation ou du déploiement, l'exécutable produit tentera de " -#~ "se connecter à l'adresse IP de cet ordinateur afin de procéder au " -#~ "débogage." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "" -#~ "La scène actuelle n'a jamais été sauvegardée, veuillez la sauvegarder " -#~ "avant de la lancer." - -#~ msgid "Revert" -#~ msgstr "Réinitialiser" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Cette action ne peut être annulée. Réinitialiser quand même ?" - -#~ msgid "Revert Scene" -#~ msgstr "Réinitialiser la scène" - -#~ msgid "Clear Script" -#~ msgstr "Supprimer le script" - -#~ msgid "Issue Tracker" -#~ msgstr "Traqueur de problèmes" - -#~ msgid "Request Docs" -#~ msgstr "Demande de documentation" - -#~ msgid "Help improve the Godot documentation by giving feedback." -#~ msgstr "" -#~ "Aider à améliorer la documentation de Godot en donnant vos réactions." - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "%d occurrence(s) remplacée(s)." - -#~ msgid "Create Static Convex Body" -#~ msgstr "Créer corps convexe statique" - -#~ msgid "Failed creating shapes!" -#~ msgstr "Échec de la création de formes !" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Il n'y a pas de tutoriels disponibles pour cette classe, vous pouvez " -#~ "[color=$color][url=$url]en créer un[/url][/color] ou [color=$color][url=" -#~ "$url2]en demander un[/url][/color]." - -#~ msgid "enum " -#~ msgstr "enum_ " - -#~ msgid "Brief Description" -#~ msgstr "Brève description" - -#~ msgid "Class Description" -#~ msgstr "Description de la classe" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "L'export du projet a échoué avec le code erreur %d." - -#~ msgid "Password:" -#~ msgstr "Mot de passe :" - -#~ msgid "Identifier segments must be of non-zero length." -#~ msgstr "" -#~ "Les segments de l'identifiant doivent être d'une longueur supérieure à " -#~ "zéro." - -#~ msgid "A digit cannot be the first character in a Identifier segment." -#~ msgstr "" -#~ "Un chiffre ne peut pas être le premier caractère d'un segment " -#~ "d'identifiant." - -#~ msgid "" -#~ "The character '%s' cannot be the first character in a Identifier segment." -#~ msgstr "" -#~ "Le caractère « %s » ne peut pas être le premier caractère d'un segment " -#~ "d'identifiant." - -#~ msgid "The Identifier must have at least one '.' separator." -#~ msgstr "L'identifiant doit avoir au moins un séparateur « . »." - -#~ msgid "Pause the scene" -#~ msgstr "Mettre en pause la scène" - -#~ msgid "Shift+" -#~ msgstr "Maj+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Control+" -#~ msgstr "Contrôle+" - -#~ msgid "Snap to Grid" -#~ msgstr "Aimanter à la grille" - -#~ msgid "Add input +" -#~ msgstr "Ajouter une entrée +" - -#~ msgid "Language" -#~ msgstr "Langage" - -#~ msgid "Inherits" -#~ msgstr "Hérité de" - -#~ msgid "Base Type:" -#~ msgstr "Type de base :" - -#~ msgid "Available Nodes:" -#~ msgstr "Nœuds disponibles :" - -#~ msgid "Input" -#~ msgstr "Entrée" - -#~ msgid "Methods:" -#~ msgstr "Méthodes :" - -#~ msgid "Theme Properties:" -#~ msgstr "Propriétés du thème :" - -#~ msgid "Constants:" -#~ msgstr "Constantes :" - -#~ msgid "Class Description:" -#~ msgstr "Description de la classe :" - -#~ msgid "Property Descriptions:" -#~ msgstr "Description des propriétés :" - -#~ msgid "Method Descriptions:" -#~ msgstr "Descriptions des méthode :" - -#~ msgid "" -#~ "This will install the Android project for custom builds.\n" -#~ "Note that, in order to use it, it needs to be enabled per export preset." -#~ msgstr "" -#~ "Ceci va installer le projet Android pour des compilations " -#~ "personnalisées.\n" -#~ "Notez que pour l'utiliser, vous devez l'activer pour chaque préréglage " -#~ "d'exportation." - -#~ msgid "Reverse sorting." -#~ msgstr "Tri inverse." - -#~ msgid "Delete Node(s)?" -#~ msgstr "Supprimer le(s) nœud(s) ?" - -#~ msgid "No Matches" -#~ msgstr "Pas de correspondances" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "Impossible d'ouvrir file_type_cache.cch en écriture, le fichier de cache " -#~ "ne sera pas sauvé !" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "" -#~ "Impossible d'accéder à « %s » car celui-ci n'existe pas dans le système " -#~ "de fichiers !" - -#~ msgid "Error loading image:" -#~ msgstr "Erreur de chargement d'image :" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "Pas de pixels avec transparence > 128 dans l'image..." - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "Le parent n'a pas de faces solides à peupler." - -#~ msgid "Couldn't map area." -#~ msgstr "Impossible de cartographier la zone." - -#~ msgid "Faces contain no area!" -#~ msgstr "Des faces ne contiennent pas de zone !" - -#~ msgid "No faces!" -#~ msgstr "Pas de faces !" - -#~ msgid "Error: could not load file." -#~ msgstr "Erreur de chargement de fichier." - -#~ msgid "Doppler Enable" -#~ msgstr "Activer Doppler" - -#~ msgid "Select Mode (Q)" -#~ msgstr "Sélectionner le mode (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "Move déplacement (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "Mode rotation (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "Mode de mise à l'échelle (R)" - -#~ msgid "Local Coords" -#~ msgstr "Coordonnées locales" - -#~ msgid "Tool Select" -#~ msgstr "Outil sélection" - -#~ msgid "Tool Move" -#~ msgstr "Outil déplacement" - -#~ msgid "Tool Rotate" -#~ msgstr "Outil rotation" - -#~ msgid "Tool Scale" -#~ msgstr "Outil échelle" - -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "" -#~ "Supprimer tous les projets manquants de la liste ? (Le contenu des " -#~ "dossiers ne sera pas modifié)" - -#~ msgid "Project List" -#~ msgstr "Liste des projets" - -#~ msgid "Exit" -#~ msgstr "Quitter" - -#~ msgid "Could not execute PVRTC tool:" -#~ msgstr "Impossible d'exécuter l'outil PVRTC :" - -#~ msgid "Can't load back converted image using PVRTC tool:" -#~ msgstr "" -#~ "L'image convertie n'a pas pu être rechargée en utilisant l'outil PVRTC :" - -#~ msgid "Error initializing FreeType." -#~ msgstr "Erreur à l'initialisation de Freetype." - -#~ msgid "Unknown font format." -#~ msgstr "Format de police inconnu." - -#~ msgid "Error loading font." -#~ msgstr "Erreur lors du chargement de la police." - -#~ msgid "Invalid font size." -#~ msgstr "Taille de police invalide." - -#~ msgid "Previous Folder" -#~ msgstr "Dossier précédent" - -#~ msgid "Next Folder" -#~ msgstr "Dossier suivant" - -#, fuzzy -#~ msgid "Open in an external image editor." -#~ msgstr "Ouvrir l'éditeur suivant" - -#~ msgid "Reverse" -#~ msgstr "Inverser" - -#~ msgid "Mirror X" -#~ msgstr "Miroir X" - -#~ msgid "Mirror Y" -#~ msgstr "Miroir Y" - -#~ msgid "Generating solution..." -#~ msgstr "Génération de la solution en cours..." - -#~ msgid "Generating C# project..." -#~ msgstr "Création du projet C#..." - -#~ msgid "Failed to create solution." -#~ msgstr "Impossible de créer la solution." - -#~ msgid "Failed to save solution." -#~ msgstr "Impossible de sauvegarder la solution." - -#~ msgid "Failed to create C# project." -#~ msgstr "Impossible de créer le projet C#." - -#~ msgid "Mono" -#~ msgstr "Mono" - -#~ msgid "About C# support" -#~ msgstr "À propos du support C#" - -#~ msgid "Create C# solution" -#~ msgstr "Créer la solution C#" - -#~ msgid "Builds" -#~ msgstr "Constructions" - -#~ msgid "Build Project" -#~ msgstr "Compiler le projet" - -#~ msgid "View log" -#~ msgstr "Voir les fichiers log" - -#~ msgid "WorldEnvironment needs an Environment resource." -#~ msgstr "WorldEnvironment requiert une ressource de type Environment." - -#~ msgid "Enabled Classes" -#~ msgstr "Classes activées" - -#~ msgid "Update Always" -#~ msgstr "Toujours repeindre" - -#~ msgid "Raw Mode" -#~ msgstr "Mode brut" - -#~ msgid "Path to Node:" -#~ msgstr "Chemin vers le nœud :" - -#~ msgid "Delete selected files?" -#~ msgstr "Supprimer les fichiers sélectionnés ?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "Il n'existe aucun fichier « res://default_bus_layout.tres »." - -#~ msgid "Go to parent folder" -#~ msgstr "Aller au dossier parent" - -#~ msgid "Open Scene(s)" -#~ msgstr "Ouvrir une(des) scène(s)" - -#~ msgid "Previous Directory" -#~ msgstr "Répertoire précédent" - -#~ msgid "Next Directory" -#~ msgstr "Répertoire suivant" - -#~ msgid "Ease in" -#~ msgstr "Lent sur le début" - -#~ msgid "Ease out" -#~ msgstr "Lent sur la fin" - -#~ msgid "Create Convex Static Body" -#~ msgstr "Créer un corps statique convexe" - -#~ msgid "CheckBox Radio1" -#~ msgstr "Case à cocher Radio1" - -#~ msgid "CheckBox Radio2" -#~ msgstr "Case à cocher Radio2" - -#~ msgid "Create folder" -#~ msgstr "Créer dossier" - -#~ msgid "Custom Node" -#~ msgstr "Nœud personnalisé" - -#~ msgid "Invalid Path" -#~ msgstr "Chemin invalide" - -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "Sélection de la duplication de GridMap" - -#~ msgid "Create Area" -#~ msgstr "Créer zone" - -#~ msgid "Create Exterior Connector" -#~ msgstr "Créer connecteur extérieur" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "Modifier les arguments du signal :" - -#~ msgid "Edit Variable:" -#~ msgstr "Modifier la variable :" - -#~ msgid "Snap (s): " -#~ msgstr "Pas (s) : " - -#~ msgid "Insert keys." -#~ msgstr "Insérer les clefs." - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "" -#~ "Instancie la(les) scène(s) sélectionnée(s) en tant qu'enfant(s) du nœud " -#~ "sélectionné." - -#~ msgid "Font Size:" -#~ msgstr "Taille de police :" - -#~ msgid "Line:" -#~ msgstr "Ligne :" - -#~ msgid "Col:" -#~ msgstr "Colonne :" - -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "" -#~ "Le nœud OrientedPathFollow ne fonctionne que s'il est défini en tant " -#~ "qu'un enfant d'un nœud de type Path." - -#~ msgid "Split point with itself." -#~ msgstr "Point de séparation avec lui-même." - -#~ msgid "Split can't form an existing edge." -#~ msgstr "Le fractionnement ne peut pas former une arête existante." - -#~ msgid "Add Split" -#~ msgstr "Ajouter un fractionnement" - -#~ msgid "Remove Split" -#~ msgstr "Supprimer le fractionnement" - -#~ msgid "Poly" -#~ msgstr "Polygone" - -#~ msgid "Splits" -#~ msgstr "Fractionnements" - -#~ msgid "Connect two points to make a split." -#~ msgstr "Relier deux points pour faire un fractionnement." diff --git a/editor/translations/ga.po b/editor/translations/ga.po index 41c2b72c3f..7568ba0c95 100644 --- a/editor/translations/ga.po +++ b/editor/translations/ga.po @@ -1,6 +1,6 @@ # Irish translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Rónán Quill <ronan085@gmail.com>, 2019, 2020. msgid "" @@ -2049,14 +2049,30 @@ msgstr "" msgid "Theme Properties" msgstr "" -#: editor/editor_help.cpp -msgid "Enumerations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "" @@ -8256,18 +8272,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -12813,7 +12817,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12822,6 +12831,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -13812,7 +13836,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Ní féidir tairisigh a athrú." - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "Cuntas:" diff --git a/editor/translations/gl.po b/editor/translations/gl.po index 43be118f3d..dc902e13fa 100644 --- a/editor/translations/gl.po +++ b/editor/translations/gl.po @@ -1,6 +1,6 @@ # Galician translation of the Godot Engine editor. -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # Andy Barcia <andybarcia4@gmail.com>, 2021. @@ -2124,14 +2124,34 @@ msgstr "Métodos" msgid "Theme Properties" msgstr "Propiedades do Tema" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Colors" +msgstr "Cor" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Constantes" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Fonts" +msgstr "Fonte" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Icons" +msgstr "Icona" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Styles" +msgstr "Estilo" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Descrición de Propiedades" @@ -8575,21 +8595,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Colors" -msgstr "Cor" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Fonts" -msgstr "Fonte" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Icons" -msgstr "Icona" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Styleboxes" msgstr "Estilo" @@ -13306,7 +13311,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -13315,6 +13325,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14388,127 +14413,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "" - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "Crear Pose de Repouso (a partir dos Ósos)" - -#~ msgid "Bottom" -#~ msgstr "Inferior" - -#~ msgid "Left" -#~ msgstr "Esquerda" - -#~ msgid "Right" -#~ msgstr "Dereita" - -#~ msgid "Front" -#~ msgstr "Frontal" - -#~ msgid "Rear" -#~ msgstr "Traseira" - -#~ msgid "Nameless gizmo" -#~ msgstr "Gizmo sen nome" - -#~ msgid "Singleton" -#~ msgstr "Singleton" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Eliminar perfil '%s'? (non se pode deshacer)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Propiedades Activadas:" - -#~ msgid "Enabled Features:" -#~ msgstr "Características Activadas:" - -#~ msgid "Unset" -#~ msgstr "Desactivar" - -#~ msgid "Class Options" -#~ msgstr "Opcións de Clases" - -#~ msgid "Set" -#~ msgstr "Establecer" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Gardado(s) %s recurso(s) modificado(s)." - -#~ msgid "Q&A" -#~ msgstr "Preguntas e Respostas" - -#~ msgid "Status:" -#~ msgstr "Estado:" - -#~ msgid "Edit:" -#~ msgstr "Editar:" - -#~ msgid "Redownload" -#~ msgstr "Volver a Descargar" - -#~ msgid "(Installed)" -#~ msgstr "(Instalado)" - -#~ msgid "(Missing)" -#~ msgstr "(Non encontrado)" - -#~ msgid "Request Failed." -#~ msgstr "A Petición Fracasou." - -#~ msgid "Download Complete." -#~ msgstr "Descarga Completa." - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "Seleccione un mirror da lista: (Shift+Clic: Abrir no Navegador)" - -#~ msgid "Move to Trash" -#~ msgstr "Mover á Papeleira" - -#~ msgid "Expand All Properties" -#~ msgstr "Expandir Tódalas Propiedades" - -#~ msgid "Copy Params" -#~ msgstr "Copiar Parámetros" - -#~ msgid "Open in Help" -#~ msgstr "Abrir na Axuda" - -#~ msgid "Drag: Rotate" -#~ msgstr "Arrastrar: Rotar" - -#~ msgid "Clone Down" -#~ msgstr "Clonar Liña" - -#~ msgid "Yaw" -#~ msgstr "Guiñada" - -#~ msgid "Size" -#~ msgstr "Tamaño" - -#~ msgid "Compiled" -#~ msgstr "Compilado" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "Eliminar %d proxectos da lista?\n" -#~ "Os contidos da carpeta de proxectos non serán modificados." - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "Eliminar este proxecto da lista?\n" -#~ "Os contidos da carpeta de proxectos non serán modificados." - -#~ msgid "Templates" -#~ msgstr "Proxectos Modelo" - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Un reproductor de animacións non pode animarse a si mesmo, só a outros " -#~ "reproductores." - -#~ msgid "Clipboard is empty" -#~ msgstr "O portapapeis está baleiro" diff --git a/editor/translations/he.po b/editor/translations/he.po index 8150eb063d..b955eb2b1c 100644 --- a/editor/translations/he.po +++ b/editor/translations/he.po @@ -1,6 +1,6 @@ # Hebrew translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Daniel <lorddaniel09@gmail.com>, 2018. # Ben Golan <golanben4@gmail.com>, 2017. @@ -14,19 +14,20 @@ # test test <ugbdvwpeikvyzwaadt@awdrt.org>, 2020. # Anonymous <noreply@weblate.org>, 2020. # Daniel Kariv <danielkariv98@gmail.com>, 2020. -# Ziv D <wizdavid@gmail.com>, 2020. -# yariv benj <yariv4400@gmail.com>, 2020. +# Ziv D <wizdavid@gmail.com>, 2020, 2021. +# yariv benj <yariv4400@gmail.com>, 2020, 2021. # Guy Dadon <guydadon14@gmail.com>, 2020. # bruvzg <bruvzg13@gmail.com>, 2020. # Omer I.S. <omeritzicschwartz@gmail.com>, 2021. # Ram Tourgeman <ramtorgeman@gmail.com>, 2021. +# Shailee Eliyahu <dev.sle.il@gmail.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-05-14 11:20+0000\n" -"Last-Translator: Ram Tourgeman <ramtorgeman@gmail.com>\n" +"PO-Revision-Date: 2021-11-29 20:38+0000\n" +"Last-Translator: Shailee Eliyahu <dev.sle.il@gmail.com>\n" "Language-Team: Hebrew <https://hosted.weblate.org/projects/godot-engine/" "godot/he/>\n" "Language: he\n" @@ -35,7 +36,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " "n % 10 == 0) ? 2 : 3));\n" -"X-Generator: Weblate 4.7-dev\n" +"X-Generator: Weblate 4.10-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -383,13 +384,11 @@ 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)" +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 "הנפשה" @@ -399,27 +398,24 @@ 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’." +msgstr "מאפיין '%s'" #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" msgstr "יצירה והוספה של הנפשה" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Insert Track & Key" -msgstr "הכנס טראק & מפתח לאנימציה" +msgstr "הכנס רצועה & מפתח לאנימציה" #: editor/animation_track_editor.cpp msgid "Anim Insert Key" msgstr "הכנס מפתח לאנימציה" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Step" -msgstr "ניקוי ההנפשה" +msgstr "שנה מרווח הנפשה" #: editor/animation_track_editor.cpp msgid "Rearrange Tracks" @@ -427,7 +423,7 @@ msgstr "סדר רצועות מחדש" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." -msgstr "" +msgstr "רצועות שינוי-צורה חלות רק על מפרקים מבוססי-מרחב." #: editor/animation_track_editor.cpp msgid "" @@ -451,39 +447,35 @@ msgstr "אי אפשר להוסיף רצועה חדשה בלי שורש" #: editor/animation_track_editor.cpp msgid "Invalid track for Bezier (no suitable sub-properties)" -msgstr "" +msgstr "רצועה לא תקינה עבור Bezier (תת מאפיינים אינם תואמים)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Bezier Track" -msgstr "הוספת רצועת בזייה" +msgstr "הוספת רצועת Bezier" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a key." -msgstr "" +msgstr "נתיב הרצועה אינו תקין, לכן אי אפשר להוסיף מפתח." #: editor/animation_track_editor.cpp msgid "Track is not of type Spatial, can't insert key" -msgstr "" +msgstr "רצועה אינה מסוג מרחבי, אין אפשרות להכניס מפתח" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Transform Track Key" -msgstr "התמרה" +msgstr "הוסף מפתח שינוי צורה לרצועה" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Track Key" -msgstr "הוספת רצועות חדשות." +msgstr "הוספת מפתח רצועה" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." -msgstr "הנתיב לרצועה אינו תקין, ולכן מפתח לשיטה (מתודה) לא יכל להתווסף" +msgstr "נתיב הרצועה אינו תקין, לכן לא ניתן להוסיף מפתח שיטה." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Method Track Key" -msgstr "הוספת רצועות חדשות." +msgstr "הוסף מפתח רצועת שיטה" #: editor/animation_track_editor.cpp msgid "Method not found in object: " @@ -613,9 +605,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" @@ -634,9 +625,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" @@ -925,9 +915,8 @@ msgid "Disconnect" msgstr "ניתוק" #: editor/connections_dialog.cpp -#, fuzzy msgid "Connect a Signal to a Method" -msgstr "שגיאת חיבור" +msgstr "חבר אות לשיטה (מתודה)" #: editor/connections_dialog.cpp msgid "Edit Connection:" @@ -942,27 +931,24 @@ msgid "Signals" msgstr "אותות" #: editor/connections_dialog.cpp -#, fuzzy msgid "Filter signals" -msgstr "מאפייני פריט." +msgstr "סנן אותות" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" msgstr "האם אתה בטוח שאתה רוצה להסיר את כל החיבורים מהאות הזה?" #: editor/connections_dialog.cpp -#, fuzzy msgid "Disconnect All" -msgstr "ניתוק" +msgstr "נתק הכל" #: editor/connections_dialog.cpp msgid "Edit..." msgstr "עריכה..." #: editor/connections_dialog.cpp -#, fuzzy msgid "Go to Method" -msgstr "מעבר למתודה" +msgstr "מעבר לשיטה (מתודה)" #: editor/create_dialog.cpp msgid "Change %s Type" @@ -982,7 +968,7 @@ msgstr "אין תוצאות עבור \"%s\"." #: 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 @@ -1082,12 +1068,13 @@ 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 "להסיר את הקבצים הנבחרים מהמיזם? (אי אפשר לשחזר)" +msgstr "" +"להסיר את הקבצים שנבחרו מהפרוייקט? (זו פעולה בלתי הפיכה)\n" +"בהתאם להגדרות מערכת הקבצים שלך, הקבצים יועברו לסל המחזור או יימחקו לצמיתות." #: editor/dependency_editor.cpp msgid "" @@ -1097,6 +1084,9 @@ msgid "" "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 msgid "Cannot remove:" @@ -1107,9 +1097,8 @@ msgid "Error loading:" msgstr "שגיאה בטעינה:" #: editor/dependency_editor.cpp -#, fuzzy msgid "Load failed due to missing dependencies:" -msgstr "טעינת הסצנה נכשלה עקב תלויות חסרות:" +msgstr "הטעינה נכשלה עקב תלויות חסרות:" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Open Anyway" @@ -1129,12 +1118,11 @@ msgstr "שגיאה בטעינה!" #: editor/dependency_editor.cpp msgid "Permanently delete %d item(s)? (No undo!)" -msgstr "" +msgstr "למחוק לצמיתות d% פריט(ים)? (בלתי הפיך!)" #: editor/dependency_editor.cpp -#, fuzzy msgid "Show Dependencies" -msgstr "תלויות" +msgstr "הצג תלויות" #: editor/dependency_editor.cpp msgid "Orphan Resource Explorer" @@ -1170,7 +1158,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" @@ -1208,18 +1196,16 @@ msgid "Gold Sponsors" msgstr "מממני זהב" #: editor/editor_about.cpp -#, fuzzy msgid "Silver Sponsors" msgstr "תורמים בדרגת כסף" #: editor/editor_about.cpp -#, fuzzy msgid "Bronze Sponsors" msgstr "תורמים בדרגת ארד" #: editor/editor_about.cpp msgid "Mini Sponsors" -msgstr "מממנים זעירים" +msgstr "מממנים קטנים" #: editor/editor_about.cpp msgid "Gold Donors" @@ -1252,6 +1238,9 @@ msgid "" "is an exhaustive list of all such third-party components with their " "respective copyright statements and license terms." msgstr "" +"מנוע Godot מסתמך על מספר ספריות צד-שלישי חינמיות בעלות קוד פתוח, כולן תואמות " +"את דרישות רישיון ה MIT של המנוע. לפניכם רשימה ממצה של כל רכיבי הצד-שלישי " +"במנוע עם הצהרות זכויות היוצרים ותנאי הרישיון שלהם." #: editor/editor_about.cpp msgid "All Components" @@ -1266,43 +1255,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 "" +msgstr "פורס משאבים" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "The following files failed extraction from asset \"%s\":" -msgstr "" -"הקבצים הבאים הם חדשים בכונן.\n" -"באילו פעולות לנקוט?:" +msgstr "הקבצים הבאים נכשלו בחילוצם מהמשאב \"%s\":" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "(and %s more files)" -msgstr "%d קבצים נוספים" +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 @@ -1314,9 +1296,8 @@ msgid "Install" msgstr "התקנה" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset Installer" -msgstr "מתקין החבילות" +msgstr "מתקין המשאבים" #: editor/editor_audio_buses.cpp msgid "Speakers" @@ -1336,7 +1317,7 @@ msgstr "שינוי עצמה לאפיק שמע" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" -msgstr "" +msgstr "מתג אפיק שמע בודד" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Mute" @@ -1344,11 +1325,11 @@ msgstr "החלפת מצב השתקה על אפיק שמע" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Bypass Effects" -msgstr "" +msgstr "מתג אפקטיי מעקף באפיק שמע" #: editor/editor_audio_buses.cpp msgid "Select Audio Bus Send" -msgstr "" +msgstr "בחר שליחת אפיק שמע" #: editor/editor_audio_buses.cpp msgid "Add Audio Bus Effect" @@ -1363,13 +1344,12 @@ msgid "Delete Bus Effect" msgstr "מחיקת אפקט אפיק" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Drag & drop to rearrange." -msgstr "אפיק שמע, יש לגרור ולשחרר כדי לסדר מחדש." +msgstr "גרור ושחרר לסידור מחדש." #: editor/editor_audio_buses.cpp msgid "Solo" -msgstr "" +msgstr "יחיד" #: editor/editor_audio_buses.cpp msgid "Mute" @@ -1380,7 +1360,6 @@ msgid "Bypass" msgstr "מעקף" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Bus Options" msgstr "אפשרויות אפיק" @@ -1439,20 +1418,19 @@ msgstr "פתיחת פריסת אפיקי שמע" #: editor/editor_audio_buses.cpp msgid "There is no '%s' file." -msgstr "" +msgstr "קובץ '%s' אינו קיים." #: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp msgid "Layout" -msgstr "" +msgstr "פריסה" #: editor/editor_audio_buses.cpp msgid "Invalid file, not an audio bus layout." msgstr "קובץ שגוי, לא פריסה של אפיקי שמע." #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Error saving file: %s" -msgstr "שגיאה בשמירה" +msgstr "שגיאה בשמירת קובץ: %s" #: editor/editor_audio_buses.cpp msgid "Add Bus" @@ -1501,23 +1479,20 @@ msgid "Valid characters:" msgstr "תווים תקפים:" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Must not collide with an existing engine class name." -msgstr "שם שגוי. לא יכול לחפוף לשם מחלקת מנוע קיימת." +msgstr "אינו יכול להתנגש עם שם מחלקה קיימת במנוע." #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Must not collide with an existing built-in type name." -msgstr "שם שגוי. לא יכול לחפוף לשם סוג מובנה קיים." +msgstr "אינו יכול להתנגש עם סוג שם מובנה שכבר קיים." #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Must not collide with an existing global constant name." -msgstr "שם שגוי. לא יכול לחפוף לשם קבוע גלובלי קיים." +msgstr "אינו יכול להתנגש עם שם קבוע גלובלי שכבר קיים." #: editor/editor_autoload_settings.cpp msgid "Keyword cannot be used as an autoload name." -msgstr "" +msgstr "מילת המפתח לא יכולה לתפקד כשם שנטען-אוטומטית." #: editor/editor_autoload_settings.cpp msgid "Autoload '%s' already exists!" @@ -1529,7 +1504,7 @@ msgstr "שינוי שם טעינה אוטומטית" #: editor/editor_autoload_settings.cpp msgid "Toggle AutoLoad Globals" -msgstr "" +msgstr "מתג משתנים גלובאליים נטענים-אוטומטית" #: editor/editor_autoload_settings.cpp msgid "Move Autoload" @@ -1549,16 +1524,15 @@ msgstr "סידור טעינות אוטומטית מחדש" #: editor/editor_autoload_settings.cpp msgid "Can't add autoload:" -msgstr "" +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" @@ -1582,9 +1556,8 @@ msgid "Name" msgstr "שם" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Global Variable" -msgstr "שינוי שם משתנה" +msgstr "משתנה גלובלי" #: editor/editor_data.cpp msgid "Paste Params" @@ -1611,9 +1584,8 @@ msgid "[unsaved]" msgstr "[לא נשמר]" #: editor/editor_dir_dialog.cpp -#, fuzzy msgid "Please select a base directory first." -msgstr "נא לבחור את תיקיית הבסיס תחילה" +msgstr "נא לבחור תחילה את תיקיית הבסיס." #: editor/editor_dir_dialog.cpp msgid "Choose a Directory" @@ -1647,23 +1619,27 @@ msgstr "קובץ אחסון:" #: editor/editor_export.cpp msgid "No export template found at the expected path:" -msgstr "" +msgstr "לא נמצאה תבנית ייצוא בנתיב המצופה:" #: editor/editor_export.cpp msgid "Packing" -msgstr "אריזה" +msgstr "אורז" #: editor/editor_export.cpp msgid "" "Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " "Etc' in Project Settings." msgstr "" +"פלטפורמת היעד דורשת דחיסת מרקם 'ETC' בשביל GLES2. הפעל 'ייבוא Etc' בהגדרות " +"הפרויקט." #: editor/editor_export.cpp msgid "" "Target platform requires 'ETC2' texture compression for GLES3. Enable " "'Import Etc 2' in Project Settings." msgstr "" +"פלטפורמת היעד דורשת דחיסת מרקם 'ETC2' בשביל GLES3. הפעל את 'יבוא Etc 2' " +"בהגדרות הפרויקט." #: editor/editor_export.cpp msgid "" @@ -1672,18 +1648,24 @@ msgid "" "Enable 'Import Etc' in Project Settings, or disable 'Driver Fallback " "Enabled'." msgstr "" +"פלטפורמת היעד דורשת דחיסת מרקם 'ETC' בכדי לאפשר נסיגת דרייבר ל GLES2.\n" +"הפעל את 'יבוא Etc' בהגדרות הפרויקט, או השבת את 'הפעל נסיגת דרייבר'." #: editor/editor_export.cpp msgid "" "Target platform requires 'PVRTC' texture compression for GLES2. Enable " "'Import Pvrtc' in Project Settings." msgstr "" +"פלטפורמת היעד דורשת דחיסת מרקם 'PVRTC' עבור GLES2. הפעל את 'ייבוא Pvrtc' " +"בהגדרות הפרויקט." #: editor/editor_export.cpp msgid "" "Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " "Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." msgstr "" +"פלטפורמת היעד דורשת דחיסת מרקם 'ETC2' או 'PVRTC' עבור GLES3. הפעל את 'ייבוא " +"Etc 2' או 'ייבוא Pvrtc' בהגדרות הפרויקט." #: editor/editor_export.cpp msgid "" @@ -1692,6 +1674,8 @@ msgid "" "Enable 'Import Pvrtc' in Project Settings, or disable 'Driver Fallback " "Enabled'." msgstr "" +"פלטפורמת היעד דורשת דחיסת מרקם 'PVRTC' בכדי לאפשר נסיגת דרייבר ל GLES2.\n" +"הפעל את 'יבוא Pvrtc' בהגדרות הפרויקט, או השבת את 'הפעל נסיגת דרייבר'." #: editor/editor_export.cpp platform/android/export/export_plugin.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp @@ -1703,7 +1687,7 @@ msgstr "תבנית ניפוי שגיאות מותאמת אישית לא נמצא #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp msgid "Custom release template not found." -msgstr "" +msgstr "תבנית שחרור מותאמת-אישית לא נמצאה." #: editor/editor_export.cpp platform/javascript/export/export.cpp msgid "Template file not found:" @@ -1711,17 +1695,15 @@ msgstr "קובץ התבנית לא נמצא:" #: editor/editor_export.cpp msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB." -msgstr "" +msgstr "בייצוא ארכיטקטורת 32 ביט, ה PCK המובנה לא יכול לחרוג מעבר ל 4 GiB." #: editor/editor_feature_profile.cpp -#, fuzzy msgid "3D Editor" -msgstr "עורך" +msgstr "עורך תלת-מימד" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Script Editor" -msgstr "פתיחת עורך סקריפטים" +msgstr "עורך סקריפטים" #: editor/editor_feature_profile.cpp msgid "Asset Library" @@ -1729,159 +1711,143 @@ msgstr "ספריית משאבים" #: editor/editor_feature_profile.cpp msgid "Scene Tree Editing" -msgstr "" +msgstr "עריכת עץ הסצנות" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Node Dock" -msgstr "שם המפרק:" +msgstr "חלון איברים" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "FileSystem Dock" -msgstr "מערכת קבצים" +msgstr "חלון מערכת הקבצים" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Import Dock" -msgstr "ייבוא" +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 "" +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 "" +"מאפשר התאמת הגדרות ייבוא עבור משאבים בודדים. דורש את השימוש בחלון מערכת-" +"הקבצים." #: 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 '.'" -msgstr "" +msgstr "הפרופיל חייב להיות שם קובץ תקין ואינו יכול להכיל '.'" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Profile with this name already exists." -msgstr "כבר קיימים קובץ או תיקייה בשם הזה." +msgstr "פרופיל בשם זה כבר קיים." #: editor/editor_feature_profile.cpp msgid "(Editor Disabled, Properties Disabled)" -msgstr "" +msgstr "(העורך הושבת, המאפיינים הושבתו)" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "(Properties Disabled)" -msgstr "מאפיינים" +msgstr "(המאפיינים הושבתו)" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "(Editor Disabled)" -msgstr "מושבת" +msgstr "(העורך הושבת)" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Class Options:" -msgstr "תיאור:" +msgstr "אפשרויות מחלקה:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Enable Contextual Editor" -msgstr "פתיחת העורך הבא" +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." -msgstr "" +msgstr "פורמט קובץ 's%' אינו תקין, הייבוא בוטל." #: editor/editor_feature_profile.cpp msgid "" "Profile '%s' already exists. Remove it first before importing, import " "aborted." -msgstr "" +msgstr "הפרופיל '%s' כבר קיים. הסר אותו תחילה לפני הייבוא, הייבוא בוטל." #: editor/editor_feature_profile.cpp 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 -#, fuzzy msgid "Current Profile:" -msgstr "גרסה נוכחית:" +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 -#, fuzzy msgid "Available Profiles:" -msgstr "מאפיינים" +msgstr "פרופילים זמינים:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Make Current" -msgstr "(נוכחי)" +msgstr "הפוך לנוכחי" #: editor/editor_feature_profile.cpp editor/editor_node.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp @@ -1893,51 +1859,44 @@ 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 -#, fuzzy msgid "New profile name:" -msgstr "שם המפרק:" +msgstr "שם פרופיל חדש:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Godot Feature Profile" -msgstr "ניהול תבניות ייצוא" +msgstr "פרופיל התכונות של Godot" #: editor/editor_feature_profile.cpp msgid "Import Profile(s)" -msgstr "" +msgstr "ייבוא פרופיל(ים)" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Export Profile" -msgstr "ייצוא מיזם" +msgstr "ייצא פרופיל" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Manage Editor Feature Profiles" -msgstr "ניהול תבניות ייצוא" +msgstr "נהל פרופילי תכונות העורך" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp 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 #, fuzzy @@ -2142,14 +2101,31 @@ msgstr "מתודות" msgid "Theme Properties" msgstr "מאפייני ערכת עיצוב" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "מונים" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Colors" +msgstr "בחירת צבע" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "קבועים" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "מונים" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "תיאורי מאפיינים" @@ -8714,19 +8690,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Colors" -msgstr "בחירת צבע" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -10815,9 +10778,8 @@ msgid "Feature List:" msgstr "" #: editor/project_export.cpp -#, fuzzy msgid "Script" -msgstr "הרצת סקריפט" +msgstr "סקריפט" #: editor/project_export.cpp #, fuzzy @@ -13524,7 +13486,13 @@ msgstr "חובה לאפשר ״שימוש בבניה מותאמת אישית״ כ #: platform/android/export/export_plugin.cpp #, fuzzy msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "\"Hand Tracking\" תקף רק כאשר \"מצב Xr\" הוא \"Oculus Mobile VR\"." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "\"Hand Tracking\" תקף רק כאשר \"מצב Xr\" הוא \"Oculus Mobile VR\"." #: platform/android/export/export_plugin.cpp @@ -13533,6 +13501,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14646,522 +14629,3 @@ msgstr "השמה ל-uniform." #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "אי אפשר לשנות קבועים." - -#~ msgid "Bottom" -#~ msgstr "מתחת" - -#~ msgid "Left" -#~ msgstr "שמאל" - -#~ msgid "Right" -#~ msgstr "ימין" - -#~ msgid "Front" -#~ msgstr "קדמי" - -#~ msgid "Rear" -#~ msgstr "אחורי" - -#, fuzzy -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "\"דרגות של חופש\" תקף רק כאשר \"מצב Xr\" הוא \"Oculus Mobile VR\"." - -#, fuzzy -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "\"Focus Awareness\" תקף רק כאשר \"מצב Xr\" הוא \"Oculus Mobile VR\"." - -#~ msgid "Package Contents:" -#~ msgstr "תוכן החבילה:" - -#~ msgid "Singleton" -#~ msgstr "יחידני" - -#, fuzzy -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "להחליף הכול" - -#, fuzzy -#~ msgid "Enabled Properties:" -#~ msgstr "מאפיינים" - -#, fuzzy -#~ msgid "Class Options" -#~ msgstr "תיאור" - -#~ msgid "Set" -#~ msgstr "קבע" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "נשמרו %s משאבים שהשתנו." - -#~ msgid "Q&A" -#~ msgstr "שאלות ותשובות נפוצות" - -#~ msgid "Status:" -#~ msgstr "מצב:" - -#~ msgid "Edit:" -#~ msgstr "עריכה:" - -#, fuzzy -#~ msgid "Redownload" -#~ msgstr "הורדה מחדש" - -#~ msgid "(Installed)" -#~ msgstr "(מותקן)" - -#~ msgid "(Missing)" -#~ msgstr "(חסר)" - -#~ msgid "Request Failed." -#~ msgstr "הבקשה נכשלה." - -#~ msgid "Redirect Loop." -#~ msgstr "לולאת הפניות." - -#~ msgid "Download Complete." -#~ msgstr "ההורדה הושלמה." - -#~ msgid "Remove Template" -#~ msgstr "הסרת תבנית" - -#~ msgid "Download Templates" -#~ msgstr "הורדת תבניות" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "בחר אתר חלופי מהרשימה: (Shift+Click: פתיחה בדפדפן)" - -#, fuzzy -#~ msgid "Move to Trash" -#~ msgstr "הזזת טעינה אוטומטית" - -#, fuzzy -#~ msgid "Expand All Properties" -#~ msgstr "הרחבת כל המאפיינים" - -#~ msgid "Copy Params" -#~ msgstr "העתקת משתנים" - -#~ msgid "Open in Help" -#~ msgstr "פתיחה בעזרה" - -#~ msgid "Clone Down" -#~ msgstr "לשכפל למטה" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "גרירה: הטיה\n" -#~ "Alt+גרירה: הזזה\n" -#~ "Alt+כפתור ימני: בחירת רשימת עומק" - -#, fuzzy -#~ msgid "Theme File" -#~ msgstr "פתיחת קובץ" - -#~ msgid "Templates" -#~ msgstr "תבניות" - -#~ msgid "Can not perform with the root node." -#~ msgstr "לא ניתן לביצוע עם מפרק השורש." - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "לא ניתן לקרוא קובץ תמונת פתיח:" - -#~ msgid "Using default boot splash image." -#~ msgstr "נעשה שימוש בתמונת הפתיח כבררת מחדל." - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "נגן הנפשה אינו יכול להנפיש את עצמו, רק שחקנים אחרים." - -#~ msgid "Clipboard is empty" -#~ msgstr "לוח העתקה ריק" - -#~ msgid "No" -#~ msgstr "לא" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "סצנה זאת מעולם לא נשמרה. לשמור לפני ההרצה?" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "קובץ ההפעלה של ADB לא נקבע בהגדרות העורך." - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "OpenJDK jarsigner לא נקבע בהגדרות העורך." - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "" -#~ "בנייה מותאמת אישית דורשת נתיב חוקי של ערכת פיתוח לאנדרואיד בהגדרות העורך." - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(זמן שנותר: %d:%02d שנ׳)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "מדפיס רשתות: " - -#~ msgid "Lighting Meshes: " -#~ msgstr "רשתות תאורה: " - -#, fuzzy -#~ msgid "Search complete" -#~ msgstr "חיפוש טקסט" - -#, fuzzy -#~ msgid "No commit message was provided" -#~ msgstr "לא צוין שם" - -#, fuzzy -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "כבר קיימים קובץ או תיקייה בשם הזה." - -#~ msgid "Error trying to save layout!" -#~ msgstr "שמירת הפריסה נכשלה!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "ברירת המחדל של עורך הפריסה נדרסה." - -#, fuzzy -#~ msgid "Move pivot" -#~ msgstr "העברה למעלה" - -#, fuzzy -#~ msgid "Move anchor" -#~ msgstr "העברה למטה" - -#, fuzzy -#~ msgid "Add initial export..." -#~ msgstr "מועדפים:" - -#~ msgid "Pack File" -#~ msgstr "קובץ ארכיון" - -#~ msgid "No build apk generated at: " -#~ msgstr "לא נוצר apk ב: " - -#, fuzzy -#~ msgid "FileSystem and Import Docks" -#~ msgstr "מערכת קבצים" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "בעת ייצוא או הטמעה, קובץ ההפעלה ינסה להתחבר לכתובת ה־IP של המחשב הזה " -#~ "לצורך ניפוי שגיאות." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "הסצנה הנוכחית מעולם לא נשמרה, נא לשמור אותה בטרם ההרצה." - -#~ msgid "Revert" -#~ msgstr "שחזור" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "לא ניתן לבטל פעולה זו. לשחזר בכל זאת?" - -#~ msgid "Issue Tracker" -#~ msgstr "עוקב תקלות" - -#~ msgid "enum " -#~ msgstr "מונה " - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "תיאור קצר:" - -#, fuzzy -#~ msgid "Class Description" -#~ msgstr "תיאור" - -#~ msgid "Password:" -#~ msgstr "ססמה:" - -#~ msgid "Pause the scene" -#~ msgstr "השהיית הסצנה" - -#, fuzzy -#~ msgid "Add input +" -#~ msgstr "הוספת אירוע" - -#, fuzzy -#~ msgid "Methods:" -#~ msgstr "שיטות" - -#, fuzzy -#~ msgid "Theme Properties:" -#~ msgstr "מאפיינים" - -#~ msgid "Constants:" -#~ msgstr "קבועים:" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "תיאור:" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "תיאור המאפיין:" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "תיאור השיטה:" - -#, fuzzy -#~ msgid "Reverse sorting." -#~ msgstr "מוגשת בקשה…" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "לא ניתן לפתוח את file_type_cache.cch לכתיבה, מטמון סוג הקבצים לא יישמר!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "לא ניתן לנווט אל ‚%s’ כיוון שלא נמצא במערכת הקבצים!" - -#, fuzzy -#~ msgid "Error: could not load file." -#~ msgstr "לא ניתן ליצור תיקייה." - -#~ msgid "Select Mode (Q)" -#~ msgstr "בחירת מצב (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "מצב הזזה (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "מצב הטיה (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "מצב שינוי קנה מידה (R)" - -#~ msgid "Local Coords" -#~ msgstr "נקודות ציון מקומיות" - -#~ msgid "Project List" -#~ msgstr "רשימת המיזמים" - -#~ msgid "Exit" -#~ msgstr "יציאה" - -#~ msgid "Unknown font format." -#~ msgstr "מבנה הגופן לא ידוע." - -#~ msgid "Error loading font." -#~ msgstr "שגיאה בטעינת הגופן." - -#~ msgid "Invalid font size." -#~ msgstr "גודל הגופן שגוי." - -#, fuzzy -#~ msgid "Previous Folder" -#~ msgstr "המישור הקודם" - -#, fuzzy -#~ msgid "Next Folder" -#~ msgstr "יצירת תיקייה" - -#, fuzzy -#~ msgid "Open in an external image editor." -#~ msgstr "פתיחת העורך הבא" - -#~ msgid "Generating solution..." -#~ msgstr "הפתרון נוצר…" - -#~ msgid "Generating C# project..." -#~ msgstr "נוצר מיזם C#…" - -#~ msgid "Failed to create solution." -#~ msgstr "יצירת הפתרון נכשלה." - -#~ msgid "Failed to save solution." -#~ msgstr "שמירת הפתרון נכשלה." - -#~ msgid "Failed to create C# project." -#~ msgstr "יצירת מיזם C# נכשלה." - -#~ msgid "Create C# solution" -#~ msgstr "יצירת פתרון C#" - -#, fuzzy -#~ msgid "Enabled Classes" -#~ msgstr "חיפוש במחלקות" - -#~ msgid "Update Always" -#~ msgstr "לעדכן תמיד" - -#~ msgid "Path to Node:" -#~ msgstr "נתיב המפרק:" - -#~ msgid "Delete selected files?" -#~ msgstr "למחוק את הקבצים הנבחרים?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "אין קובץ ‚res://default_bus_layout.tres’." - -#~ msgid "Go to parent folder" -#~ msgstr "מעבר לתיקייה שמעל" - -#~ msgid "Open Scene(s)" -#~ msgstr "פתיחת סצנות" - -#~ msgid "Previous Directory" -#~ msgstr "התיקייה הקודמת" - -#~ msgid "Next Directory" -#~ msgstr "התיקייה הבאה" - -#, fuzzy -#~ msgid "Custom Node" -#~ msgstr "גזירת מפרקים" - -#~ msgid "Create Area" -#~ msgstr "יצירת שטח" - -#~ msgid "Create Exterior Connector" -#~ msgstr "יצירת מחבר חיצוני" - -#, fuzzy -#~ msgid "Snap (s): " -#~ msgstr "צעד/ים:" - -#~ msgid "Line:" -#~ msgstr "שורה:" - -#~ msgid "Col:" -#~ msgstr "עמודה:" - -#, fuzzy -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "PathFollow2D עובד רק כאשר הוא מוגדר כצאצא של מפרק Path2D." - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "הסרת תבנית" - -#, fuzzy -#~ msgid "Poly" -#~ msgstr "עריכת מצולע" - -#, fuzzy -#~ msgid "Splits" -#~ msgstr "פיצול נתיב" - -#~ msgid "Create Poly" -#~ msgstr "יצירת מצולע" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "יצירת מצולע חדש מאפס" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "להתרחק" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "להתקרב" - -#~ msgid "Save Theme As" -#~ msgstr "שמירת ערכת העיצוב בשם" - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "להתקרב" - -#~ msgid "Class List:" -#~ msgstr "רשימת מחלקות:" - -#~ msgid "Public Methods" -#~ msgstr "שיטות ציבוריות" - -#~ msgid "Public Methods:" -#~ msgstr "שיטות ציבוריות:" - -#, fuzzy -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "החלפת מצב התיקייה כמועדפת" - -#, fuzzy -#~ msgid "Whole words" -#~ msgstr "מילים שלמות" - -#, fuzzy -#~ msgid "Match case" -#~ msgstr "התאמת רישיות" - -#~ msgid "Search the class hierarchy." -#~ msgstr "חיפוש בהיררכיית המחלקות." - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "חיפוש במחלקות" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "ניתן לערוך סקריפטים מובנים רק כאשר הסצנה אליהם הם שייכים נטענה" - -#~ msgid "Convert To Uppercase" -#~ msgstr "המרה לאותיות גדולות" - -#~ msgid "Convert To Lowercase" -#~ msgstr "המרה לאותיות קטנות" - -#~ msgid "Error: Missing Input Connections" -#~ msgstr "שגיאה: חסרים חיבורי קלט" - -#~ msgid "In" -#~ msgstr "כניסה" - -#~ msgid "Out" -#~ msgstr "יציאה" - -#~ msgid "In-Out" -#~ msgstr "כניסה-יציאה" - -#~ msgid "Out-In" -#~ msgstr "יציאה-כניסה" - -#~ msgid "Key" -#~ msgstr "מפתח" - -#~ msgid "Thanks!" -#~ msgstr "תודה!" - -#~ msgid "I see..." -#~ msgstr "אני רואה…" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "בררת מחדל (כמו העורך)" - -#~ msgid "OK :(" -#~ msgstr "בסדר :(" - -#~ msgid "Button 8" -#~ msgstr "כפתור 8" - -#~ msgid "Button 9" -#~ msgstr "כפתור 9" - -#~ msgid "Can't write file." -#~ msgstr "לא ניתן לכתוב קובץ." - -#~ msgid "Replace By" -#~ msgstr "להחליף ב־" - -#~ msgid "Backwards" -#~ msgstr "אחורה" - -#~ msgid "Prompt On Replace" -#~ msgstr "להודיע על החלפה" - -#~ msgid "Skip" -#~ msgstr "לדלג" diff --git a/editor/translations/hi.po b/editor/translations/hi.po index c9d5128faa..8d22f212f1 100644 --- a/editor/translations/hi.po +++ b/editor/translations/hi.po @@ -1,6 +1,6 @@ # Hindi translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Abhas Kumar Sinha <abhaskumarsinha@gmail.com>, 2017. # Suryansh5545 <suryanshpathak5545@gmail.com>, 2018, 2020. @@ -2122,14 +2122,30 @@ msgstr "तरीकों" msgid "Theme Properties" msgstr "थीम विशेषता" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "गणना" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "कोन्स्टन्ट" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "गणना" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "प्रोपर्टी का विवरण" @@ -8527,18 +8543,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -13248,7 +13252,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -13257,6 +13266,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14271,169 +14295,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "" - -#~ msgid "Singleton" -#~ msgstr "सिन्गलटन" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "प्रोफ़ाइल '%s' को मिटाएं? (इसे अंडू नहीं किया जा सकता है)" - -#~ msgid "Enabled Properties:" -#~ msgstr "सक्रिय प्रोपरटिज:" - -#~ msgid "Enabled Features:" -#~ msgstr "सक्रिय फ़िचर्स:" - -#~ msgid "Unset" -#~ msgstr "अन्सेट" - -#~ msgid "Class Options" -#~ msgstr "क्लास विकल्प" - -#~ msgid "Set" -#~ msgstr "सेट करे" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "सहेजा गया% संशोधित संसाधन (एस)" - -#~ msgid "Q&A" -#~ msgstr "Q&A" - -#~ msgid "Status:" -#~ msgstr "स्थिति:" - -#~ msgid "Edit:" -#~ msgstr "संपादित:" - -#~ msgid "Redownload" -#~ msgstr "रीडाउनलोड करें" - -#~ msgid "(Installed)" -#~ msgstr "(स्थापित)" - -#~ msgid "(Missing)" -#~ msgstr "(लापता)" - -#~ msgid "Redirect Loop." -#~ msgstr "लूप को रीडायरेक्ट करते हैं।" - -#~ msgid "Download Complete." -#~ msgstr "पूरा डाउनलोड करें।" - -#~ msgid "Remove Template" -#~ msgstr "टेम्पलेट निकालें" - -#~ msgid "Download Templates" -#~ msgstr "टेम्पलेट्स डाउनलोड करें" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "सूची से दर्पण चुनें: (शिफ्ट +क्लिक: ब्राउज़र में खुला)" - -#~ msgid "Move to Trash" -#~ msgstr "ट्रैश में ले जाएं" - -#, fuzzy -#~ msgid "Size" -#~ msgstr "आकार: " - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "एक एनीमेशन खिलाड़ी खुद को चेतन नहीं कर सकता, केवल अन्य खिलाड़ी।" - -#~ msgid "Clipboard is empty" -#~ msgstr "क्लिपबोर्ड खाली है" - -#~ msgid "No" -#~ msgstr "नहीं" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "इस सीन को कभी नहीं बचाया गया। दौड़ने से पहले सहेजें?" - -#~ msgid "Error trying to save layout!" -#~ msgstr "लेआउट को बचाने की कोशिश कर रहा त्रुटि!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "डिफ़ॉल्ट संपादक लेआउट अभिभूत।" - -#, fuzzy -#~ msgid "Add initial export..." -#~ msgstr "पसंदीदा:" - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "फाइलसिस्टेम और इंपोर्ट डोक्स" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "निर्यात या तैनाती करते समय, परिणामी निष्पादक इस कंप्यूटर के आईपी से जुड़ने का प्रयास " -#~ "करेगा ताकि डिबग किया जा सके।" - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "वर्तमान दृश्य कभी नहीं बचाया गया था, कृपया इसे चलाने से पहले बचाने के लिए ।" - -#~ msgid "Revert" -#~ msgstr "वापस लौटना" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "इस कार्रवाई को पूर्ववत नहीं किया जा सकता । वैसे भी वापस?" - -#~ msgid "Issue Tracker" -#~ msgstr "मुद्दा पर नज़र रखने वाला" - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "बदल दिया % डी घटना (एस) ।" - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "विवरण:" - -#, fuzzy -#~ msgid "Class Description" -#~ msgstr "विवरण:" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "विवरण:" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "विवरण:" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "विवरण:" - -#~ msgid "Invalid font size." -#~ msgstr "गलत फॉण्ट का आकार |" - -#, fuzzy -#~ msgid "Create C# solution" -#~ msgstr "सदस्यता बनाएं" - -#~ msgid "Line:" -#~ msgstr "रेखा:" - -#~ msgid "Col:" -#~ msgstr "स्तंभ:" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "छोटा करो" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "बड़ा करो" - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "बड़ा करो" - -#, fuzzy -#~ msgid "Match case" -#~ msgstr "एक जैसा:" - -#~ msgid "Thanks!" -#~ msgstr "धन्यवाद!" - -#~ msgid "Skip" -#~ msgstr "छोड़ें" diff --git a/editor/translations/hr.po b/editor/translations/hr.po index e4a3ff779e..6781cf9246 100644 --- a/editor/translations/hr.po +++ b/editor/translations/hr.po @@ -1,6 +1,6 @@ # Croatian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Unlimited Creativity <marinosah1@gmail.com>, 2019. # Patik <patrikfs5@gmail.com>, 2019. @@ -2074,14 +2074,30 @@ msgstr "" msgid "Theme Properties" msgstr "" -#: editor/editor_help.cpp -msgid "Enumerations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "" @@ -8308,18 +8324,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -12898,7 +12902,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12907,6 +12916,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -13898,27 +13922,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Konstante se ne mogu mijenjati." - -#~ msgid "Singleton" -#~ msgstr "Sajngleton" - -#, fuzzy -#~ msgid "Move to Trash" -#~ msgstr "Premjesti Autoload" - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "Animator ne može animirati sebe, samo druge objekte." - -#~ msgid "Clipboard is empty" -#~ msgstr "Međuspremnik je prazan" - -#, fuzzy -#~ msgid "Pack File" -#~ msgstr "Otvori datoteku" - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "Zamijenjeno %d pojavljivanja." - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "Opis:" diff --git a/editor/translations/hu.po b/editor/translations/hu.po index 06185da411..a25777630a 100644 --- a/editor/translations/hu.po +++ b/editor/translations/hu.po @@ -1,6 +1,6 @@ # Hungarian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Árpád Horváth <horvatha4@googlemail.com>, 2018. # Nagy Lajos <neutron9707@gmail.com>, 2017. @@ -20,13 +20,14 @@ # Looky1173 <lgl1173and2006@gmail.com>, 2021. # Frontrider <frontrider@tutanota.com>, 2021. # Andras Virag <snowflake71@gmail.com>, 2021. +# balintmaci <balintmaci@gmail.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-11-14 11:41+0000\n" -"Last-Translator: Andras Virag <snowflake71@gmail.com>\n" +"PO-Revision-Date: 2021-12-06 21:44+0000\n" +"Last-Translator: balintmaci <balintmaci@gmail.com>\n" "Language-Team: Hungarian <https://hosted.weblate.org/projects/godot-engine/" "godot/hu/>\n" "Language: hu\n" @@ -34,7 +35,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.9.1-dev\n" +"X-Generator: Weblate 4.10-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -384,13 +385,12 @@ 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 "" +msgstr "'%s' csomópont" #. 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ó" +msgstr "animáció" #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." @@ -400,9 +400,8 @@ 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 "Tulajdonság" +msgstr "'%s' tulajdonság" #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" @@ -616,7 +615,6 @@ msgid "Go to Previous Step" msgstr "Ugrás az Előző Lépésre" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Apply Reset" msgstr "Visszaállítás" @@ -872,6 +870,7 @@ msgstr "Elhalasztott" msgid "" "Defers the signal, storing it in a queue and only firing it at idle time." msgstr "" +"Késlelteti a jelzést, amit egy sorban tárol és csak holtidőben adja ki." #: editor/connections_dialog.cpp msgid "Oneshot" @@ -962,9 +961,8 @@ msgid "Edit..." msgstr "Szerkesztés..." #: editor/connections_dialog.cpp -#, fuzzy msgid "Go to Method" -msgstr "Ugrás metódusra" +msgstr "Ugrás az eljárásra" #: editor/create_dialog.cpp msgid "Change %s Type" @@ -984,7 +982,7 @@ msgstr "Nincs találat a következőre: \"%s\"." #: editor/create_dialog.cpp editor/property_selector.cpp msgid "No description available for %s." -msgstr "" +msgstr "Nincs elérhető leírás: %s." #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -1084,17 +1082,16 @@ msgid "Owners Of:" msgstr "Tulajdonosai:" #: 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 "" -"Eltávolítja a kiválasztott fájlokat a projektből? (nem visszavonható)\n" -"Az eltávolított fájlokat a lomtárban találja, ha visszaállítaná őket." +"Eltávolítja a kiválasztott fájlokat a projektből? (Nem visszavonható.)\n" +"A rendszerbeállítások szerint az eltávolított fájlok vagy a lomtárba " +"kerülnek vagy véglegesen törlődnek." #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" @@ -1102,9 +1099,10 @@ msgid "" "Depending on your filesystem configuration, the files will either be moved " "to the system trash or deleted permanently." msgstr "" -"Az eltávolítandó fájlokat szükségelik más források a működésükhöz.\n" -"Eltávolítja őket ennek ellenére? (nem visszavonható)\n" -"Az eltávolított fájlokat a lomtárban találja, ha visszaállítaná őket." +"Az eltávolítandó fájlokra szükség van egyéb erőforrások működéséhez.\n" +"Eltávolítja őket ennek ellenére? (Nem visszavonható.)\n" +"A rendszerbeállítások szerint az eltávolított fájlok vagy a lomtárba " +"kerülnek vagy véglegesen törlődnek." #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -1274,41 +1272,36 @@ msgid "Licenses" msgstr "Licencek" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Error opening asset file for \"%s\" (not in ZIP format)." -msgstr "Hiba a csomagfájl megnyitása során (nem ZIP formátumú)." +msgstr "Hiba a \"%s\" csomagfájl megnyitása során (nem ZIP formátumú)." #: editor/editor_asset_installer.cpp -#, fuzzy msgid "%s (already exists)" -msgstr "'%s' (már létezik)" +msgstr "%s (már létezik)" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:" -msgstr "" +msgstr "\"%s\" csomag tartalma - %d fájl ütközik a projekteddel:" #: editor/editor_asset_installer.cpp msgid "Contents of asset \"%s\" - No files conflict with your project:" -msgstr "" +msgstr "\"%s\" csomag tartalma - Nincs fájl ütközés a projekteddel:" #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" msgstr "Eszközök Kicsomagolása" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "The following files failed extraction from asset \"%s\":" -msgstr "A következő fájlokat nem sikerült kibontani a csomagból:" +msgstr "A következő fájlokat nem sikerült kibontani \"%s\" csomagból:" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "(and %s more files)" -msgstr "És további %s fájl." +msgstr "(és további %s fájl)" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset \"%s\" installed successfully!" -msgstr "A csomag telepítése sikeres volt!" +msgstr "\"%s\" csomag telepítése sikeres!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -1320,7 +1313,6 @@ msgid "Install" msgstr "Telepítés" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset Installer" msgstr "Csomagtelepítő" @@ -1385,9 +1377,8 @@ msgid "Bypass" msgstr "Kitérés" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Bus Options" -msgstr "Busz beállítások" +msgstr "Busz Beállítások" #: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp @@ -1554,9 +1545,8 @@ msgid "Can't add autoload:" msgstr "Nem lehet hozzáadni az automatikus betöltést:" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "%s is an invalid path. File does not exist." -msgstr "A fájl nem létezik." +msgstr "%s útvonal hibás. A fájl nem létezik." #: editor/editor_autoload_settings.cpp msgid "%s is an invalid path. Not in resource path (res://)." @@ -1586,9 +1576,8 @@ msgid "Name" msgstr "Név" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Global Variable" -msgstr "Változó átnevezése" +msgstr "Globális Változó" #: editor/editor_data.cpp msgid "Paste Params" @@ -1761,17 +1750,17 @@ msgid "Import Dock" msgstr "Dock importálása" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Allows to view and edit 3D scenes." msgstr "Lehetővé teszi a 3D jelenetek megtekintését és szerkesztését." #: editor/editor_feature_profile.cpp msgid "Allows to edit scripts using the integrated script editor." msgstr "" +"Lehetővé teszi a szkriptek módosítását a beépített szkript szerkesztővel." #: editor/editor_feature_profile.cpp msgid "Provides built-in access to the Asset Library." -msgstr "" +msgstr "Beépített hozzáférést ad a Csomagkönyvtárhoz." #: editor/editor_feature_profile.cpp msgid "Allows editing the node hierarchy in the Scene dock." @@ -2148,14 +2137,34 @@ msgstr "Metódusok" msgid "Theme Properties" msgstr "Téma Tulajdonságai" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Listák" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Colors" +msgstr "Szín" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Állandók" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Fonts" +msgstr "Betűtípus" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Icons" +msgstr "Ikon" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Styles" +msgstr "Stílus" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Felsorolások" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Tulajdonság leírásai" @@ -8595,21 +8604,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Colors" -msgstr "Szín" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Fonts" -msgstr "Betűtípus" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Icons" -msgstr "Ikon" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Styleboxes" msgstr "Stílus" @@ -13242,7 +13236,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -13251,6 +13250,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14260,673 +14274,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "" - -#~ msgid "Package Contents:" -#~ msgstr "Csomag tartalma:" - -#~ msgid "Singleton" -#~ msgstr "Egyke" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Törli a(z) '%s' profilt? (nem visszavonható)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Engedélyezett tulajdonságok:" - -#~ msgid "Enabled Features:" -#~ msgstr "Engedélyezett funkciók:" - -#~ msgid "Unset" -#~ msgstr "Nincs beállítva" - -#~ msgid "Class Options" -#~ msgstr "Osztály beállításai" - -#~ msgid "Set" -#~ msgstr "Beállít" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "%s módosított erőforrás mentve." - -#~ msgid "Q&A" -#~ msgstr "Kérdések és válaszok" - -#~ msgid "Status:" -#~ msgstr "Állapot:" - -#~ msgid "Edit:" -#~ msgstr "Szerkesztés:" - -#~ msgid "Redownload" -#~ msgstr "Letöltés újra" - -#~ msgid "(Installed)" -#~ msgstr "(Telepítve)" - -#~ msgid "(Missing)" -#~ msgstr "(Hiányzik)" - -#~ msgid "Request Failed." -#~ msgstr "A kérés sikertelen." - -#~ msgid "Redirect Loop." -#~ msgstr "Ciklus átiránítása." - -#~ msgid "Download Complete." -#~ msgstr "A Letöltés Befejeződött." - -#~ msgid "Remove Template" -#~ msgstr "Sablon Eltávolítása" - -#~ msgid "Download Templates" -#~ msgstr "Sablonok Letöltése" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "" -#~ "Tükör kiválasztása a listából: (Shift + kattintás: megnyitás a " -#~ "böngészőben)" - -#~ msgid "Move to Trash" -#~ msgstr "Lomtárba Helyezés" - -#~ msgid "Expand All Properties" -#~ msgstr "Összes tulajdonság kinyitása" - -#~ msgid "Copy Params" -#~ msgstr "Paraméterek Másolása" - -#~ msgid "Open in Help" -#~ msgstr "Megnyitás Súgóban" - -#~ msgid "Drag: Rotate" -#~ msgstr "Húzás: Forgatás" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Nyomja meg a 'v' gombot a Forgatási Pont Megváltoztatásához, Vagy 'Shift " -#~ "+ v'-t a Forgatási Pont Húzásához (mozgás közben)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt + Jobb Egérgomb: Mélységi lista választás" - -#~ msgid "Clone Down" -#~ msgstr "Klónozás Lefelé" - -#~ msgid "Size" -#~ msgstr "Méret" - -#~ msgid "Theme File" -#~ msgstr "Témafájl" - -#~ msgid "Templates" -#~ msgstr "Sablonok" - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Egy AnimationPlayer nem tudja önmagát animálni, csak más AnimationPlayer " -#~ "node-okat." - -#~ msgid "Clipboard is empty" -#~ msgstr "A vágólap üres" - -#~ msgid "No" -#~ msgstr "Nem" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Ez a Scene még soha nem volt mentve. Menti futtatás előtt?" - -#~ msgid "Search complete" -#~ msgstr "A keresés kész" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "Ezen a helyen már van azonos nevű fájl vagy mappa." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Hiba történt az elrendezés mentésekor!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Alapértelmezett szerkesztő elrendezés felülírva." - -#~ msgid "Move pivot" -#~ msgstr "Forgatási pont áthelyezése" - -#~ msgid "Move anchor" -#~ msgstr "Horgony áthelyezése" - -#~ msgid "Resize CanvasItem" -#~ msgstr "CanvasItem átméretezése" - -#~ msgid "Polygon->UV" -#~ msgstr "Sokszög -> UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV -> Sokszög" - -#, fuzzy -#~ msgid "Add initial export..." -#~ msgstr "Kezdeti exportálás hozzáadása..." - -#~ msgid "Pack File" -#~ msgstr "Csomagfájl" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "Exportáláskor vagy telepítéskor az így kapott futtatható program " -#~ "megpróbál ennek a számítógépnek az IP-jéhez csatlakozni távoli " -#~ "hibakeresés érdekében." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "" -#~ "A jelenlegi Scene soha nem volt még mentve, mentse el a futtatás előtt." - -#~ msgid "Revert" -#~ msgstr "Visszaállítás" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Ez a művelet nem vonható vissza. Visszaállítja mindenképp?" - -#~ msgid "Revert Scene" -#~ msgstr "Scene visszaállítás" - -#~ msgid "Issue Tracker" -#~ msgstr "Problémakövető" - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "Lecserélve %d előfordulás." - -#~ msgid "Create Static Convex Body" -#~ msgstr "Statikus Konvex Test Létrehozása" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Jelenleg nincsenek oktatóanyagok ehhez az osztályhoz. [color=$color][url=" -#~ "$url]Hozzájárulhat eggyel[/url][/color], vagy [color=$color][url=" -#~ "$url2]kérvényezhet egyet[/url][/color]." - -#~ msgid "enum " -#~ msgstr "enum " - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "Rövid Leírás:" - -#, fuzzy -#~ msgid "Class Description" -#~ msgstr "Leírás" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "Projekt export nem sikerült, hibakód %d." - -#~ msgid "Password:" -#~ msgstr "Jelszó:" - -#~ msgid "Pause the scene" -#~ msgstr "Szünetelteti a jelenetet" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Control+" -#~ msgstr "Control+" - -#, fuzzy -#~ msgid "Snap to Grid" -#~ msgstr "Rácshoz illesztés" - -#, fuzzy -#~ msgid "Add input +" -#~ msgstr "Bemenet Hozzáadása" - -#, fuzzy -#~ msgid "Input" -#~ msgstr "Bemenet Hozzáadása" - -#, fuzzy -#~ msgid "Methods:" -#~ msgstr "Metódusok" - -#, fuzzy -#~ msgid "Theme Properties:" -#~ msgstr "Tulajdonságok" - -#~ msgid "Constants:" -#~ msgstr "Konstansok:" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "Leírás:" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "Tulajdonság Leírása:" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "Metódus Leírás:" - -#, fuzzy -#~ msgid "Reverse sorting." -#~ msgstr "Lekérdezés..." - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "Nem lehet megnyitni a file_type_cache.cch fájlt írásra, a fájltípus " -#~ "gyorsítótár nem lesz mentve!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "Nem lehet '%s'-t elérni, mivel nem létezik a fájlrendszerben!" - -#~ msgid "Error loading image:" -#~ msgstr "Hiba a kép betöltésekor:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "Nem létezik egyetlen pixel sem >128-as átlátszósággal a képben..." - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "A szülőnek nincsenek kitölthető szilárd oldalai." - -#~ msgid "Couldn't map area." -#~ msgstr "A területet nem lehetett leképezni." - -#~ msgid "Faces contain no area!" -#~ msgstr "Az oldalak nem tartalmaznak területet!" - -#~ msgid "No faces!" -#~ msgstr "Nincsenek oldalak!" - -#, fuzzy -#~ msgid "Error: could not load file." -#~ msgstr "Nem sikerült létrehozni a mappát." - -#~ msgid "Doppler Enable" -#~ msgstr "Doppler engedélyezése" - -#~ msgid "Error initializing FreeType." -#~ msgstr "FreeType inicializálási hiba." - -#~ msgid "Unknown font format." -#~ msgstr "Ismeretlen betűtípus formátum." - -#~ msgid "Error loading font." -#~ msgstr "Hiba a betűtípus betöltésekor." - -#~ msgid "Invalid font size." -#~ msgstr "Érvénytelen betűtípus méret." - -#, fuzzy -#~ msgid "Previous Folder" -#~ msgstr "Előző Sík" - -#, fuzzy -#~ msgid "Next Folder" -#~ msgstr "Mappa Létrehozása" - -#, fuzzy -#~ msgid "Open in an external image editor." -#~ msgstr "Következő Szerkesztő Megnyitása" - -#~ msgid "Reverse" -#~ msgstr "Visszafele" - -#, fuzzy -#~ msgid "View log" -#~ msgstr "Fájlok Megtekintése" - -#, fuzzy -#~ msgid "Enabled Classes" -#~ msgstr "Osztályok Keresése" - -#~ msgid "Update Always" -#~ msgstr "Frissítés Mindig" - -#~ msgid "Path to Node:" -#~ msgstr "Út a Node-hoz:" - -#~ msgid "Delete selected files?" -#~ msgstr "Törli a kiválasztott fájlokat?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "Nincs 'res://default_bus_layout.tres' fájl." - -#~ msgid "Go to parent folder" -#~ msgstr "Ugrás a szülőmappába" - -#~ msgid "Open Scene(s)" -#~ msgstr "Scene(k) megnyitás" - -#~ msgid "Previous Directory" -#~ msgstr "Előző Könyvtár" - -#~ msgid "Next Directory" -#~ msgstr "Következő Könyvtár" - -#~ msgid "Ease in" -#~ msgstr "Lassan Be" - -#~ msgid "Ease out" -#~ msgstr "Lassan Ki" - -#~ msgid "Create Convex Static Body" -#~ msgstr "Konvex Statikus Test Létrehozása" - -#, fuzzy -#~ msgid "Custom Node" -#~ msgstr "Node-ok Másolása" - -#, fuzzy -#~ msgid "Snap (s): " -#~ msgstr "Lépés (mp):" - -#, fuzzy -#~ msgid "Insert keys." -#~ msgstr "Kulcsok Beszúrása" - -#, fuzzy -#~ msgid "Font Size:" -#~ msgstr "Körvonal Mérete:" - -#~ msgid "Line:" -#~ msgstr "Sor:" - -#~ msgid "Col:" -#~ msgstr "Oszlop:" - -#, fuzzy -#~ msgid "Add Split" -#~ msgstr "Pont hozzáadása" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "Pont eltávolítása" - -#, fuzzy -#~ msgid "Poly" -#~ msgstr "Sokszög Szerkesztése" - -#, fuzzy -#~ msgid "Splits" -#~ msgstr "Útvonal Felosztása" - -#~ msgid "Create Poly" -#~ msgstr "Sokszög Létrehozása" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "Új sokszög létrehozása a semmiből" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "Kicsinyítés" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "Nagyítás" - -#~ msgid "Create Poly3D" -#~ msgstr "Poly3D Létrehozása" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "Nincs OccluderPolygon2D erőforrás ezen a Node-on.\n" -#~ "Létrehoz egyet és hozzárendeli a Node-hoz?" - -#~ msgid "LMB: Move Point." -#~ msgstr "Bal Egérgomb: Pont Mozgatása." - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl + Bal Egérgomb: Szakasz Felosztása." - -#~ msgid "RMB: Erase Point." -#~ msgstr "Jobb Egérgomb: Pont Törlése." - -#~ msgid "Save Theme As" -#~ msgstr "Téma Mentése Másként" - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "Nagyítás" - -#~ msgid "Class List:" -#~ msgstr "Osztálylista:" - -#~ msgid "Public Methods" -#~ msgstr "Publikus Metódusok" - -#~ msgid "Public Methods:" -#~ msgstr "Publikus Metódusok:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "GUI Téma Elemek:" - -#, fuzzy -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Mappa Kedvencnek jelölése / Kedvenc jelölés visszavonása" - -#, fuzzy -#~ msgid "Whole words" -#~ msgstr "Teljes Szavak" - -#, fuzzy -#~ msgid "Match case" -#~ msgstr "Pontos Egyezés" - -#~ msgid "Ok" -#~ msgstr "Rendben" - -#~ msgid "Search the class hierarchy." -#~ msgstr "Keresés az osztályhierarchiában." - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "Osztályok Keresése" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "" -#~ "A beépített szkriptek csak akkor szerkeszthetőek, amikor az a Scene " -#~ "amihez tartoznak éppen be van töltve" - -#~ msgid "Convert To Uppercase" -#~ msgstr "Konvertálás Nagybetűsre" - -#~ msgid "Convert To Lowercase" -#~ msgstr "Konvertálás Kisbetűsre" - -#~ msgid "Bake!" -#~ msgstr "Besütés!" - -#~ msgid "Bake the navigation mesh." -#~ msgstr "A navigációs mesh besütése." - -#~ msgid "Change RGB Constant" -#~ msgstr "RGB állandó változtatás" - -#~ msgid "Change Vec Scalar Operator" -#~ msgstr "Vektor skalár kezelő változtatás" - -#~ msgid "Change RGB Operator" -#~ msgstr "RGB kezelő változtatás" - -#~ msgid "Toggle Rot Only" -#~ msgstr "Csak vörös kapcsolása" - -#~ msgid "Change Vec Function" -#~ msgstr "Vektor-függvény változtatás" - -#~ msgid "Change RGB Uniform" -#~ msgstr "Egységes-RGB változtatás" - -#~ msgid "Change Default Value" -#~ msgstr "Alapérték változtatás" - -#~ msgid "Modify Color Ramp" -#~ msgstr "Szín Gradiens Módosítása" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Animáció nyomvonal felfelé mozgatás" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Animáció nyomvonal lefelé mozgatás" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Animáció nyomvonal interpoláció változtatás" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Animáció nyomvonal érték mód változtatás" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Animáció nyomvonal takarási mód változtatás" - -#~ msgid "Edit Node Curve" -#~ msgstr "Node görbe szerkesztés" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Kiválasztás görbe szerkesztés" - -#~ msgid "Anim Add Key" -#~ msgstr "Animáció kulcs hozzáadás" - -#~ msgid "In" -#~ msgstr "Be" - -#~ msgid "Out" -#~ msgstr "Ki" - -#~ msgid "In-Out" -#~ msgstr "Be-Ki" - -#~ msgid "Out-In" -#~ msgstr "Ki-Be" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Animáció típusos érték kulcs létrehozás" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Animációhoz hívási nyomvonal hozzáadása" - -#~ msgid "Length (s):" -#~ msgstr "Hossz (mp):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "Kurzor hozzáillesztése a lépésekhez (másodpercben)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Az animáció ismétlésének engedélyezése/tiltása." - -#~ msgid "Add new tracks." -#~ msgstr "Új nyomvonalak hozzáadása." - -#~ msgid "Move current track up." -#~ msgstr "Jelenlegi nyomvonal felfelé mozgatása." - -#~ msgid "Move current track down." -#~ msgstr "Jelenlegi nyomvonal lefelé mozgatása." - -#~ msgid "Track tools" -#~ msgstr "Nyomvonal eszközök" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Engedélyezi az egyes kulcsok szerkesztését rákattintással." - -#~ msgid "Key" -#~ msgstr "Kulcs" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Melyik Node-ban hívjon funkciókat?" - -#~ msgid "Thanks!" -#~ msgstr "Kösz!" - -#~ msgid "I see..." -#~ msgstr "Értem..." - -#~ msgid "Ugh" -#~ msgstr "Hoppá" - -#~ msgid "Stop Profiling" -#~ msgstr "Profilozás Leállítása" - -#~ msgid "Start Profiling" -#~ msgstr "Profilozás Indítása" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "Alapértelmezett (Ugyanaz, Mint a Szerkesztőnek)" - -#~ msgid "Create new animation in player." -#~ msgstr "Új animáció létrehozása a lejátszóban." - -#~ msgid "Load animation from disk." -#~ msgstr "Animáció betöltése a lemezről." - -#~ msgid "Load an animation from disk." -#~ msgstr "Animáció betöltése a lemezről." - -#~ msgid "Save the current animation" -#~ msgstr "Jelenlegi animáció elmentése" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "Cél Keverési Idők Módosítása" - -#~ msgid "Copy Animation" -#~ msgstr "Animáció Másolása" - -#~ msgid "Fetching:" -#~ msgstr "Lekérés:" - -#~ msgid "prev" -#~ msgstr "előző" - -#~ msgid "next" -#~ msgstr "következő" - -#~ msgid "last" -#~ msgstr "utolsó" - -#~ msgid "Edit IK Chain" -#~ msgstr "IK Lánc Szerkesztése" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "Forgatási pont húzása az egér helyétől" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "Forgatási pont beállítása az egér helyére" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "Szín Gradiens Pont Hozzáadása / Eltávolítása" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "Érvénytelen version.txt formátum a sablonokban. A revízió nem érvényes " -#~ "azonosító." - -#~ msgid "Can't write file." -#~ msgstr "Nem lehet fájlt írni." - -#, fuzzy -#~ msgid "Replace By" -#~ msgstr "Lecserél" - -#~ msgid "Backwards" -#~ msgstr "Visszafelé" - -#~ msgid "Prompt On Replace" -#~ msgstr "Figyelmeztetés Lecseréléskor" - -#~ msgid "Skip" -#~ msgstr "Átlapoz" - -#~ msgid "Move Add Key" -#~ msgstr "Hozzáadás kulcs mozgatása" diff --git a/editor/translations/id.po b/editor/translations/id.po index a52361e5c7..a33478fe65 100644 --- a/editor/translations/id.po +++ b/editor/translations/id.po @@ -1,6 +1,6 @@ # Indonesian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Abdul Aziz Muslim Alqudsy <abdul.aziz.muslim.alqudsy@gmail.com>, 2016. # Andevid Dynmyn <doyan4forum@gmail.com>, 2016. @@ -2139,14 +2139,34 @@ msgstr "Metode" msgid "Theme Properties" msgstr "Properti Tema" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Enumerasi" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Colors" +msgstr "Warna" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Konstanta" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Fonts" +msgstr "Fonta" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Icons" +msgstr "Ikon" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Styles" +msgstr "Gaya" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Enumerasi" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Deskripsi Properti" @@ -8585,21 +8605,6 @@ msgstr "TeksturRegion" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Colors" -msgstr "Warna" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Fonts" -msgstr "Fonta" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Icons" -msgstr "Ikon" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Styleboxes" msgstr "Gaya" @@ -13437,8 +13442,17 @@ msgid "\"Use Custom Build\" must be enabled to use the plugins." msgstr "\"Gunakan Build Custom\" harus diaktifkan untuk menggunakan plugin." #: platform/android/export/export_plugin.cpp +#, fuzzy msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" +"\"Pelacakan Tangan\" hanya valid ketika \"Mode Xr\" bernilai \"Oculus Mobile " +"VR\"." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" "\"Pelacakan Tangan\" hanya valid ketika \"Mode Xr\" bernilai \"Oculus Mobile " "VR\"." @@ -13449,6 +13463,25 @@ msgstr "" "\"Expor AAB\" hanya bisa valid ketika \"Gunakan Build Custom\" diaktifkan." #: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" +"\"Expor AAB\" hanya bisa valid ketika \"Gunakan Build Custom\" diaktifkan." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" +"\"Expor AAB\" hanya bisa valid ketika \"Gunakan Build Custom\" diaktifkan." + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " @@ -14611,1063 +14644,3 @@ msgstr "Pemberian nilai untuk uniform." #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Konstanta tidak dapat dimodifikasi." - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "Buat Pose Istirahat (Dari Pertulangan)" - -#~ msgid "Bottom" -#~ msgstr "Bawah" - -#~ msgid "Left" -#~ msgstr "Kiri" - -#~ msgid "Right" -#~ msgstr "Kanan" - -#~ msgid "Front" -#~ msgstr "Depan" - -#~ msgid "Rear" -#~ msgstr "Belakang" - -#~ msgid "Nameless gizmo" -#~ msgstr "Gizmo tak bernama" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "\"Derajat Kebebasan\" hanya valid ketika \"Mode Xr\" bernilai \"Occulus " -#~ "Mobile VR\"." - -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "\"Focus Awareness\" hanya valid ketika \"Mode Xr\" bernilai \"Oculus " -#~ "Mobile VR\"." - -#~ msgid "Package Contents:" -#~ msgstr "Isi Paket:" - -#~ msgid "Singleton" -#~ msgstr "Singleton" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Hapus profil '%s'? (tidak bisa dibatalkan)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Properti yang Diaktifkan:" - -#~ msgid "Enabled Features:" -#~ msgstr "Fitur yang Diaktifkan:" - -#~ msgid "Unset" -#~ msgstr "Tidak diatur" - -#~ msgid "Class Options" -#~ msgstr "Opsi Kelas" - -#~ msgid "Set" -#~ msgstr "Terapkan" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Menyimpan resource %s yang diubah." - -#~ msgid "Q&A" -#~ msgstr "Tanya Jawab" - -#~ msgid "Status:" -#~ msgstr "Status:" - -#~ msgid "Edit:" -#~ msgstr "Sunting:" - -#~ msgid "Redownload" -#~ msgstr "Unduh Ulang" - -#~ msgid "(Installed)" -#~ msgstr "(terpasang)" - -#~ msgid "(Missing)" -#~ msgstr "(hilang)" - -#~ msgid "Request Failed." -#~ msgstr "Permintaan Gagal." - -#~ msgid "Redirect Loop." -#~ msgstr "Mengalihkan Loop." - -#~ msgid "Download Complete." -#~ msgstr "Unduhan Selesai." - -#~ msgid "Remove Template" -#~ msgstr "Hapus Templat" - -#~ msgid "Download Templates" -#~ msgstr "Unduh Templat" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "Pilih cermin dari daftar: (Shift+Click: Buka di Peramban)" - -#~ msgid "Move to Trash" -#~ msgstr "Pindahkan ke tong sampah" - -#~ msgid "Expand All Properties" -#~ msgstr "Perluas Semua Properti" - -#~ msgid "Collapse All Properties" -#~ msgstr "Tutup Semua Properti" - -#~ msgid "Copy Params" -#~ msgstr "Salin Parameter" - -#~ msgid "Open in Help" -#~ msgstr "Buka di Bantuan" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "Timpa Kamera Gim\n" -#~ "Tidak ada instance gim yang berjalan." - -#~ msgid "Drag: Rotate" -#~ msgstr "Geser: Putar" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Tekan 'v' untuk Ganti Pivot, 'Shift+v' untuk Geser Pivot (ketika " -#~ "bergerak)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+Klik kanan: Daftar seleksi kedalaman" - -#~ msgid "Clone Down" -#~ msgstr "Duplikat ke Bawah" - -#~ msgid "Yaw" -#~ msgstr "Oleng" - -#~ msgid "Size" -#~ msgstr "Ukuran" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "Seret: Rotasi\n" -#~ "Alt+Seret: Geser\n" -#~ "Alt+Klik Kanan: Daftar seleksi mendalam" - -#~ msgid "Sep.:" -#~ msgstr "Pemisah:" - -#~ msgid "Add All" -#~ msgstr "Tambahkan Semua" - -#~ msgid "Theme editing menu." -#~ msgstr "Menu untuk menyunting tema." - -#~ msgid "Create Empty Template" -#~ msgstr "Buat Templat Kosong" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "Buat Templat Editor Kosong" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "Buat dari Editor Tema Saat Ini" - -#~ msgid "Data Type:" -#~ msgstr "Jenis data:" - -#~ msgid "Theme File" -#~ msgstr "Berkas Tema" - -#~ msgid "Compiled" -#~ msgstr "Dikompilasi" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "Hapus %d proyek dalam daftar?\n" -#~ "Konten di folder proyek tidak akan dimodifikasi." - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "Hapus proyek ini dalam daftar?\n" -#~ "Konten di folder proyek tidak akan dimodifikasi." - -#~ msgid "Templates" -#~ msgstr "Templat" - -#~ msgid "Add Remapped Path" -#~ msgstr "Tambah Lokasi yang Dipetakan Ulang" - -#~ msgid "Can not perform with the root node." -#~ msgstr "Tidak dapat melakukan dengan node root." - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "Tidak dapat membaca berkas citra boot splash:" - -#~ msgid "Using default boot splash image." -#~ msgstr "Menggunakan citra boot splash baku." - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Pemutar animasi tidak bisa menganimasikan diri sendiri, hanya pemutar " -#~ "lain." - -#~ msgid "Clipboard is empty" -#~ msgstr "Papan klip kosong" - -#~ msgid "No" -#~ msgstr "Tidak" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Skena ini belum pernah disimpan. Simpan sebelum menjalankan?" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "Lokasi executable ADB belum dikonfigurasi dalam Pengaturan Editor." - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "" -#~ "Lokasi jarsigner OpenJDK belum dikonfigurasi dalam Pengaturan Editor." - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "" -#~ "Membangun kustom APK memerlukan lokasi Android SDK yang valid dalam " -#~ "Pengaturan Editor." - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(Waktu tersisa: %d:%02d s)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "Plotting Meshes: " - -#, fuzzy -#~ msgid "Lighting Meshes: " -#~ msgstr "Lighting Meshes: " - -#~ msgid "Search complete" -#~ msgstr "Pencarian selesai" - -#~ msgid "No commit message was provided" -#~ msgstr "Tidak ada pesan komit yang diberikan" - -#~ msgid "Add a commit message" -#~ msgstr "Tambahkan pesan komit" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "Sudah ada nama berkas atau folder seperti itu di lokasi ini." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Error mencoba untuk menyimpan layout!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Tata letak baku editor ditimpa." - -#~ msgid "Move pivot" -#~ msgstr "Pindahkan poros" - -#~ msgid "Move anchor" -#~ msgstr "Pindahkan jangkar" - -#~ msgid "Resize CanvasItem" -#~ msgstr "Ubah Ukuran CanvasItem" - -#~ msgid "Polygon->UV" -#~ msgstr "Poligon->UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV->Poligon" - -#~ msgid "Add initial export..." -#~ msgstr "Tambah ekspor awal..." - -#~ msgid "Add previous patches..." -#~ msgstr "Tambahkan patch sebelumnya..." - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "Hapus entri penambalan '%s' dari daftar?" - -#~ msgid "Patches" -#~ msgstr "Tambalan" - -#~ msgid "Make Patch" -#~ msgstr "Buat Tambalan" - -#~ msgid "Pack File" -#~ msgstr "Berkas Pack" - -#~ msgid "No build apk generated at: " -#~ msgstr "Tak ada build apk yang dihasilkan di: " - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "Dok Impor dan Berkas Sistem" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "Saat mengekspor atau mendeploy, hasil executable akan mencoba terhubung " -#~ "ke IP komputer untuk diawakutu." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "" -#~ "Skena saat ini belum pernah disimpan, harap simpan terlebih dahulu " -#~ "sebelum menjalankannya." - -#~ msgid "Revert" -#~ msgstr "Pulihkan" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Tindakan ini tidak dapat dibatalkan. Pulihkan saja?" - -#~ msgid "Revert Scene" -#~ msgstr "Kembalikan Skena" - -#~ msgid "Clear Script" -#~ msgstr "Bersihkan Skrip" - -#~ msgid "Issue Tracker" -#~ msgstr "Pelacak Isu" - -#~ msgid "Request Docs" -#~ msgstr "Minta Dokumentasi" - -#~ msgid "Help improve the Godot documentation by giving feedback." -#~ msgstr "Bantu tingkatkan dokumentasi Godot dengan memberikan tanggapan." - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "kejadian %d diganti." - -#~ msgid "Create Static Convex Body" -#~ msgstr "Buat Bodi Cembung Statis" - -#~ msgid "Failed creating shapes!" -#~ msgstr "Gagal membuat bentuk!" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Untuk saat ini tidak ada tutorial dalam kelas ini, anda bisa [color=" -#~ "$color][url=$url]ikut berkontribusi[/url][/color] atau [color=$color][url=" -#~ "$url2]memberikan usulan[/url][/color]." - -#~ msgid "enum " -#~ msgstr "enum " - -#~ msgid "Brief Description" -#~ msgstr "Deskripsi Singkat" - -#~ msgid "Class Description" -#~ msgstr "Deskripsi Kelas" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "Ekspor proyek gagal dengan kode kesalahan %d." - -#~ msgid "Password:" -#~ msgstr "Sandi:" - -#~ msgid "Pause the scene" -#~ msgstr "Hentikan sementara skena ini" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Control+" -#~ msgstr "Kontrol+" - -#~ msgid "Snap to Grid" -#~ msgstr "Kancing ke Kisi" - -#~ msgid "Add input +" -#~ msgstr "Tambah masukan +" - -#~ msgid "Inherits" -#~ msgstr "Mewarisi" - -#~ msgid "Base Type:" -#~ msgstr "Tipe Dasar:" - -#~ msgid "Available Nodes:" -#~ msgstr "Node-node yang Tersedia:" - -#~ msgid "Input" -#~ msgstr "Masukan" - -#~ msgid "Methods:" -#~ msgstr "Metode-metode:" - -#~ msgid "Theme Properties:" -#~ msgstr "Properti-properti Tema:" - -#~ msgid "Constants:" -#~ msgstr "Konstanta:" - -#~ msgid "Class Description:" -#~ msgstr "Deskripsi Kelas:" - -#~ msgid "Property Descriptions:" -#~ msgstr "Deskripsi Properti:" - -#~ msgid "Method Descriptions:" -#~ msgstr "Deskripsi Metode:" - -#~ msgid "" -#~ "This will install the Android project for custom builds.\n" -#~ "Note that, in order to use it, it needs to be enabled per export preset." -#~ msgstr "" -#~ "Ini akan memasang proyek Android untuk build kustom.\n" -#~ "Sebagai catatan, untuk menggunakannya, harus diaktifkan per preset " -#~ "ekspor." - -#~ msgid "Reverse sorting." -#~ msgstr "Penyortiran terbalik." - -#~ msgid "Delete Node(s)?" -#~ msgstr "Hapus Node ?" - -#~ msgid "No Matches" -#~ msgstr "Tidak ada yang cocok" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "Tidak dapat membuka file_type_cache.cch untuk menulis, berkas cache tidak " -#~ "disimpan!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "" -#~ "'%s' tidak bisa ditelusuri karena tidak bisa ditemukan dalam berkas " -#~ "sistem!" - -#~ msgid "Error loading image:" -#~ msgstr "Galat saat memuat gambar:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "Tidak ada piksel dengan transparansi > 128 di dalam gambar..." - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "Induk tidak memiliki sisi yang solid untuk diisi." - -#~ msgid "Couldn't map area." -#~ msgstr "Tidak dapat memetakan area." - -#~ msgid "Faces contain no area!" -#~ msgstr "Bidang tidak memiliki area!" - -#~ msgid "No faces!" -#~ msgstr "Tidak ada bidang!" - -#~ msgid "Error: could not load file." -#~ msgstr "Galat: tidak dapat memuat berkas." - -#~ msgid "Doppler Enable" -#~ msgstr "Aktifkan Efek Doppler" - -#~ msgid "Select Mode (Q)" -#~ msgstr "Pilih Mode (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "Mode Geser (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "Mode Rotasi (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "Mode Skala (R)" - -#~ msgid "Local Coords" -#~ msgstr "Koordinat Lokal" - -#~ msgid "Snap Mode (%s)" -#~ msgstr "Mode Pengancingan (%s)" - -#~ msgid "Tool Select" -#~ msgstr "Alat Pilih" - -#~ msgid "Tool Move" -#~ msgstr "Alat Geser" - -#~ msgid "Tool Rotate" -#~ msgstr "Alat Rotasi" - -#~ msgid "Tool Scale" -#~ msgstr "Alat Skala" - -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "" -#~ "Hapus semua proyek yang hilang dalam daftar? (folder konten tidak akan " -#~ "dimodifikasi)" - -#~ msgid "Project List" -#~ msgstr "Daftar Projek" - -#~ msgid "Exit" -#~ msgstr "Keluar" - -#~ msgid "Error initializing FreeType." -#~ msgstr "Error menginisialisasi FreeType." - -#~ msgid "Unknown font format." -#~ msgstr "Format font tidak diketahui." - -#~ msgid "Error loading font." -#~ msgstr "Error memuat font." - -#~ msgid "Invalid font size." -#~ msgstr "Ukuran font tidak sah." - -#~ msgid "Previous Folder" -#~ msgstr "Direktori Sebelumnya" - -#~ msgid "Next Folder" -#~ msgstr "Folder Berikutnya" - -#~ msgid "Automatically Open Screenshots" -#~ msgstr "Buka Screenshoots secara otomatis" - -#~ msgid "Open in an external image editor." -#~ msgstr "Buka di pengolah gambar lainnya" - -#~ msgid "Reverse" -#~ msgstr "Terbalik" - -#, fuzzy -#~ msgid "Failed to create solution." -#~ msgstr "Gagal memuat resource." - -#, fuzzy -#~ msgid "Failed to save solution." -#~ msgstr "Gagal memuat resource." - -#, fuzzy -#~ msgid "Failed to create C# project." -#~ msgstr "Gagal memuat resource." - -#, fuzzy -#~ msgid "Create C# solution" -#~ msgstr "Buat Subskribsi" - -#, fuzzy -#~ msgid "Build Project" -#~ msgstr "Proyek" - -#, fuzzy -#~ msgid "View log" -#~ msgstr "File:" - -#~ msgid "Enabled Classes" -#~ msgstr "Kelas yang Diaktifkan" - -#~ msgid "Update Always" -#~ msgstr "Selalu Perbarui" - -#~ msgid "Raw Mode" -#~ msgstr "Mode Mentah" - -#~ msgid "Path to Node:" -#~ msgstr "Path ke Node:" - -#~ msgid "Delete selected files?" -#~ msgstr "Hapus file yang dipilih?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "Tidak ada 'res://default_bus_layout.tres' berkas." - -#~ msgid "Go to parent folder" -#~ msgstr "Pergi ke direktori induk" - -#~ msgid "Open Scene(s)" -#~ msgstr "Buka Scene" - -#~ msgid "Previous Directory" -#~ msgstr "Direktori Sebelumnya" - -#~ msgid "Next Directory" -#~ msgstr "Direktori Selanjutnya" - -#, fuzzy -#~ msgid "Ease in" -#~ msgstr "Beri Skala Seleksi" - -#, fuzzy -#~ msgid "Create folder" -#~ msgstr "Buat Folder" - -#, fuzzy -#~ msgid "Custom Node" -#~ msgstr "Salin Resource" - -#, fuzzy -#~ msgid "Invalid Path" -#~ msgstr "Path Tidak Sah." - -#, fuzzy -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "Duplikat Pilihan" - -#, fuzzy -#~ msgid "Create Area" -#~ msgstr "Buat Baru" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "Edit Argumen-argumen Sinyal:" - -#~ msgid "Edit Variable:" -#~ msgstr "Edit Variabel:" - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "Instance scene terpilih sebagai anak node saat ini." - -#, fuzzy -#~ msgid "Font Size:" -#~ msgstr "Tampilan Depan." - -#~ msgid "Line:" -#~ msgstr "Baris:" - -#~ msgid "Col:" -#~ msgstr "Kolom:" - -#, fuzzy -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "" -#~ "PathFollow2D hanya bekerja ketika diatur sebagai sebuah child dari sebuah " -#~ "node Path2D." - -#, fuzzy -#~ msgid "Add Split" -#~ msgstr "Tambahkan Sinyal" - -#, fuzzy -#~ msgid "Invalid Split: " -#~ msgstr "Path Tidak Sah." - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "Hapus Sinyal" - -#, fuzzy -#~ msgid "Poly" -#~ msgstr "Sunting Bidang" - -#, fuzzy -#~ msgid "Add Node.." -#~ msgstr "Tambahkan Node" - -#, fuzzy -#~ msgid "Create Poly" -#~ msgstr "Buat Bidang" - -#, fuzzy -#~ msgid "Create a new polygon from scratch" -#~ msgstr "Buat bidang baru dari awal" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "Perkecil Pandangan" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "Perbesar Pandangan" - -#, fuzzy -#~ msgid "New TextFile" -#~ msgstr "File:" - -#~ msgid "Save Theme As" -#~ msgstr "Simpan Tema Sebagai" - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "Perbesar Pandangan" - -#~ msgid "Class List:" -#~ msgstr "Daftar Class:" - -#~ msgid "Public Methods" -#~ msgstr "Metode Publik" - -#~ msgid "Public Methods:" -#~ msgstr "Metode Publik:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "Item-item Tema GUI:" - -#, fuzzy -#~ msgid "Property: " -#~ msgstr "Properti Objek" - -#, fuzzy -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Kondisikan status folder sebagai Favorit" - -#, fuzzy -#~ msgid "Show current scene file." -#~ msgstr "Simpan sumber yang sedang diatur." - -#, fuzzy -#~ msgid "Whole words" -#~ msgstr "Semua Kata" - -#, fuzzy -#~ msgid "Match case" -#~ msgstr "Kasus Kecocokan" - -#, fuzzy -#~ msgid "Show In File System" -#~ msgstr "Tampilkan dalam Manajer Berkas" - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "Cari Kelas" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "Skrip built-in hanya bisa disunting ketika scene induknya dimuat" - -#, fuzzy -#~ msgid "Convert To Lowercase" -#~ msgstr "Sambungkan Ke Node:" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Pindah Trek Anim ke Atas" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Pindahkan Trek Anim ke Bawah" - -#~ msgid "Set Transitions to:" -#~ msgstr "Atur transisi ke:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Ubah Interpolasi Trek Anim" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Ganti Mode Nilai Track Anim" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Ubah Trek Anim ke Wrap Mode" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Edit Kurva Pilihan" - -#~ msgid "Anim Add Key" -#~ msgstr "Tambah Kunci Anim" - -#~ msgid "In" -#~ msgstr "Masuk" - -#~ msgid "Out" -#~ msgstr "Keluar" - -#~ msgid "In-Out" -#~ msgstr "Masuk-Keluar" - -#~ msgid "Out-In" -#~ msgstr "Keluar-Masuk" - -#~ msgid "Change Anim Len" -#~ msgstr "Ubah Panjang Animasi" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Buat Nilai Kunci Animasi Tertulis" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Tambah Pemanggilan Track Anim" - -#~ msgid "Length (s):" -#~ msgstr "Panjang:" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "Langkah kursor sekejap (dalam detik)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Aktifkan/Nonaktifkan pengulangan dalam animasi." - -#~ msgid "Add new tracks." -#~ msgstr "Tambah tracks baru." - -#~ msgid "Move current track up." -#~ msgstr "Pindahkan track sekarang ke atas." - -#~ msgid "Move current track down." -#~ msgstr "Pindahkan track sekarang ke bawah." - -#~ msgid "Track tools" -#~ msgstr "Alat track" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Aktifkan penyuntingan tombol-tombol individual dengan mengkliknya." - -#~ msgid "Key" -#~ msgstr "Tombol" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Memanggil Fungsi-Fungsi dalam Node yang Mana?" - -#~ msgid "Thanks!" -#~ msgstr "Terimakasih!" - -#~ msgid "I see..." -#~ msgstr "Mengerti..." - -#~ msgid "Ugh" -#~ msgstr "Duh" - -#~ msgid "Run Script" -#~ msgstr "Jalankan Script" - -#~ msgid "Stop Profiling" -#~ msgstr "Hentikan Profiling" - -#~ msgid "Start Profiling" -#~ msgstr "Jalankan Profilling" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "Baku (Samakan seperti Penyunting saat ini)" - -#, fuzzy -#~ msgid "Create new animation in player." -#~ msgstr "Buat animasi baru dalam pemutar animasi." - -#, fuzzy -#~ msgid "Load animation from disk." -#~ msgstr "Memuat animasi dari diska." - -#, fuzzy -#~ msgid "Load an animation from disk." -#~ msgstr "Memuat animasi dari diska." - -#~ msgid "Save the current animation" -#~ msgstr "Simpan animasi saat ini" - -#, fuzzy -#~ msgid "Edit Target Blend Times" -#~ msgstr "Sunting Target Waktu Blend" - -#~ msgid "Copy Animation" -#~ msgstr "Salin Animasi" - -#~ msgid "prev" -#~ msgstr "sebelumnya" - -#~ msgid "next" -#~ msgstr "selanjutnya" - -#~ msgid "last" -#~ msgstr "terakhir" - -#, fuzzy -#~ msgid "Edit IK Chain" -#~ msgstr "Sunting Rantai IK" - -#, fuzzy -#~ msgid "Set pivot at mouse position" -#~ msgstr "Hapus Sinyal" - -#, fuzzy -#~ msgid "Condition" -#~ msgstr "Transisi" - -#, fuzzy -#~ msgid "Return" -#~ msgstr "Kembali:" - -#~ msgid "Call" -#~ msgstr "Panggil" - -#, fuzzy -#~ msgid "Edit Signal" -#~ msgstr "Mengedit Sinyal:" - -#, fuzzy -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "Sambungkan Ke Node:" - -#, fuzzy -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "Format version.txt tidak valid dalam berkas templat. Revisi tidak valid." - -#, fuzzy -#~ msgid "Can't write file." -#~ msgstr "Tidak dapat membuat folder." - -#~ msgid "Replace By" -#~ msgstr "Ganti dengan" - -#~ msgid "Backwards" -#~ msgstr "Ke belakang" - -#, fuzzy -#~ msgid "Prompt On Replace" -#~ msgstr "Cepat Pada Penggantian" - -#~ msgid "Skip" -#~ msgstr "Lalui" - -#, fuzzy -#~ msgid "preview" -#~ msgstr "Pratinjau:" - -#~ msgid "Move Add Key" -#~ msgstr "Pindahkan Kunci Tambah" - -#~ msgid "List:" -#~ msgstr "Daftar:" - -#, fuzzy -#~ msgid "Add Point to Line2D" -#~ msgstr "Pergi ke Barisan" - -#~ msgid "Meta+" -#~ msgstr "Meta+" - -#, fuzzy -#~ msgid "Selection -> Duplicate" -#~ msgstr "Hanya yang Dipilih" - -#, fuzzy -#~ msgid "Selection -> Clear" -#~ msgstr "Hanya yang Dipilih" - -#~ msgid "" -#~ "Path property must point to a valid Viewport node to work. Such Viewport " -#~ "must be set to 'render target' mode." -#~ msgstr "" -#~ "Properti path harus menunjuk pada node Viewport yang sah untuk bekerja. " -#~ "Viewport tersebut harus diatur ke mode 'render target'." - -#~ msgid "" -#~ "The Viewport set in the path property must be set as 'render target' in " -#~ "order for this sprite to work." -#~ msgstr "" -#~ "Pengaturan Vieport dalam properti path harus diatur sebagai 'render " -#~ "target' agar sprite bekerja." - -#~ msgid "Method List For '%s':" -#~ msgstr "Daftar Fungsi Untuk '%s':" - -#, fuzzy -#~ msgid "Return:" -#~ msgstr "Kembali:" - -#~ msgid "Added:" -#~ msgstr "Ditambahkan:" - -#~ msgid "Could not save atlas subtexture:" -#~ msgstr "Tidak dapat menyimpan sub tekstur atlas:" - -#~ msgid "Setting Up..." -#~ msgstr "Mengatur..." - -#~ msgid "Error loading scene." -#~ msgstr "Gagal memuat scene." - -#~ msgid "Re-Import" -#~ msgstr "Impor Ulang" - -#~ msgid "Re-Importing" -#~ msgstr "Mengimpor ulang" - -#~ msgid "Pick New Name and Location For:" -#~ msgstr "Tentukan Nama dan Lokasi Baru untuk:" - -#~ msgid "Max Texture Size:" -#~ msgstr "Ukuran Tekstur Maksimum:" - -#~ msgid "Project Path (Must Exist):" -#~ msgstr "Lokasi Projek (Harus Ada):" - -#, fuzzy -#~ msgid "Tiles" -#~ msgstr "File:" - -#~ msgid "Ctrl+" -#~ msgstr "Ctrl+" - -#~ msgid "" -#~ "Open Project Manager? \n" -#~ "(Unsaved changes will be lost)" -#~ msgstr "" -#~ "Buka Manajer Proyek?\n" -#~ "(Perubahan yang tidak disimpan akan hilang)" - -#~ msgid "Node From Scene" -#~ msgstr "Node Dari Scene" - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "" -#~ "Properti path harus menunjuk ke sebuah node Particles2D yang sah agar " -#~ "bekerja." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SamplePlayer to play sound." -#~ msgstr "" -#~ "Sebuah resource SampleLibrary harus diciptakan atau diatur didalam " -#~ "properti 'samples' agar SamplePlayer memainkan suara." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SpatialSamplePlayer to play sound." -#~ msgstr "" -#~ "Sebuah resource SampleLibrary harus dibuat atau diatur didalam properti " -#~ "'samples' agar SpatialSamplePlayer memainkan suara." - -#, fuzzy -#~ msgid "Replaced %d Ocurrence(s)." -#~ msgstr "Diganti Kejadian (Kejadian-kejadian) %d." - -#~ msgid "Save Translatable Strings" -#~ msgstr "Simpan Kalimat yang Dapat Diterjemahkan" - -#, fuzzy -#~ msgid "Create Android keystore" -#~ msgstr "Buat Folder" - -#, fuzzy -#~ msgid "Organization" -#~ msgstr "Transisi" - -#, fuzzy -#~ msgid "at least 6 characters" -#~ msgstr "Karakter sah:" - -#~ msgid "BakedLightInstance does not contain a BakedLight resource." -#~ msgstr "BakedLightInstance tidak berisi resource BakedLight." - -#, fuzzy -#~ msgid "" -#~ "Paths cannot start with '/', absolute paths must start with 'res://', " -#~ "'user://', or 'local://'" -#~ msgstr "" -#~ "Path tidak bisa diawali dengan '/', tetapi absolut path harus diawali " -#~ "dengan 'res://', 'user://', atau 'local://'" - -#~ msgid "" -#~ "Custom node has no _get_output_port_unsequenced(idx,wmem), but " -#~ "unsequenced ports were specified." -#~ msgstr "" -#~ "Node modifikasi tidak memiliki _get_output_port_unsequenced(idx,wmem), " -#~ "tetapi port-port unsequenced dispesifikasikan." diff --git a/editor/translations/is.po b/editor/translations/is.po index fcf380d7c8..6d8d853b2c 100644 --- a/editor/translations/is.po +++ b/editor/translations/is.po @@ -1,6 +1,6 @@ # Icelandic translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Jóhannes G. Þorsteinsson <johannesg@johannesg.com>, 2017, 2018, 2020. # Kaan Gül <qaantum@hotmail.com>, 2018. @@ -2087,14 +2087,30 @@ msgstr "" msgid "Theme Properties" msgstr "" -#: editor/editor_help.cpp -msgid "Enumerations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "" @@ -8348,18 +8364,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -12977,7 +12981,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12986,6 +12995,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -13975,26 +13999,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "" - -#~ msgid "Edit:" -#~ msgstr "Breyta:" - -#, fuzzy -#~ msgid "Move Anim Track Up" -#~ msgstr "Færa Anim track upp" - -#, fuzzy -#~ msgid "Move Anim Track Down" -#~ msgstr "Færa Anim track niður" - -#, fuzzy -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Breyta gildisstilling í Anim track" - -#, fuzzy -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Anim track breyta hulum ham" - -#, fuzzy -#~ msgid "Anim Add Key" -#~ msgstr "Anim bæta við lykli" diff --git a/editor/translations/it.po b/editor/translations/it.po index dded7242e0..351adcd7a3 100644 --- a/editor/translations/it.po +++ b/editor/translations/it.po @@ -1,6 +1,6 @@ # Italian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Alessio Corridori <alessiocorridori@hotmail.com>, 2018. # Dario Bonfanti <bonfi.96@hotmail.it>, 2016-2017. @@ -2185,14 +2185,32 @@ msgstr "Metodi" msgid "Theme Properties" msgstr "Proprietà del tema" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Enumerazioni" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Colors" +msgstr "Colore" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Costanti" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "Font" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "Icone" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Styles" +msgstr "Stile" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Enumerazioni" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Descrizioni delle proprietà" @@ -8762,19 +8780,6 @@ msgstr "TextureRegion" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Colors" -msgstr "Colore" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "Font" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "Icone" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Styleboxes" msgstr "Stile Box" @@ -13633,8 +13638,17 @@ msgid "\"Use Custom Build\" must be enabled to use the plugins." msgstr "Per utilizzare i plugin \"Use Custom Build\" deve essere abilitato." #: platform/android/export/export_plugin.cpp +#, fuzzy msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" +"\"Hand Tracking\" è valido solo quando \"Xr Mode\" è impostato su \"Oculus " +"Mobile VR\"." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" "\"Hand Tracking\" è valido solo quando \"Xr Mode\" è impostato su \"Oculus " "Mobile VR\"." @@ -13645,6 +13659,25 @@ msgstr "" "\"Export AAB\" è valido soltanto quanto \"Use Custom Build\" è abilitato." #: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" +"\"Export AAB\" è valido soltanto quanto \"Use Custom Build\" è abilitato." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" +"\"Export AAB\" è valido soltanto quanto \"Use Custom Build\" è abilitato." + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " @@ -14869,2153 +14902,3 @@ msgstr "Assegnazione all'uniforme." #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Le constanti non possono essere modificate." - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "Crea Posizione di Riposo (Dalle Ossa)" - -#~ msgid "Bottom" -#~ msgstr "Basso" - -#~ msgid "Left" -#~ msgstr "Sinistra" - -#~ msgid "Right" -#~ msgstr "Destra" - -#~ msgid "Front" -#~ msgstr "Fronte" - -#~ msgid "Rear" -#~ msgstr "Retro" - -#~ msgid "Nameless gizmo" -#~ msgstr "Gizmo senza nome" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "\"Degrees Of Freedom\" è valido solamente quando \"Xr Mode\" è \"Oculus " -#~ "Mobile VR\"." - -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "\"Focus Awareness\" è valido solo quando \"Xr Mode\" è impostato su " -#~ "\"Oculus Mobile VR\"." - -#~ msgid "Package Contents:" -#~ msgstr "Contenuti del pacchetto:" - -#~ msgid "Singleton" -#~ msgstr "Singleton" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Eliminare il profilo \"%s\"? (non annullabile)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Proprietà abilitate:" - -#~ msgid "Enabled Features:" -#~ msgstr "Funzionalità abilitate:" - -#~ msgid "Unset" -#~ msgstr "Disattiva" - -#~ msgid "Class Options" -#~ msgstr "Opzioni della classe" - -#~ msgid "Set" -#~ msgstr "Imposta" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Salvate %s risorse modificate." - -#~ msgid "Q&A" -#~ msgstr "Domande e risposte" - -#~ msgid "Status:" -#~ msgstr "Stato:" - -#~ msgid "Edit:" -#~ msgstr "Modifica:" - -#~ msgid "Redownload" -#~ msgstr "Ri-Scarica" - -#~ msgid "(Installed)" -#~ msgstr "(Installato)" - -#~ msgid "(Missing)" -#~ msgstr "(Mancante)" - -#~ msgid "Request Failed." -#~ msgstr "Richiesta fallita." - -#~ msgid "Redirect Loop." -#~ msgstr "Ridirigi Loop." - -#~ msgid "Download Complete." -#~ msgstr "Download Completato." - -#~ msgid "Remove Template" -#~ msgstr "Rimuovi Template" - -#~ msgid "Download Templates" -#~ msgstr "Scarica Modelli" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "Seleziona mirror dalla lista: (Shift+Click: Apri in Browser)" - -#~ msgid "Move to Trash" -#~ msgstr "Sposta nel cestino" - -#~ msgid "Expand All Properties" -#~ msgstr "Espandi Tutte le Proprietà" - -#~ msgid "Collapse All Properties" -#~ msgstr "Comprimi Tutte le Proprietà" - -#~ msgid "Copy Params" -#~ msgstr "Copia parametri" - -#~ msgid "Open in Help" -#~ msgstr "Apri in Aiuto" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "Sovrascrivi Camera Gioco\n" -#~ "Nessuna istanza gioco in funzione." - -#~ msgid "Drag: Rotate" -#~ msgstr "Trascina: Ruota" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Premi \"v\" per Cambiare Perno, \"Shift+v\" per Trascinare il Pernno " -#~ "(durante lo spostamento)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+RMB: Selezione Lista Profondità" - -#~ msgid "Clone Down" -#~ msgstr "Clona sotto" - -#~ msgid "Yaw" -#~ msgstr "Imbardata" - -#~ msgid "Size" -#~ msgstr "Dimensione" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "Trascina: Ruota\n" -#~ "Alt+Trascina: Sposta\n" -#~ "Alt+RMB: Selezione Lista Profondità" - -#~ msgid "Sep.:" -#~ msgstr "Sep.:" - -#~ msgid "Add All" -#~ msgstr "Aggiungi Tutti" - -#~ msgid "Theme editing menu." -#~ msgstr "Menu di modifica dei temi." - -#~ msgid "Create Empty Template" -#~ msgstr "Crea Template Vuota" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "Crea Template Editor Vuota" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "Crea da Tema Editor corrente" - -#~ msgid "Data Type:" -#~ msgstr "Tipo Dato:" - -#~ msgid "Theme File" -#~ msgstr "File Tema" - -#~ msgid "Compiled" -#~ msgstr "Compilato" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "Rimuovere %d progetti dalla lista?\n" -#~ "I contenuti delle cartelle di progetto non saranno modificati." - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "Rimuovere questo progetto dalla lista?\n" -#~ "I contenuti della cartella di progetto non saranno modificati." - -#~ msgid "Templates" -#~ msgstr "Templates" - -#~ msgid "Add Remapped Path" -#~ msgstr "Aggiungi percorso rimappato" - -#~ msgid "Can not perform with the root node." -#~ msgstr "Impossibile effettuare con il nodo di root." - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "Impossibile leggere il file immagine di avvio splash:" - -#~ msgid "Using default boot splash image." -#~ msgstr "Utilizzando l'immagine splash predefinita." - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Un AnimationPlayer non può animare se stesso, solo altri riproduttori." - -#~ msgid "Clipboard is empty" -#~ msgstr "Gli appunti sono vuoti" - -#~ msgid "" -#~ "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -#~ msgstr "" -#~ "\"InterpolatedCamera\" è stata deprecata e sarà rimossa in Godot 4.0." - -#~ msgid "No" -#~ msgstr "No" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Questa scena non è mai stata salvata. Salvarla prima di eseguirla?" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "Eseguibile ADB non configurato nelle Impostazioni dell'Editor." - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "OpenJDK jarsigner non configurato nelle Impostazioni dell'Editor." - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "" -#~ "Le build personalizzate richiedono un percorso per un Android SDK valido " -#~ "nelle impostazioni dell'editor." - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(Tempo Rimanente: %d:%02d s)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "Stampa Meshes: " - -#~ msgid "Lighting Meshes: " -#~ msgstr "Illuminando Meshes: " - -#~ msgid "Search complete" -#~ msgstr "Ricerca completata" - -#~ msgid "No commit message was provided" -#~ msgstr "Non è stato inserito alcun messaggio di commit" - -#~ msgid "Add a commit message" -#~ msgstr "Aggiungi un messaggio di commit" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "" -#~ "C'è già un file o una cartella con lo stesso nome in questo percorso." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Errore nel salvataggio della disposizione!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Disposizione predefinita dell'editor sovrascritta." - -#~ msgid "Move pivot" -#~ msgstr "Sposta pivot" - -#~ msgid "Move anchor" -#~ msgstr "Sposta punto di ancoraggio" - -#~ msgid "Resize CanvasItem" -#~ msgstr "Ridimensiona CanvasItem" - -#~ msgid "Polygon->UV" -#~ msgstr "Poligono->UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV->Poligono" - -#~ msgid "Add initial export..." -#~ msgstr "Aggiungi esportazione iniziale…" - -#~ msgid "Add previous patches..." -#~ msgstr "Aggiungi patch precedenti…" - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "Eliminare patch '%s' dalla lista?" - -#~ msgid "Patches" -#~ msgstr "Patches" - -#~ msgid "Make Patch" -#~ msgstr "Crea Patch" - -#~ msgid "Pack File" -#~ msgstr "File Pacchetto" - -#~ msgid "No build apk generated at: " -#~ msgstr "Nessun apk build generato a: " - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "Filesystem e dock di importazione" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "L'eseguibile, dopo l'esportazione o la distribuzione, attenterà di " -#~ "connettersi con l'indirizzo IP di questo computer per farsi eseguire il " -#~ "debug." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "" -#~ "La scena attuale non è mai stata salvata, si prega di salvarla prima di " -#~ "eseguirla." - -#~ msgid "Revert" -#~ msgstr "Ripristina" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Questa azione non può essere annullata. Ripristinare comunque?" - -#~ msgid "Revert Scene" -#~ msgstr "Ripristina scena" - -#~ msgid "Clear Script" -#~ msgstr "Svuota Script" - -#~ msgid "Issue Tracker" -#~ msgstr "Tracciatore segnalazioni" - -#~ msgid "Request Docs" -#~ msgstr "Documentazione richiesta" - -#~ msgid "Help improve the Godot documentation by giving feedback." -#~ msgstr "Aiutate a migliorare la documentazione di Godot fornendo feedback." - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "Rimpiazzate %d occorrenze." - -#~ msgid "Create Static Convex Body" -#~ msgstr "Crea Corpo Convesso Statico" - -#~ msgid "Failed creating shapes!" -#~ msgstr "Errore nella creazione delle forme!" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Al momento non esiste alcuna descrizione per questa classe. Aiutaci " -#~ "[color=$color][url=$url]aggiungendone una[/url][/color] oppure [color=" -#~ "$color][url=$url2]richiedendone una[/url][/color]." - -#~ msgid "enum " -#~ msgstr "enum " - -#~ msgid "Brief Description" -#~ msgstr "Breve descrizione" - -#~ msgid "Class Description" -#~ msgstr "Descrizione della classe" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "Esportazione progetto fallita con codice di errore %d." - -#~ msgid "Password:" -#~ msgstr "Password:" - -#~ msgid "Identifier segments must be of non-zero length." -#~ msgstr "" -#~ "I segmenti identificativi devono essere di lunghezza diversa da zero." - -#~ msgid "A digit cannot be the first character in a Identifier segment." -#~ msgstr "" -#~ "Una cifra non può essere il primo carattere di un segmento di " -#~ "Identificazione." - -#~ msgid "" -#~ "The character '%s' cannot be the first character in a Identifier segment." -#~ msgstr "" -#~ "Il carattere '%s' non può essere il primo carattere di un segmento di " -#~ "Identificazione." - -#~ msgid "The Identifier must have at least one '.' separator." -#~ msgstr "L'Identificatore deve avere almeno un '.' separatore." - -#~ msgid "Pause the scene" -#~ msgstr "Metti in pausa la scena" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Control+" -#~ msgstr "Control+" - -#~ msgid "Snap to Grid" -#~ msgstr "Snap alla griglia" - -#~ msgid "Add input +" -#~ msgstr "Aggiungi Input +" - -#~ msgid "Language" -#~ msgstr "Linguaggio" - -#~ msgid "Inherits" -#~ msgstr "Eredita" - -#~ msgid "Base Type:" -#~ msgstr "Tipo Base:" - -#~ msgid "Available Nodes:" -#~ msgstr "Nodi Disponibili:" - -#~ msgid "Input" -#~ msgstr "Ingresso" - -#~ msgid "Methods:" -#~ msgstr "Metodi:" - -#~ msgid "Theme Properties:" -#~ msgstr "Proprietà del tema:" - -#~ msgid "Enumerations:" -#~ msgstr "Enumerazioni:" - -#~ msgid "Constants:" -#~ msgstr "Costanti:" - -#~ msgid "Class Description:" -#~ msgstr "Descrizione della classe:" - -#~ msgid "Property Descriptions:" -#~ msgstr "Descrizioni delle proprietà:" - -#~ msgid "Method Descriptions:" -#~ msgstr "Descrizioni dei metodi:" - -#~ msgid "" -#~ "This will install the Android project for custom builds.\n" -#~ "Note that, in order to use it, it needs to be enabled per export preset." -#~ msgstr "" -#~ "Questo installerà il progetto Android per build personalizzate.\n" -#~ "Nota bene: per essere usato, deve essere abilitato per l'esportazione del " -#~ "preset." - -#~ msgid "Reverse sorting." -#~ msgstr "Ordinamento inverso." - -#~ msgid "Delete Node(s)?" -#~ msgstr "Elimina Nodo(i)?" - -#~ msgid "No Matches" -#~ msgstr "Nessuna corrispondenza" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "Impossibile aprire file_type_cache.cch per scrittura, non salvo la cache " -#~ "dei tipi di file!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "" -#~ "Impossibile navigare a '%s' perché non è stato trovato nel file system!" - -#~ msgid "Error loading image:" -#~ msgstr "Errore di caricamento immagine:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "Nessun pixel con trasparenza >128 nell'immagine..." - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "Il genitore non ha facce solde da popolare." - -#~ msgid "Couldn't map area." -#~ msgstr "Impossibile mappare l'area." - -#~ msgid "Faces contain no area!" -#~ msgstr "Le facce non contengono area!" - -#~ msgid "No faces!" -#~ msgstr "Nessuna faccia!" - -#~ msgid "Error: could not load file." -#~ msgstr "Errore: impossibile caricare il file." - -#~ msgid "Error could not load file." -#~ msgstr "Errore: impossibile caricare il file." - -#~ msgid "Doppler Enable" -#~ msgstr "Abilita Doppler" - -#~ msgid "Select Mode (Q)" -#~ msgstr "Modalità di Selezione (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "Modalità Movimento (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "Modalità Rotazione (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "Modalità Scala (R)" - -#~ msgid "Local Coords" -#~ msgstr "Coordinate locali" - -#~ msgid "Snap Mode (%s)" -#~ msgstr "Modalità Snap (%s)" - -#~ msgid "Tool Select" -#~ msgstr "Strumento Seleziona" - -#~ msgid "Tool Move" -#~ msgstr "Strumento Sposta" - -#~ msgid "Tool Rotate" -#~ msgstr "Strumento Ruota" - -#~ msgid "Tool Scale" -#~ msgstr "Strumento Scala" - -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "" -#~ "Rimuovere tutti i progetti mancanti dalla lista?\n" -#~ "(Il contenuto delle cartelle di progetto non saranno modificati)" - -#~ msgid "Project List" -#~ msgstr "Lista Progetti" - -#~ msgid "Exit" -#~ msgstr "Esci" - -#~ msgid "Could not execute PVRTC tool:" -#~ msgstr "Impossibile eseguire lo strumento di PVRTC:" - -#~ msgid "Can't load back converted image using PVRTC tool:" -#~ msgstr "Impossibile ricaricare l'immagine convertita usando il tool PVRTC:" - -#~ msgid "Error initializing FreeType." -#~ msgstr "Errore inizializzazione FreeType." - -#~ msgid "Unknown font format." -#~ msgstr "Formato font sconosciuto." - -#~ msgid "Error loading font." -#~ msgstr "Errore caricamento font." - -#~ msgid "Invalid font size." -#~ msgstr "Dimensione font Invalida." - -#~ msgid "Previous Folder" -#~ msgstr "Cartella precedente" - -#~ msgid "Next Folder" -#~ msgstr "Cartella successiva" - -#~ msgid "Automatically Open Screenshots" -#~ msgstr "Apri screenshots automaticamente" - -#~ msgid "Open in an external image editor." -#~ msgstr "Apri in un editor di immagini esterno." - -#~ msgid "Reverse" -#~ msgstr "Inverti" - -#~ msgid "Mirror X" -#~ msgstr "Specchia X" - -#~ msgid "Mirror Y" -#~ msgstr "Specchia Y" - -#~ msgid "Generating solution..." -#~ msgstr "Generando la soluzione..." - -#~ msgid "Generating C# project..." -#~ msgstr "Genero progetto in C#..." - -#~ msgid "Failed to create solution." -#~ msgstr "Impossibile creare la soluzione." - -#~ msgid "Failed to save solution." -#~ msgstr "Impossibile salvare la soluzione." - -#~ msgid "Failed to create C# project." -#~ msgstr "Impossibile creare il progetto C#." - -#~ msgid "Mono" -#~ msgstr "Mono" - -#~ msgid "About C# support" -#~ msgstr "Riguardo il supporto in C#" - -#~ msgid "Create C# solution" -#~ msgstr "Crea la soluzione C#" - -#~ msgid "Builds" -#~ msgstr "Compilazioni" - -#~ msgid "Build Project" -#~ msgstr "Compila Progetto" - -#~ msgid "View log" -#~ msgstr "Visualizza log" - -#~ msgid "WorldEnvironment needs an Environment resource." -#~ msgstr "WorldEnvironment ha bisogno di una risorsa Ambiente." - -#~ msgid "Enabled Classes" -#~ msgstr "Classi abilitate" - -#~ msgid "Update Always" -#~ msgstr "Aggiorna sempre" - -#~ msgid "Raw Mode" -#~ msgstr "Modalità Raw" - -#~ msgid "Path to Node:" -#~ msgstr "Percorso per il nodo:" - -#~ msgid "Delete selected files?" -#~ msgstr "Eliminare i file selezionati?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "Non esiste il file 'res://default_bus_layout.tres'." - -#~ msgid "Go to parent folder" -#~ msgstr "Va' alla cartella superiore" - -#~ msgid "Open Scene(s)" -#~ msgstr "Apri Scena/e" - -#~ msgid "Previous Directory" -#~ msgstr "Directory Precedente" - -#~ msgid "Next Directory" -#~ msgstr "Directory Successiva" - -#~ msgid "Ease in" -#~ msgstr "Graduale in ingresso" - -#~ msgid "Ease out" -#~ msgstr "Graduale in uscita" - -#~ msgid "Create Convex Static Body" -#~ msgstr "Crea Corpo Statico Convesso" - -#~ msgid "CheckBox Radio1" -#~ msgstr "CheckBox Radio1" - -#~ msgid "CheckBox Radio2" -#~ msgstr "CheckBox Radio2" - -#~ msgid "Create folder" -#~ msgstr "Crea Cartella" - -#~ msgid "Custom Node" -#~ msgstr "Nodo Personalizzato" - -#~ msgid "Invalid Path" -#~ msgstr "Percorso Invalido" - -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "GridMap Duplica Selezione" - -#~ msgid "Create Area" -#~ msgstr "Crea Area" - -#~ msgid "Create Exterior Connector" -#~ msgstr "Crea Connettore Esterno" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "Modifica Argomenti Segnali:" - -#~ msgid "Edit Variable:" -#~ msgstr "Modifica Variabile:" - -#~ msgid "Snap (s): " -#~ msgstr "Snap (s): " - -#~ msgid "Insert keys." -#~ msgstr "Inserisci chiavi." - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "Istanzia le scene selezionate come figlie del nodo selezionato." - -#~ msgid "Font Size:" -#~ msgstr "Dimensione Font:" - -#~ msgid "Line:" -#~ msgstr "Riga:" - -#~ msgid "Col:" -#~ msgstr "Col:" - -#, fuzzy -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "" -#~ "PathFollow2D funziona solamente quando impostato come figlio di un nodo " -#~ "Path2D." - -#, fuzzy -#~ msgid "Add Split" -#~ msgstr "Aggiungi punto" - -#, fuzzy -#~ msgid "Invalid Split: " -#~ msgstr "Percorso Invalido!" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "Rimuovi punto" - -#, fuzzy -#~ msgid "Poly" -#~ msgstr "Modifica Poly" - -#, fuzzy -#~ msgid "Splits" -#~ msgstr "Dividi Percorso" - -#, fuzzy -#~ msgid "Add Node.." -#~ msgstr "Aggiungi Nodo" - -#~ msgid "Create from scene?" -#~ msgstr "Crea da scena?" - -#~ msgid "Create Poly" -#~ msgstr "Crea Poly" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "Crea un nuovo poligono da zero" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "Zoom Out" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "Zoom In" - -#~ msgid "Create Poly3D" -#~ msgstr "Crea Poly3D" - -#, fuzzy -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "Nessuna risorsa OccluderPolygon2D su questo nodo.\n" -#~ "Crearne una ed assegnarla?" - -#~ msgid "LMB: Move Point." -#~ msgstr "LMB: Sposta punto." - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl+LMB: dividi Segmento." - -#~ msgid "RMB: Erase Point." -#~ msgstr "RMB: Elimina Punto." - -#, fuzzy -#~ msgid "New TextFile" -#~ msgstr "Vedi Files" - -#~ msgid "Save Theme As" -#~ msgstr "Salva Tema Come" - -#~ msgid "<None>" -#~ msgstr "<Nessuno>" - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "Zoom(%):" - -#~ msgid "Class List:" -#~ msgstr "Lista Classi:" - -#~ msgid "Public Methods" -#~ msgstr "Metodi Pubblici" - -#~ msgid "Public Methods:" -#~ msgstr "Metodi Pubblici:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "Elementi Tema GUI:" - -#, fuzzy -#~ msgid "Property: " -#~ msgstr "Proprietà:" - -#, fuzzy -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Abilita lo stato della cartella come Preferito" - -#, fuzzy -#~ msgid "Show current scene file." -#~ msgstr "Salva la risorsa in modifica." - -#, fuzzy -#~ msgid "Whole words" -#~ msgstr "Parole Intere" - -#, fuzzy -#~ msgid "Match case" -#~ msgstr "Controlla Maiuscole" - -#~ msgid "Ok" -#~ msgstr "Ok" - -#, fuzzy -#~ msgid "Show In File System" -#~ msgstr "Mostra nel File System" - -#~ msgid "Search the class hierarchy." -#~ msgstr "Cerca nella gerarchia delle classi." - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "Cerca Classi" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "" -#~ "Gli script built-in possono essere modificati solamente quando la scena a " -#~ "cui appartengono è caricata" - -#~ msgid "Convert To Uppercase" -#~ msgstr "Converti In Maiuscolo" - -#~ msgid "Convert To Lowercase" -#~ msgstr "Converti In Minuscolo" - -#~ msgid "Rotate 0 degrees" -#~ msgstr "Ruota a 0 gradi" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "Ruota a 90 gradi" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "Ruota a 180 gradi" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "Ruota a 270 gradi" - -#~ msgid "Errors:" -#~ msgstr "Errori:" - -#~ msgid "Stack Trace (if applicable):" -#~ msgstr "Stack Trace (se applicabile):" - -#~ msgid "Bake!" -#~ msgstr "Bake!" - -#, fuzzy -#~ msgid "Bake the navigation mesh." -#~ msgstr "Crea Mesh di Navigazione" - -#~ msgid "Get" -#~ msgstr "Get" - -#~ msgid "Change RGB Constant" -#~ msgstr "Cambia Costante RGB" - -#~ msgid "Change Vec Scalar Operator" -#~ msgstr "Cambia Operatore Scalare Vett." - -#~ msgid "Change RGB Operator" -#~ msgstr "Cambia Operatore RGB" - -#~ msgid "Toggle Rot Only" -#~ msgstr "Abilita Solo Rot" - -#~ msgid "Change Vec Function" -#~ msgstr "Cambia Funzione Vett." - -#~ msgid "Change Vec Uniform" -#~ msgstr "Cambia Uniforme Vett." - -#~ msgid "Change RGB Uniform" -#~ msgstr "Cambia Uniforme RGB" - -#~ msgid "Change Default Value" -#~ msgstr "Cambia Valore di Default" - -#~ msgid "Change XForm Uniform" -#~ msgstr "Cambia Uniforme XForm" - -#~ msgid "Change Cubemap Uniform" -#~ msgstr "Cambia Uniforme Cubemap" - -#~ msgid "Change Comment" -#~ msgstr "Cambia Commento" - -#~ msgid "Add/Remove to Color Ramp" -#~ msgstr "Aggiungi/Rimuovi alla Rampa Colori" - -#~ msgid "Modify Color Ramp" -#~ msgstr "Modifica Rampa Colori" - -#~ msgid "Add/Remove to Curve Map" -#~ msgstr "Aggiung/Rimuovi alla Mappa Curve" - -#~ msgid "Modify Curve Map" -#~ msgstr "Modifica la Mappa Curve" - -#~ msgid "Connect Graph Nodes" -#~ msgstr "Connetti Nodi Grafico" - -#~ msgid "Remove Shader Graph Node" -#~ msgstr "Rimuovi Nodo Grafico di Shader" - -#~ msgid "Move Shader Graph Node" -#~ msgstr "Sposta Nodo Grafico di Shader" - -#~ msgid "Duplicate Graph Node(s)" -#~ msgstr "Duplica Nodo(i) Grafico" - -#~ msgid "Error: Cyclic Connection Link" -#~ msgstr "Errore: Giunzione ciclica" - -#~ msgid "Error: Missing Input Connections" -#~ msgstr "Errore: Connessioni Input MAncanti" - -#~ msgid "Add Shader Graph Node" -#~ msgstr "Aggiungi Nodo Grafico Shader" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Muovi Traccia Animazione Su" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Muovi Traccia Animazione Giù" - -#~ msgid "Set Transitions to:" -#~ msgstr "Imposta Transizione a:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Traccia Anim Cambia Interpolazione" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Traccia Anim Cambia Modalità Valore" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Traccia Anim Cambia Modalità avvolgimento" - -#~ msgid "Edit Node Curve" -#~ msgstr "Modifica Curva del Nodo" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Modifica Selezione Curva" - -#~ msgid "Anim Add Key" -#~ msgstr "Anim Aggiungi Key" - -#~ msgid "In" -#~ msgstr "In" - -#~ msgid "Out" -#~ msgstr "Out" - -#~ msgid "In-Out" -#~ msgstr "In-Out" - -#~ msgid "Out-In" -#~ msgstr "Out-In" - -#~ msgid "Change Anim Len" -#~ msgstr "Cambia Lunghezza Animazione" - -#~ msgid "Change Anim Loop" -#~ msgstr "Cambia Loop Animazione" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Anim Crea Typed Value Key" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Anim Aggiungi Chiamata Traccia" - -#~ msgid "Length (s):" -#~ msgstr "Lunghezza (e):" - -#~ msgid "Step (s):" -#~ msgstr "Step (s):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "Step Snap Cursore (in secondi)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Attiva/Disattiva loop animazione." - -#~ msgid "Add new tracks." -#~ msgstr "Aggiungi nuova traccia." - -#~ msgid "Move current track up." -#~ msgstr "Muovi la traccia corrente su." - -#~ msgid "Move current track down." -#~ msgstr "Muovi la traccia corrente giù." - -#~ msgid "Track tools" -#~ msgstr "Strumenti traccia" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Attiva modifica di key individuali cliccandovi." - -#~ msgid "Key" -#~ msgstr "Key" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Chiama Funzioni in Quale Nodo?" - -#~ msgid "Thanks!" -#~ msgstr "Grazie!" - -#~ msgid "I see..." -#~ msgstr "Capisco..." - -#~ msgid "Ugh" -#~ msgstr "Ugh" - -#~ msgid "Run Script" -#~ msgstr "Esegui Script" - -#~ msgid "Stop Profiling" -#~ msgstr "Interrrompi Profiling" - -#~ msgid "Start Profiling" -#~ msgstr "Inizia Profiling" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "Default (Stesso che Editor)" - -#~ msgid "Create new animation in player." -#~ msgstr "Crea nuova animazione nel player." - -#~ msgid "Load animation from disk." -#~ msgstr "Carica animazione da disco." - -#~ msgid "Load an animation from disk." -#~ msgstr "Carica un'animazione da disco." - -#~ msgid "Save the current animation" -#~ msgstr "Salva l'animazione corrente" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "Modifica i tempi di Blend della destinazione" - -#~ msgid "Copy Animation" -#~ msgstr "Copia Animazione" - -#~ msgid "Fetching:" -#~ msgstr "Recupero:" - -#~ msgid "prev" -#~ msgstr "prec" - -#~ msgid "next" -#~ msgstr "seguente" - -#~ msgid "last" -#~ msgstr "ultimo" - -#~ msgid "Edit IK Chain" -#~ msgstr "Modifica Catena IK" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "Trascina pivot dalla posizione del mouse" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "Imposta pivot alla posizione del mouse" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "Aggiungi/Rimuovi Punto Rampa Colori" - -#~ msgid "OK :(" -#~ msgstr "OK :(" - -#~ msgid "Skeleton Gizmo visibility" -#~ msgstr "Visibilità Gizmo Scheletro" - -#~ msgid "StyleBox Preview:" -#~ msgstr "Anteprima StyleBox:" - -#~ msgid "Texture Region Editor" -#~ msgstr "Editor Regioni Texture" - -#~ msgid "Erase selection" -#~ msgstr "Cancella selezione" - -#~ msgid "Item name or ID:" -#~ msgstr "Nome elemento o ID:" - -#, fuzzy -#~ msgid "Export templates for this platform are missing/corrupted: " -#~ msgstr "Le export templates per questa piattaforma sono mancanti:" - -#~ msgid "Button 8" -#~ msgstr "Pulsante 8" - -#~ msgid "Button 9" -#~ msgstr "Pulsante 9" - -#~ msgid "Discard Instancing" -#~ msgstr "Scarta Istanziamento" - -#~ msgid "Makes Sense!" -#~ msgstr "Ha Senso!" - -#~ msgid "Clear!" -#~ msgstr "Libera!" - -#~ msgid "Toggle Spatial Visible" -#~ msgstr "Abilita Spatial Visibile" - -#~ msgid "Condition" -#~ msgstr "Condizione" - -#~ msgid "Sequence" -#~ msgstr "Sequenza" - -#~ msgid "Switch" -#~ msgstr "Interruttore" - -#~ msgid "Iterator" -#~ msgstr "Iteratore" - -#~ msgid "While" -#~ msgstr "While" - -#~ msgid "Return" -#~ msgstr "Ritorna" - -#~ msgid "Call" -#~ msgstr "Chiama" - -#, fuzzy -#~ msgid "Edit Variable" -#~ msgstr "Modifica Variabile:" - -#, fuzzy -#~ msgid "Edit Signal" -#~ msgstr "Modifica Segnale:" - -#~ msgid "Invalid action (anything goes but '/' or ':')." -#~ msgstr "Azione invalida (va bene tutto a parte '/' o ':')." - -#, fuzzy -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "Impossibile connetersi all'host:" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "Formato di version.txt invalido nelle templates. Revision non é un " -#~ "identificatore valido." - -#~ msgid "Can't write file." -#~ msgstr "Impossibile scrivere il file." - -#, fuzzy -#~ msgid "Couldn't get project.godot in project path." -#~ msgstr "Impossibile creare project.godot nel percorso di progetto." - -#~ msgid "Replace By" -#~ msgstr "Rimpiazza con" - -#~ msgid "Backwards" -#~ msgstr "All'indietro" - -#~ msgid "Prompt On Replace" -#~ msgstr "Richiedi Per Sostituire" - -#~ msgid "Skip" -#~ msgstr "Salta" - -#~ msgid "" -#~ "Your project will be created in a non empty folder (you might want to " -#~ "create a new folder)." -#~ msgstr "" -#~ "Il tuo progetto verrà creato in una cartella già esistente (forse " -#~ "vorresti creare una nuova cartella?)." - -#~ msgid "That's a BINGO!" -#~ msgstr "Questo è un BINGO!" - -#, fuzzy -#~ msgid "preview" -#~ msgstr "Anteprima" - -#~ msgid "Move Add Key" -#~ msgstr "Sposta Aggiunta Key" - -#~ msgid "Create Subscription" -#~ msgstr "Crea Sottoscrizione" - -#~ msgid "List:" -#~ msgstr "Lista:" - -#~ msgid "Set Emission Mask" -#~ msgstr "Imposta Maschera Emissione" - -#~ msgid "Clear Emitter" -#~ msgstr "Cancella Emitter" - -#~ msgid " " -#~ msgstr " " - -#~ msgid "Sections:" -#~ msgstr "Sezioni:" - -#~ msgid "Cannot navigate to '" -#~ msgstr "Impossibile navigare a '" - -#~ msgid "" -#~ "\n" -#~ "Source: " -#~ msgstr "" -#~ "\n" -#~ "Sorgente: " - -#~ msgid "Remove Point from Line2D" -#~ msgstr "Rimuovi Punto da Line2D" - -#~ msgid "Add Point to Line2D" -#~ msgstr "Aggiungi Punto a Line2D" - -#~ msgid "Move Point in Line2D" -#~ msgstr "Sposta Punto in Line2D" - -#~ msgid "Split Segment (in line)" -#~ msgstr "Spezza Segmento (in linea)" - -#~ msgid "Meta+" -#~ msgstr "Meta+" - -#, fuzzy -#~ msgid "Setting '" -#~ msgstr "Impostazioni" - -#~ msgid "Remote Inspector" -#~ msgstr "Inspector Remoto" - -#~ msgid "Live Scene Tree:" -#~ msgstr "Scene Tree Live:" - -#~ msgid "Remote Object Properties: " -#~ msgstr "Proprietà Oggetto Remoto: " - -#, fuzzy -#~ msgid "Selection -> Duplicate" -#~ msgstr "Solo Selezione" - -#, fuzzy -#~ msgid "Selection -> Clear" -#~ msgstr "Solo Selezione" - -#~ msgid "" -#~ "Path property must point to a valid Viewport node to work. Such Viewport " -#~ "must be set to 'render target' mode." -#~ msgstr "" -#~ "La proprietà path deve puntare a un nodo Viewport valido per poter " -#~ "funzionare. Tale Viewport deve essere impostata in modalità 'render " -#~ "target'." - -#~ msgid "" -#~ "The Viewport set in the path property must be set as 'render target' in " -#~ "order for this sprite to work." -#~ msgstr "" -#~ "Il Viewport impostato nella proprietà path deve essere impostato come " -#~ "'render target' affinché questa sprite funzioni." - -#~ msgid "' parsing of config failed." -#~ msgstr "' fallita lettura della configurazione." - -#~ msgid "Method List For '%s':" -#~ msgstr "Lista Metodi Per '%s':" - -#~ msgid "Arguments:" -#~ msgstr "Argomenti:" - -#~ msgid "Return:" -#~ msgstr "Ritorna:" - -#~ msgid "Added:" -#~ msgstr "Agginto:" - -#~ msgid "Could not save atlas subtexture:" -#~ msgstr "Impossibile salvare la substruttura dell'atlas:" - -#~ msgid "Setting Up..." -#~ msgstr "Impostando..." - -#~ msgid "Error loading scene." -#~ msgstr "Errore di caricamento della scena." - -#~ msgid "Re-Import" -#~ msgstr "Re-Importa" - -#~ msgid "Please wait for scan to complete." -#~ msgstr "Si prega di attendere che lo scan venga completato." - -#~ msgid "Current scene must be saved to re-import." -#~ msgstr "La scena corrente deve essere salvata per re-importare." - -#~ msgid "Re-Importing" -#~ msgstr "Re-Importando" - -#~ msgid "Re-Import Changed Resources" -#~ msgstr "Re-Importando Risorse Cambiate" - -#~ msgid "" -#~ "\n" -#~ "Status: Needs Re-Import" -#~ msgstr "" -#~ "\n" -#~ "Stato: Richiede Re-Importazione" - -#~ msgid "Same source and destination files, doing nothing." -#~ msgstr "Stessi file di origine e e destinazione, non faccio nulla." - -#~ msgid "Target file exists, can't overwrite. Delete first." -#~ msgstr "" -#~ "Il file di destinazione esiste, non è possibile sovrascriverlo. Occorre " -#~ "prima cancellarlo." - -#~ msgid "Same source and destination paths, doing nothing." -#~ msgstr "" -#~ "Stessi percorsi \n" -#~ "di origine e e destinazione, non faccio nulla." - -#~ msgid "Can't move directories to within themselves." -#~ msgstr "Impossibile muovere le directory dentro se stesse." - -#~ msgid "Can't rename deps for:\n" -#~ msgstr "Impossibile rinominare dipendenze per:\n" - -#~ msgid "Pick New Name and Location For:" -#~ msgstr "Scegli un Nuovo Nome e Posizione Per:" - -#~ msgid "Info" -#~ msgstr "Info" - -#~ msgid "No bit masks to import!" -#~ msgstr "Nessuna bit mask da importare!" - -#~ msgid "Target path is empty." -#~ msgstr "Il percorso di destinazione vuoto." - -#~ msgid "Target path must be a complete resource path." -#~ msgstr "" -#~ "Il percorso di destinazione deve essere un percorso completo di risorsa." - -#~ msgid "Target path must exist." -#~ msgstr "Il percorso di destinazione deve esistere." - -#~ msgid "Import BitMasks" -#~ msgstr "Importa BitMasks" - -#~ msgid "Source Texture(s):" -#~ msgstr "Texture Sorgenti:" - -#~ msgid "Target Path:" -#~ msgstr "Percorso di destinazione:" - -#~ msgid "Accept" -#~ msgstr "Accetta" - -#~ msgid "Bit Mask" -#~ msgstr "Bit Mask" - -#~ msgid "No source font file!" -#~ msgstr "Nessun file font sorgente!" - -#~ msgid "No target font resource!" -#~ msgstr "Nessuna risorsa font di destinazione!" - -#~ msgid "" -#~ "Invalid file extension.\n" -#~ "Please use .font." -#~ msgstr "" -#~ "Estensione file invalida.\n" -#~ "Si prega di usare .font." - -#~ msgid "Couldn't save font." -#~ msgstr "Impossibile salvare font." - -#~ msgid "Source Font:" -#~ msgstr "Font Sorgente:" - -#~ msgid "Dest Resource:" -#~ msgstr "Risorsa di destin. :" - -#~ msgid "The quick brown fox jumps over the lazy dog." -#~ msgstr "La rapida volpe bianca scavalca il cane pigro." - -#~ msgid "Test:" -#~ msgstr "Test:" - -#~ msgid "Options:" -#~ msgstr "Opzioni:" - -#~ msgid "Font Import" -#~ msgstr "Importazione font" - -#~ msgid "" -#~ "This file is already a Godot font file, please supply a BMFont type file " -#~ "instead." -#~ msgstr "" -#~ "Questo file è già un file font di Godot, si prega di fornire invece un " -#~ "file di tipo BMfont." - -#~ msgid "Failed opening as BMFont file." -#~ msgstr "Apertura come BMFont file fallita." - -#~ msgid "Invalid font custom source." -#~ msgstr "Sorgente font personalizzato invalido." - -#~ msgid "No meshes to import!" -#~ msgstr "Nessuna mesh da importare!" - -#~ msgid "Single Mesh Import" -#~ msgstr "Importa Mesh Singola" - -#~ msgid "Source Mesh(es):" -#~ msgstr "Mesh Sorgente(i):" - -#~ msgid "Surface %d" -#~ msgstr "Superficie %d" - -#~ msgid "No samples to import!" -#~ msgstr "Nessun sample da importare!" - -#~ msgid "Import Audio Samples" -#~ msgstr "Importa Sample Audio" - -#~ msgid "Source Sample(s):" -#~ msgstr "Sample Sorgente(i):" - -#~ msgid "Audio Sample" -#~ msgstr "Sample Audio" - -#~ msgid "New Clip" -#~ msgstr "Nuova Clip" - -#~ msgid "Flags" -#~ msgstr "Flags" - -#~ msgid "Bake FPS:" -#~ msgstr "Bake FPS:" - -#~ msgid "Optimizer" -#~ msgstr "Ottimizzatore" - -#~ msgid "Max Linear Error" -#~ msgstr "Errore Lineare Max" - -#~ msgid "Max Angular Error" -#~ msgstr "Errore Angolare Max" - -#~ msgid "Max Angle" -#~ msgstr "Angolo Max" - -#~ msgid "Start(s)" -#~ msgstr "Inizio(i)" - -#~ msgid "Source path is empty." -#~ msgstr "Il percorso sorgente è vuoto." - -#~ msgid "Couldn't load post-import script." -#~ msgstr "Impossibile caricare script di post-importazione." - -#~ msgid "Invalid/broken script for post-import." -#~ msgstr "Script di post-importazione invalido/non funzionante." - -#~ msgid "Error importing scene." -#~ msgstr "Errore di importazione scena." - -#~ msgid "Import 3D Scene" -#~ msgstr "Importa Scena 3D" - -#~ msgid "Source Scene:" -#~ msgstr "Scena Sorgente:" - -#~ msgid "Same as Target Scene" -#~ msgstr "Stesso che Scena di Destinazione" - -#~ msgid "Shared" -#~ msgstr "Condiviso" - -#~ msgid "Target Texture Folder:" -#~ msgstr "Cartella Texture di Destinazione:" - -#~ msgid "Custom Root Node Type:" -#~ msgstr "Tipo di Nodo Root Personalizzato:" - -#~ msgid "Auto" -#~ msgstr "Auto" - -#~ msgid "The Following Files are Missing:" -#~ msgstr "I File Seguenti sono Mancanti:" - -#~ msgid "Import Anyway" -#~ msgstr "Importa ComunqueImporta Comunque" - -#~ msgid "Edited scene has not been saved, open imported scene anyway?" -#~ msgstr "" -#~ "La scena modificata non è stata salvata, aprire la scena importata " -#~ "comunque?" - -#~ msgid "Import Image:" -#~ msgstr "Importa Immagine:" - -#~ msgid "Couldn't localize path: %s (already local)" -#~ msgstr "Impossibile localizzare il percorso: %s (già locale)" - -#~ msgid "3D Scene Animation" -#~ msgstr "Animazione Scena 3D" - -#~ msgid "Uncompressed" -#~ msgstr "Decompressi" - -#~ msgid "Compress Lossless (PNG)" -#~ msgstr "Comprimi Lossless (PNG)" - -#~ msgid "Compress Lossy (WebP)" -#~ msgstr "Comprimi Lossy (WebP)" - -#~ msgid "Compress (VRAM)" -#~ msgstr "Comprimi (VRAM)" - -#~ msgid "Texture Format" -#~ msgstr "Formato Texture" - -#~ msgid "Texture Compression Quality (WebP):" -#~ msgstr "Qualità Compressione Texture (WebP):" - -#~ msgid "Please specify some files!" -#~ msgstr "Si prega di specificare qualche file!" - -#~ msgid "At least one file needed for Atlas." -#~ msgstr "Almeno un file è richiesto per l'Atlas." - -#~ msgid "Error importing:" -#~ msgstr "Errore di importazione:" - -#~ msgid "Max Texture Size:" -#~ msgstr "Dimensione Texture Massima:" - -#~ msgid "Import Textures for Atlas (2D)" -#~ msgstr "Importa Textures per Atlas (2D)" - -#~ msgid "Large Texture" -#~ msgstr "Texture Grande" - -#~ msgid "Import Large Textures (2D)" -#~ msgstr "Importa Texture Grandi (2D)" - -#~ msgid "Source Texture" -#~ msgstr "Texture Sorgente" - -#~ msgid "Base Atlas Texture" -#~ msgstr "Texture Base Atlas" - -#~ msgid "Source Texture(s)" -#~ msgstr "Texture Sorgente(i)" - -#~ msgid "Import Textures for 2D" -#~ msgstr "Importa Textures per 2D" - -#~ msgid "Import Textures for 3D" -#~ msgstr "Importa Textures per 3D" - -#~ msgid "Import Textures" -#~ msgstr "Importa Textures" - -#~ msgid "2D Texture" -#~ msgstr "Texture 2D" - -#~ msgid "3D Texture" -#~ msgstr "Texture 3D" - -#~ msgid "Atlas Texture" -#~ msgstr "Texture dell'Atlas" - -#~ msgid "" -#~ "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files " -#~ "to the project." -#~ msgstr "" -#~ "NOTA: Importare texture 2D non è obbligatorio. Basta copiare i file png/" -#~ "jpg nel progetto." - -#~ msgid "Crop empty space." -#~ msgstr "Ritaglia spazio vuoto." - -#~ msgid "Texture" -#~ msgstr "Texture" - -#~ msgid "Import Large Texture" -#~ msgstr "Importa Texture Grande" - -#~ msgid "Load Source Image" -#~ msgstr "Carica Immagine Sorgente" - -#~ msgid "Slicing" -#~ msgstr "Taglio" - -#~ msgid "Saving" -#~ msgstr "Salvataggio" - -#~ msgid "Couldn't save large texture:" -#~ msgstr "Impossibile salvare texture grande:" - -#~ msgid "Build Atlas For:" -#~ msgstr "Costruisci Atlas Per:" - -#~ msgid "Loading Image:" -#~ msgstr "Immagine Caricamento:" - -#~ msgid "Converting Images" -#~ msgstr "Convertendo Immagini" - -#~ msgid "Cropping Images" -#~ msgstr "Tagliando Immagini" - -#~ msgid "Couldn't save atlas image:" -#~ msgstr "Impossibile salvare l'immagine di atlas:" - -#~ msgid "Invalid translation source!" -#~ msgstr "Sorgente traduzione invalida!" - -#~ msgid "Column" -#~ msgstr "Colonna" - -#~ msgid "No items to import!" -#~ msgstr "Nessun elemento da importare!" - -#~ msgid "No target path!" -#~ msgstr "Nessun percorso di destinazione!" - -#~ msgid "Import Translations" -#~ msgstr "Importa Traduzioni" - -#~ msgid "Couldn't import!" -#~ msgstr "Impossibile Importare!" - -#~ msgid "Import Translation" -#~ msgstr "Importa Traduzione" - -#~ msgid "Source CSV:" -#~ msgstr "CSV Sorgente:" - -#~ msgid "Ignore First Row" -#~ msgstr "Ignora Prima Riga" - -#~ msgid "Compress" -#~ msgstr "Comprimi" - -#~ msgid "Add to Project (project.godot)" -#~ msgstr "Aggiungi a Progetto (project.godot)" - -#~ msgid "Import Languages:" -#~ msgstr "Importa Lingue:" - -#~ msgid "Translation" -#~ msgstr "Traduzione" - -#~ msgid "Triangle #" -#~ msgstr "Triangolo #" - -#~ msgid "Light Baker Setup:" -#~ msgstr "Impostazioni Baker Luci:" - -#~ msgid "Fixing Lights" -#~ msgstr "Aggiustando le Luci" - -#~ msgid "Making BVH" -#~ msgstr "Creazione BVH" - -#~ msgid "Allocating Texture #" -#~ msgstr "Allocazione Texture #" - -#~ msgid "Baking Triangle #" -#~ msgstr "Backing Triangoli #" - -#~ msgid "Post-Processing Texture #" -#~ msgstr "Texture Post-Processing #" - -#~ msgid "Reset the lightmap octree baking process (start over)." -#~ msgstr "Resetta il processo di baking dell'octree (ricomincia da capo)." - -#~ msgid "Zoom Set..." -#~ msgstr "Imposta Zoom..." - -#~ msgid "Parse BBCode" -#~ msgstr "Decodifica BBCode" - -#~ msgid "Length:" -#~ msgstr "Lunghezza:" - -#~ msgid "Open Sample File(s)" -#~ msgstr "Apri File(s) Sample" - -#~ msgid "ERROR: Couldn't load sample!" -#~ msgstr "ERRORE: Impossibile caricare sample!" - -#~ msgid "Add Sample" -#~ msgstr "Aggiungi Sample" - -#~ msgid "Rename Sample" -#~ msgstr "Rinomina Sample" - -#~ msgid "Delete Sample" -#~ msgstr "Elimina Sample" - -#~ msgid "16 Bits" -#~ msgstr "16 Bits" - -#~ msgid "8 Bits" -#~ msgstr "8 Bits" - -#~ msgid "Stereo" -#~ msgstr "Stereo" - -#~ msgid "Scaling to %s%%." -#~ msgstr "Scalando a %s%%." - -#~ msgid "Bucket" -#~ msgstr "Secchiello" - -#~ msgid "Invalid project path, the path must exist!" -#~ msgstr "Percorso di progetto invalido, il percorso deve esistere!" - -#~ msgid "Invalid project path, project.godot must not exist." -#~ msgstr "Percorso di progetto invalido, project.godot non esiste." - -#~ msgid "Invalid project path, project.godot must exist." -#~ msgstr "Percorso di progetto invalido, project.godot deve esistere." - -#~ msgid "Project Path (Must Exist):" -#~ msgstr "Percorso Progetto (Deve Esistere):" - -#~ msgid "Create New Resource" -#~ msgstr "Crea Nuova Risorsa" - -#~ msgid "Open Resource" -#~ msgstr "Apri Risorsa" - -#~ msgid "Save Resource" -#~ msgstr "Salva Risorsa" - -#~ msgid "Resource Tools" -#~ msgstr "Strumenti Risorsa" - -#~ msgid "Edit Groups" -#~ msgstr "Modifica Gruppi" - -#, fuzzy -#~ msgid "Tiles" -#~ msgstr " Files" - -#~ msgid "Ctrl+" -#~ msgstr "Ctrl+" - -#~ msgid "Close scene? (Unsaved changes will be lost)" -#~ msgstr "Chiudi scena? (I cambiamenti non salvati saranno persi)" - -#~ msgid "" -#~ "Open Project Manager? \n" -#~ "(Unsaved changes will be lost)" -#~ msgstr "" -#~ "Aprire la Gestione Progetti?\n" -#~ "(I cambiamenti non salvati saranno persi)" - -#~ msgid "Close Goto Prev. Scene" -#~ msgstr "Vai a Scena Preced." - -#~ msgid "Del" -#~ msgstr "Elim." - -#~ msgid "just pressed" -#~ msgstr "appena premuto" - -#~ msgid "" -#~ "Couldn't read the certificate file. Are the path and password both " -#~ "correct?" -#~ msgstr "" -#~ "Impossibile leggere il file del certificatio. Il percorso e la password " -#~ "sono entrambi corretti?" - -#~ msgid "Error creating the package signature." -#~ msgstr "Errore di creazione della firma del pacchetto." - -#~ msgid "RAW Mode" -#~ msgstr "Modalità RAW" - -#~ msgid "Node From Scene" -#~ msgstr "Nodo Da Scena" - -#~ msgid "Import assets to the project." -#~ msgstr "Importa asset nel progetto." - -#~ msgid "Export the project to many platforms." -#~ msgstr "Esporta il progetto a diverse piattaforme." - -#~ msgid "Alerts when an external resource has changed." -#~ msgstr "Avverti quando una risorsa esterna è stata modificata." - -#~ msgid "Open https://godotengine.org at tutorials section." -#~ msgstr "Apri https://godotengine.org alla sezione tutorial." - -#~ msgid "No scene selected to instance!" -#~ msgstr "Nessuna scena da istanziare selezionata!" - -#~ msgid "Instance at Cursor" -#~ msgstr "Istanzia a Cursore" - -#~ msgid "Use Default Light" -#~ msgstr "Usa Luce Default" - -#~ msgid "Default Light Normal:" -#~ msgstr "Normale Luce di Default:" - -#~ msgid "Ambient Light Color:" -#~ msgstr "Colore Luce Ambiente:" - -#~ msgid "Invalid parent class name" -#~ msgstr "Nome classe genitore invalido" - -#~ msgid "Valid chars:" -#~ msgstr "Caratteri Validi:" - -#~ msgid "Valid name" -#~ msgstr "Nome valido" - -#~ msgid "Class name is invalid!" -#~ msgstr "Nome classe invalido!" - -#~ msgid "Parent class name is invalid!" -#~ msgstr "Nome classe genitore invalido!" - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "" -#~ "La proprietà path deve puntare a un nodo Particles2D valido per poter " -#~ "funzionare." - -#~ msgid "Surface" -#~ msgstr "Superficie" - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SamplePlayer to play sound." -#~ msgstr "" -#~ "Una risorsa SampleLibrary deve essere creata o impostata nella proprietà " -#~ "'samples' affinché SamplePlayer riproduca un suono." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SpatialSamplePlayer to play sound." -#~ msgstr "" -#~ "Una risorsa SampleLibrary deve essere creata o impostata nella proprietà " -#~ "'samples' affinché SpatialSamplePlayer riproduca un suono." - -#~ msgid "Replaced %d Ocurrence(s)." -#~ msgstr "Rimpiazzate %d Occorrenze." - -#~ msgid "Save Translatable Strings" -#~ msgstr "Salva Stringhe Traducibili" - -#~ msgid "Edit Script Options" -#~ msgstr "Modifica le opzioni di script" - -#~ msgid "Error exporting project!" -#~ msgstr "Errore di esportazione del progetto!" - -#~ msgid "Error writing the project PCK!" -#~ msgstr "Errore di scrittura del PCK del progetto!" - -#~ msgid "No exporter for platform '%s' yet." -#~ msgstr "Per ora non vi è esportatore per la piattaforma '%s'." - -#~ msgid "Create Android keystore" -#~ msgstr "Crea keystore Android" - -#~ msgid "Organizational unit" -#~ msgstr "Unità organizzativa" - -#~ msgid "Organization" -#~ msgstr "Organizzazione" - -#~ msgid "City" -#~ msgstr "Città" - -#~ msgid "2 letter country code" -#~ msgstr "Codice nazione di 2 lettere" - -#~ msgid "User alias" -#~ msgstr "Alias user" - -#~ msgid "Password" -#~ msgstr "Password" - -#~ msgid "at least 6 characters" -#~ msgstr "almeno 6 caratteri" - -#~ msgid "File name" -#~ msgstr "Nome file" - -#~ msgid "Path : (better to save outside of project)" -#~ msgstr "Percorso: (meglio salvare fuori dal progetto)" - -#~ msgid "" -#~ "Release keystore is not set.\n" -#~ "Do you want to create one?" -#~ msgstr "" -#~ "Keystore di release non impostato.\n" -#~ "Vuoi crearne uno?" - -#~ msgid "Fill Keystore/Release User and Release Password" -#~ msgstr "Completa Keystore/Utente Release e Password Release" - -#~ msgid "Include" -#~ msgstr "Includi" - -#~ msgid "Group name can't be empty!" -#~ msgstr "Il nome del gruppo non può essere vuoto!" - -#~ msgid "Invalid character in group name!" -#~ msgstr "Carattere invalido nel nome del gruppo!" - -#~ msgid "Add Image Group" -#~ msgstr "Aggiungi Gruppo Immagini" - -#~ msgid "Project Export Settings" -#~ msgstr "Impostazioni Esportazione Progetto" - -#~ msgid "Export to Platform" -#~ msgstr "Esporta a Piattaforma" - -#~ msgid "Export all files in the project directory." -#~ msgstr "Esporta tutti i file nella directory del progetto." - -#~ msgid "Convert text scenes to binary on export." -#~ msgstr "Converti le scene in formato testuale in binario all'esportazione." - -#~ msgid "Images" -#~ msgstr "Immagini" - -#~ msgid "Keep Original" -#~ msgstr "Mantieni l'originale" - -#~ msgid "Compress for Disk (Lossy, WebP)" -#~ msgstr "Comprimi per Disco (Lossy, WebP)" - -#~ msgid "Compress for RAM (BC/PVRTC/ETC)" -#~ msgstr "Comprimi per RAM (BC/PVRTC/ETC)" - -#~ msgid "Convert Images (*.png):" -#~ msgstr "Converti Immagini (*.png):" - -#~ msgid "Compress for Disk (Lossy) Quality:" -#~ msgstr "Qualità compressione per disco (Lossy):" - -#~ msgid "Shrink All Images:" -#~ msgstr "Riduci Tutte le Immagini:" - -#~ msgid "Compress Formats:" -#~ msgstr "Formati di Compressione:" - -#~ msgid "Groups:" -#~ msgstr "Gruppi:" - -#~ msgid "Compress Disk" -#~ msgstr "Comprimi Disco" - -#~ msgid "Compress RAM" -#~ msgstr "Comprimi RAM" - -#~ msgid "Compress Mode:" -#~ msgstr "Modalità di Compressione:" - -#~ msgid "Lossy Quality:" -#~ msgstr "Qualità Lossy:" - -#~ msgid "Shrink By:" -#~ msgstr "Riduci di:" - -#~ msgid "Images:" -#~ msgstr "Immagini:" - -#~ msgid "Sample Conversion Mode: (.wav files):" -#~ msgstr "Modalità Conversione Sample (file .wav):" - -#~ msgid "Compress (RAM - IMA-ADPCM)" -#~ msgstr "Comprimi (RAM - IMA-ADPCM)" - -#~ msgid "Sampling Rate Limit (Hz):" -#~ msgstr "Limite Sampling Rate (Hz):" - -#~ msgid "Trim" -#~ msgstr "Ritaglia" - -#~ msgid "Trailing Silence:" -#~ msgstr "Silenzio di coda:" - -#~ msgid "Export Project PCK" -#~ msgstr "Esporta Progetto PCK" - -#~ msgid "Project Export" -#~ msgstr "Esportazione Progetto" - -#~ msgid "BakedLightInstance does not contain a BakedLight resource." -#~ msgstr "BakedLightInstance non contiene una risorsa BakedLight." - -#~ msgid "Lighting" -#~ msgstr "Illuminazione" - -#~ msgid "Global" -#~ msgstr "Globale" - -#~ msgid "" -#~ "This item cannot be made visible because the parent is hidden. Unhide the " -#~ "parent first." -#~ msgstr "" -#~ "Questo elemento non può essere reso visibile perchè il genitore è " -#~ "nascosto. Rivela prima il genitore." - -#~ msgid "" -#~ "Paths cannot start with '/', absolute paths must start with 'res://', " -#~ "'user://', or 'local://'" -#~ msgstr "" -#~ "I percorsi non possono iniziare per '/', i percorsi assoluti devono " -#~ "iniziare per 'res://', 'user://', oppure 'local://'" - -#~ msgid "File exists" -#~ msgstr "File esistente" - -#~ msgid "Valid path" -#~ msgstr "Percorso valido" - -#~ msgid "" -#~ "Custom node has no _get_output_port_unsequenced(idx,wmem), but " -#~ "unsequenced ports were specified." -#~ msgstr "" -#~ "Il nodo personalizzato non ha _get_output_port_unsequenced(idx,wmem), ma " -#~ "le porte unsequenced sono state specificate." - -#~ msgid "Cannot go into subdir:" -#~ msgstr "Impossibile accedere alla subdirectory:" - -#~ msgid "Top (Num7)" -#~ msgstr "Alto (Num7)" - -#~ msgid "Bottom (Shift+Num7)" -#~ msgstr "Basso (Shift+Num7)" - -#~ msgid "Left (Num3)" -#~ msgstr "Sinistra (Num3)" - -#~ msgid "Right (Shift+Num3)" -#~ msgstr "Destra (Shift+Num3)" - -#~ msgid "Front (Num1)" -#~ msgstr "Fronte (Num1)" - -#~ msgid "Rear (Shift+Num1)" -#~ msgstr "Retro (Shift+Num1)" - -#~ msgid "Perspective (Num5)" -#~ msgstr "Prospettiva (Num5)" - -#~ msgid "Orthogonal (Num5)" -#~ msgstr "Ortogonale (Num5)" - -#~ msgid "Selection (F)" -#~ msgstr "Selezione (F)" - -#~ msgid "Align with view (Ctrl+Shift+F)" -#~ msgstr "Allinea con vista (Ctrl+Shift+F)" - -#~ msgid "Enable/Disable interpolation when looping animation." -#~ msgstr "Attiva/Disattiva interpolazione durante loop animazione." - -#~ msgid "Load Layout" -#~ msgstr "Carica Layout" - -#~ msgid "Scale Region Editor" -#~ msgstr "Scala Editor Regioni" - -#~ msgid "Inherit Scene" -#~ msgstr "Eredita Scena" - -#~ msgid "Binds (Extra Params):" -#~ msgstr "Lega (Parametri Extra):" - -#~ msgid "Method In Node:" -#~ msgstr "Metodo Nel Nodo:" - -#~ msgid "Reload Tool Script (Soft)" -#~ msgstr "Ricarica Tool Script (Soft)" - -#~ msgid "Live Editing" -#~ msgstr "Editing Live" - -#~ msgid "File Server" -#~ msgstr "File Server" - -#~ msgid "Deploy File Server Clients" -#~ msgstr "Distribuisci i Client del File Server" - -#~ msgid "%d frames" -#~ msgstr "%d frames" - -#~ msgid "" -#~ "NOTICE: You are not forced to import textures for 2D projects. Just copy " -#~ "your .jpg or .png files to your project, and change export options later. " -#~ "Atlases can be generated on export too." -#~ msgstr "" -#~ "NOTA: Non sei obbligato ad importare le texture per i progetti 2D. È " -#~ "sufficiente copiare i tuoi file .jpg o .png nel tuo progetto, e cambiare " -#~ "le opzioni di esportazione successivamente. Gli atlas possono essere " -#~ "anche generati in esportazione." - -#~ msgid "Overwrite Existing, Keep Materials" -#~ msgstr "Sovrascrivi Esistente, Mantieni Materiali" - -#~ msgid "Keep Existing, Merge with New" -#~ msgstr "Mantieni Esistente, Unisci a Nuova" - -#~ msgid "Keep Existing, Ignore New" -#~ msgstr "Mantieni Esistente, Ignora Nuova" - -#~ msgid "This Time:" -#~ msgstr "Questa Volta:" - -#~ msgid "Next Time:" -#~ msgstr "Prossima Volta:" - -#~ msgid "Merging..." -#~ msgstr "Unione..." diff --git a/editor/translations/ja.po b/editor/translations/ja.po index 91af3e6757..7260a5c71e 100644 --- a/editor/translations/ja.po +++ b/editor/translations/ja.po @@ -1,6 +1,6 @@ # Japanese translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # akirakido <achts.y@gmail.com>, 2016-2017, 2018, 2019. # D_first <dntk.daisei@gmail.com>, 2017, 2018. @@ -26,7 +26,7 @@ # Takuya Watanabe <watanabe@zblog.sakura.ne.jp>, 2019. # Sodium11 <Sodium11.for.gitserver@gmail.com>, 2019. # leela <53352@protonmail.com>, 2019. -# Tarou Yamada <mizuningyou@yahoo.co.jp>, 2019. +# Tarou Yamada <mizuningyou@yahoo.co.jp>, 2019, 2021. # kazuma kondo <kazmax7@gmail.com>, 2019. # Akihiro Ogoshi <technical@palsystem-game.com>, 2019, 2020. # Wataru Onuki <bettawat@yahoo.co.jp>, 2020, 2021. @@ -40,7 +40,7 @@ msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-11-14 11:41+0000\n" +"PO-Revision-Date: 2021-12-16 14:06+0000\n" "Last-Translator: nitenook <admin@alterbaum.net>\n" "Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/" "godot/ja/>\n" @@ -49,7 +49,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.9.1-dev\n" +"X-Generator: Weblate 4.10-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -72,7 +72,7 @@ msgstr "式中の無効な入力 %i (渡されていません)" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" -msgstr "インスタンスが null (渡されない) であるため、self は使用できません" +msgstr "インスタンスがNULLの(渡されていない)ため、selfは使用できません。" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." @@ -2139,14 +2139,30 @@ msgstr "メソッド" msgid "Theme Properties" msgstr "テーマ プロパティ" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "列挙型" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "カラー" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "定数" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "フォント" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "アイコン" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "スタイル" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "列挙型" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "プロパティの説明" @@ -6830,7 +6846,7 @@ msgstr "放出源: " #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." -msgstr "パーティクルマテリアルが必要です." +msgstr "'ParticlesMaterial' 型のマテリアルが必要です。" #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" @@ -7497,7 +7513,7 @@ 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." @@ -7564,7 +7580,7 @@ msgstr "関数に移動" #: editor/plugins/script_text_editor.cpp msgid "Only resources from filesystem can be dropped." -msgstr "ファイルシステムのリソースのみドロップできます." +msgstr "ファイルシステムのリソースのみドロップできます。" #: editor/plugins/script_text_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -7850,19 +7866,19 @@ msgstr "トランスフォームは中止されました。" #: editor/plugins/spatial_editor_plugin.cpp msgid "X-Axis Transform." -msgstr "X軸トランスフォーム." +msgstr "X軸トランスフォーム。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Y-Axis Transform." -msgstr "Y軸トランスフォーム." +msgstr "Y軸トランスフォーム。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Z-Axis Transform." -msgstr "Z軸トランスフォーム." +msgstr "Z軸トランスフォーム。" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Plane Transform." -msgstr "ビュー平面トランスフォーム." +msgstr "ビュー平面トランスフォーム。" #: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/texture_region_editor_plugin.cpp @@ -7893,7 +7909,7 @@ msgstr "位置の変更: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." -msgstr "%s 度回転." +msgstr "%s 度回転。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Keying is disabled (no key inserted)." @@ -7965,7 +7981,7 @@ msgstr "前面図。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rear View." -msgstr "後面図." +msgstr "後面図。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align Transform with View" @@ -7985,11 +8001,11 @@ msgstr "この操作には選択されたノードが1つ必要です。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Auto Orthogonal Enabled" -msgstr "自動平行投影 有効" +msgstr "自動平行投影を有効化" #: editor/plugins/spatial_editor_plugin.cpp msgid "Lock View Rotation" -msgstr "ビューの回転を固定" +msgstr "ビュー回転を固定" #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" @@ -8579,18 +8595,6 @@ msgid "TextureRegion" msgstr "テクスチャ領域" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "カラー" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "フォント" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "アイコン" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "StyleBox" @@ -10750,7 +10754,7 @@ msgstr "このパスには、指定された名前のフォルダーがすでに #: editor/project_manager.cpp msgid "It would be a good idea to name your project." -msgstr "プロジェクトに名前を付けてください." +msgstr "プロジェクトには名前を付けることを推奨します。" #: editor/project_manager.cpp msgid "Invalid project path (changed anything?)." @@ -11062,7 +11066,7 @@ msgstr "すべて除去" #: editor/project_manager.cpp msgid "Also delete project contents (no undo!)" -msgstr "プロジェクトの内容も削除する (もとに戻せません!)" +msgstr "プロジェクトの内容も削除する (元に戻せません!)" #: editor/project_manager.cpp msgid "Can't run project" @@ -11333,7 +11337,7 @@ msgstr "一般" #: editor/project_settings_editor.cpp msgid "Override For..." -msgstr "上書きします..." +msgstr "上書き..." #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "The editor must be restarted for changes to take effect." @@ -11397,11 +11401,11 @@ msgstr "ロケールフィルター" #: editor/project_settings_editor.cpp msgid "Show All Locales" -msgstr "すべてのロケールを表示する" +msgstr "すべての言語を表示する" #: editor/project_settings_editor.cpp msgid "Show Selected Locales Only" -msgstr "選択したロケールのみ表示" +msgstr "選択した言語のみ表示" #: editor/project_settings_editor.cpp msgid "Filter mode:" @@ -11852,7 +11856,7 @@ msgstr "ノードを除去" #: editor/scene_tree_dock.cpp msgid "Change type of node(s)" -msgstr "ノードのタイプを変更する" +msgstr "ノードのタイプを変更" #: editor/scene_tree_dock.cpp msgid "" @@ -11864,7 +11868,7 @@ msgstr "" #: editor/scene_tree_dock.cpp msgid "Error saving scene." -msgstr "シーンを保存する際にエラーが発生しました." +msgstr "シーンを保存する際にエラーが発生しました。" #: editor/scene_tree_dock.cpp msgid "Error duplicating scene to save it." @@ -12557,7 +12561,7 @@ msgstr "無効なインスタンス辞書です(無効なサブクラス)" #: modules/gdscript/gdscript_functions.cpp msgid "Object can't provide a length." -msgstr "オブジェクトに長さがありません." +msgstr "オブジェクトは長さを提供できません。" #: modules/gltf/editor_scene_exporter_gltf_plugin.cpp msgid "Export Mesh GLTF2" @@ -13367,10 +13371,15 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." msgstr "" -"\"Hand Tracking\" は \"Xr Mode\" が \"Oculus Mobile VR\" の場合にのみ有効にな" -"ります。" +"\"Hand Tracking\" は \"Xr Mode\" が \"Oculus Mobile VrApi\" または \"OpenXR" +"\" の場合にのみ有効です。" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." +msgstr "\"Passthrough\" は \"Xr Mode\" が \"OpenXR\" の場合にのみ有効です。" #: platform/android/export/export_plugin.cpp msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." @@ -13379,6 +13388,24 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" +"\"Min Sdk\" の変更は \"Use Custom Build\" が有効である場合にのみ有効です。" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" +"\"Target Sdk\" の変更は \"Use Custom Build\" が有効である場合にのみ有効です。" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" +"\"Target Sdk\" バージョンは \"Min Sdk\" バージョン以上でなければなりません。" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -13415,7 +13442,7 @@ msgstr "'apksigner' による %s の検証に失敗しました。" #: platform/android/export/export_plugin.cpp msgid "Exporting for Android" -msgstr "Android用にエクスポート中" +msgstr "Android用にエクスポート" #: platform/android/export/export_plugin.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." @@ -13624,7 +13651,7 @@ msgstr "パッケージのショートネームが無効です。" #: platform/uwp/export/export.cpp msgid "Invalid package unique name." -msgstr "パッケージの一意の名前が無効です。" +msgstr "パッケージ固有の名前が無効です。" #: platform/uwp/export/export.cpp msgid "Invalid package publisher display name." @@ -14566,1973 +14593,3 @@ msgstr "uniform への割り当て。" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "定数は変更できません。" - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "レスト・ポーズの作成(ボーンから)" - -#~ msgid "Bottom" -#~ msgstr "下面" - -#~ msgid "Left" -#~ msgstr "左側面" - -#~ msgid "Right" -#~ msgstr "右側面" - -#~ msgid "Front" -#~ msgstr "前面" - -#~ msgid "Rear" -#~ msgstr "後面" - -#~ msgid "Nameless gizmo" -#~ msgstr "無名のギズモ" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "\"Degrees Of Freedom\" は \"Xr Mode\" が \"Oculus Mobile VR\" の場合にのみ" -#~ "有効になります。" - -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "\"Focus Awareness\" は \"Xr Mode\" が \"Oculus Mobile VR\" の場合にのみ有" -#~ "効になります。" - -#~ msgid "Package Contents:" -#~ msgstr "パッケージの内容:" - -#~ msgid "Singleton" -#~ msgstr "シングルトン" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "プロファイル '%s' を消去しますか?(元に戻せません)" - -#~ msgid "Enabled Properties:" -#~ msgstr "プロパティを有効にする:" - -#~ msgid "Enabled Features:" -#~ msgstr "機能を有効にする:" - -#~ msgid "Unset" -#~ msgstr "未設定" - -#~ msgid "Class Options" -#~ msgstr "クラスオプション" - -#~ msgid "Set" -#~ msgstr "Set" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "%s個の変更されたリソースを保存しました。" - -#~ msgid "Q&A" -#~ msgstr "Q&A" - -#~ msgid "Status:" -#~ msgstr "ステータス:" - -#~ msgid "Edit:" -#~ msgstr "編集:" - -#~ msgid "Redownload" -#~ msgstr "再ダウンロード" - -#~ msgid "(Installed)" -#~ msgstr "(インストール済)" - -#~ msgid "(Missing)" -#~ msgstr "(見つかりません)" - -#~ msgid "Request Failed." -#~ msgstr "リクエストは失敗しました。" - -#~ msgid "Redirect Loop." -#~ msgstr "リダイレクトのループ。" - -#~ msgid "Download Complete." -#~ msgstr "ダウンロードが完了しました。" - -#~ msgid "Remove Template" -#~ msgstr "テンプレートを除去" - -#~ msgid "Download Templates" -#~ msgstr "テンプレートをダウンロード" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "リストからミラーを選択: (Shift+クリック: ブラウザで開く)" - -#~ msgid "Move to Trash" -#~ msgstr "ごみ箱へ移動" - -#~ msgid "Expand All Properties" -#~ msgstr "すべてのプロパティを展開" - -#~ msgid "Collapse All Properties" -#~ msgstr "すべてのプロパティを折りたたむ" - -#~ msgid "Copy Params" -#~ msgstr "パラメーターをコピー" - -#~ msgid "Open in Help" -#~ msgstr "ヘルプで開く" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "ゲームカメラの置き換え\n" -#~ "実行中のゲームインスタンス無し。" - -#~ msgid "Drag: Rotate" -#~ msgstr "ドラッグ: 回転" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "ピボットを変更するには 'v' 、ピボットをドラッグするには 'Shift+v' を押しま" -#~ "す(移動中)。" - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+右クリック: 奥行き選択リスト" - -#~ msgid "Clone Down" -#~ msgstr "下に複写" - -#~ msgid "Yaw" -#~ msgstr "ヨー" - -#~ msgid "Size" -#~ msgstr "サイズ" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "ドラッグ: 回転\n" -#~ "Alt+ドラッグ: 移動\n" -#~ "Alt+右クリック: 奥行き選択リスト" - -#~ msgid "Sep.:" -#~ msgstr "分類:" - -#~ msgid "Add All" -#~ msgstr "すべてを追加" - -#~ msgid "Theme editing menu." -#~ msgstr "テーマ編集メニュー。" - -#~ msgid "Create Empty Template" -#~ msgstr "空のテンプレートを生成" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "空のエディタテンプレートを生成" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "現在のエディタテーマから作成" - -#~ msgid "Data Type:" -#~ msgstr "データの型:" - -#~ msgid "Theme File" -#~ msgstr "テーマ ファイル" - -#~ msgid "Compiled" -#~ msgstr "コンパイル済み" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "%d プロジェクトを一覧から削除しますか?\n" -#~ "プロジェクトフォルダの内容は変更されません。" - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "このプロジェクトを一覧から削除しますか?\n" -#~ "プロジェクトフォルダの内容は変更されません。" - -#~ msgid "Templates" -#~ msgstr "テンプレート" - -#~ msgid "Add Remapped Path" -#~ msgstr "再マップされたパスを追加" - -#~ msgid "Can not perform with the root node." -#~ msgstr "ルートノードでは実行できません。" - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "ブートスプラッシュ画像ファイルを読み込めませんでした:" - -#~ msgid "Using default boot splash image." -#~ msgstr "デフォルトのブートスプラッシュ画像を使用します。" - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "アニメーションプレーヤーは他のプレーヤーだけにアニメーションを適用すること" -#~ "はできません。" - -#~ msgid "Clipboard is empty" -#~ msgstr "クリップボードが空です" - -#~ msgid "" -#~ "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -#~ msgstr "InterpolatedCamera は廃止予定であり、Godot 4.0で除去されます。" - -#~ msgid "No" -#~ msgstr "いいえ" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "このシーンは一度も保存されていません。実行する前に保存しますか?" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "ADB実行可能ファイルがエディタ設定で設定されていません。" - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "OpenJDK jarsignerがエディタ設定で設定されていません。" - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "カスタムビルドにはエディタ設定で有効なAndroid SDKパスが必要です。" - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(Time Left: %d分%02d秒)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "メッシュを描画中: " - -#~ msgid "Lighting Meshes: " -#~ msgstr "ライティングメッシュ: " - -#~ msgid "Search complete" -#~ msgstr "検索完了" - -#~ msgid "No commit message was provided" -#~ msgstr "コミットメッセージは提供されませんでした" - -#~ msgid "Add a commit message" -#~ msgstr "コミットメッセージを追加する" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "このパスには、既に同名のファイルかフォルダがあります。" - -#~ msgid "Unable to complete APK alignment." -#~ msgstr "APKの最適化を完了できません。" - -#~ msgid "Unable to delete unaligned APK." -#~ msgstr "未最適化のAPKを削除できません。" - -#~ msgid "Error trying to save layout!" -#~ msgstr "レイアウトの保存エラー!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "デフォルトのエディタ レイアウトを上書きしました。" - -#~ msgid "Move pivot" -#~ msgstr "ピボットを移動" - -#~ msgid "Move anchor" -#~ msgstr "アンカーを移動" - -#~ msgid "Resize CanvasItem" -#~ msgstr "CanvasItemをリサイズ" - -#~ msgid "Polygon->UV" -#~ msgstr "ポリゴン->UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV->ポリゴン" - -#~ msgid "Add initial export..." -#~ msgstr "初回エクスポートを追加…" - -#~ msgid "Add previous patches..." -#~ msgstr "前回のパッチを追加…" - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "パッチ '%s' をリストから削除しますか?" - -#~ msgid "Patches" -#~ msgstr "パッチ" - -#~ msgid "Make Patch" -#~ msgstr "パッチ生成" - -#~ msgid "Pack File" -#~ msgstr "パックファイル" - -#~ msgid "No build apk generated at: " -#~ msgstr "ビルドAPKは生成されていません: " - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "ファイルシステムとインポートドック" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "エクスポートまたはデプロイを行う場合、生成された実行ファイルはデバッグのた" -#~ "めに、このコンピューターのIPに接続を試みます。" - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "現在のシーンは保存されませんでした。実行する前に保存してください。" - -#~ msgid "Revert" -#~ msgstr "元に戻す" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "この操作は取り消せません。それでも元に戻しますか?" - -#~ msgid "Revert Scene" -#~ msgstr "シーンを元に戻す" - -#~ msgid "Clear Script" -#~ msgstr "スクリプトをクリア" - -#~ msgid "Issue Tracker" -#~ msgstr "課題管理システム" - -#~ msgid "Request Docs" -#~ msgstr "ドキュメントを要求" - -#~ msgid "Help improve the Godot documentation by giving feedback." -#~ msgstr "" -#~ "フィードバックを提供して、Godotのドキュメントの改善に役立ててください。" - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "%d 箇所を置換しました。" - -#~ msgid "Create Static Convex Body" -#~ msgstr "静的凸状ボディを生成" - -#~ msgid "Failed creating shapes!" -#~ msgstr "図形の作成に失敗しました!" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "現在、このクラスのチュートリアルはありませんが、[color=$color][url=$url]貢" -#~ "献[/url][/color]、または[color=$color][url=$url2]リクエスト[/url][/color]" -#~ "は可能です。" - -#~ msgid "enum " -#~ msgstr "列挙型 " - -#~ msgid "Brief Description" -#~ msgstr "要約" - -#~ msgid "Class Description" -#~ msgstr "クラスの説明" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "プロジェクトのエクスポートがエラーコード %d で失敗しました。" - -#~ msgid "Password:" -#~ msgstr "パスワード:" - -#~ msgid "Identifier segments must be of non-zero length." -#~ msgstr "識別子セグメントはゼロ以外の長さでなければなりません。" - -#~ msgid "A digit cannot be the first character in a Identifier segment." -#~ msgstr "数字を識別子セグメントの先頭に使用できません。" - -#~ msgid "" -#~ "The character '%s' cannot be the first character in a Identifier segment." -#~ msgstr "文字 '%s' は識別子 セグメントの先頭に使用できません。" - -#~ msgid "The Identifier must have at least one '.' separator." -#~ msgstr "識別子には一つ以上の区切り文字 '.' が必要です。" - -#~ msgid "Pause the scene" -#~ msgstr "シーンを一時停止" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Control+" -#~ msgstr "Control+" - -#~ msgid "Snap to Grid" -#~ msgstr "グリッドにスナップ" - -#~ msgid "Add input +" -#~ msgstr "入力を追加+" - -#~ msgid "Language" -#~ msgstr "言語" - -#~ msgid "Inherits" -#~ msgstr "継承" - -#~ msgid "Base Type:" -#~ msgstr "基本タイプ:" - -#~ msgid "Available Nodes:" -#~ msgstr "利用可能なノード:" - -#~ msgid "Input" -#~ msgstr "入力" - -#~ msgid "Methods:" -#~ msgstr "メソッド:" - -#~ msgid "Theme Properties:" -#~ msgstr "テーマプロパティ:" - -#~ msgid "Enumerations:" -#~ msgstr "列挙型:" - -#~ msgid "Constants:" -#~ msgstr "定数:" - -#~ msgid "Class Description:" -#~ msgstr "クラスの説明:" - -#~ msgid "Property Descriptions:" -#~ msgstr "プロパティの説明:" - -#~ msgid "Method Descriptions:" -#~ msgstr "メソッドの説明:" - -#~ msgid "" -#~ "This will install the Android project for custom builds.\n" -#~ "Note that, in order to use it, it needs to be enabled per export preset." -#~ msgstr "" -#~ "これにより、カスタムビルド用のAndroidプロジェクトがインストールされま" -#~ "す。\n" -#~ "使用するには、エクスポートプリセットごとに有効にする必要があります。" - -#~ msgid "Reverse sorting." -#~ msgstr "逆順ソート。" - -#~ msgid "Delete Node(s)?" -#~ msgstr "ノードを削除しますか?" - -#~ msgid "No Matches" -#~ msgstr "一致なし" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "書き出し時にfile_type_cache.cchを確認できません。ファイルタイプのキャッ" -#~ "シュを保存できません!\n" -#~ "ファイルタイプキャッシュを保存せずに file_type_cache.cch を書込み用に開く" -#~ "ことはできません!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "ファイルシステム上で '%s' を見つけられないため移動できません!" - -#~ msgid "Error loading image:" -#~ msgstr "画像読み込みエラー:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "画像内に透明度が128以上のピクセルがありません..." - -#, fuzzy -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "初期値を設定する塗りつぶし面が、親にありません." - -#~ msgid "Couldn't map area." -#~ msgstr "エリアをマッピングできませんでした。" - -#~ msgid "Faces contain no area!" -#~ msgstr "面にエリアが含まれていません!" - -#~ msgid "No faces!" -#~ msgstr "面がありません!" - -#~ msgid "Error: could not load file." -#~ msgstr "エラー: ファイルを読み込めませんでした。" - -#~ msgid "Error could not load file." -#~ msgstr "エラー:ファイルを読み込めませんでした。" - -#~ msgid "Doppler Enable" -#~ msgstr "ドップラーを有効にする" - -#~ msgid "Select Mode (Q)" -#~ msgstr "選択モード (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "移動モード (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "回転モード (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "スケールモード (R)" - -#~ msgid "Local Coords" -#~ msgstr "ローカル座標系" - -#~ msgid "Snap Mode (%s)" -#~ msgstr "スナップモード (%s)" - -#~ msgid "Tool Select" -#~ msgstr "選択ツール" - -#~ msgid "Tool Move" -#~ msgstr "移動ツール" - -#~ msgid "Tool Rotate" -#~ msgstr "回転ツール" - -#~ msgid "Tool Scale" -#~ msgstr "スケールツール" - -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "" -#~ "一覧にないプロジェクトをすべて削除しますか?(フォルダの内容は変更されませ" -#~ "ん)" - -#~ msgid "Project List" -#~ msgstr "プロジェクト一覧" - -#~ msgid "Exit" -#~ msgstr "終了" - -#~ msgid "Could not execute PVRTC tool:" -#~ msgstr "PVRTCツールを実行できませんでした:" - -#~ msgid "Can't load back converted image using PVRTC tool:" -#~ msgstr "PVRTCツールを使用して変換されたイメージを元に戻すことができません:" - -#~ msgid "Error initializing FreeType." -#~ msgstr "FreeType の初期化エラー。" - -#~ msgid "Unknown font format." -#~ msgstr "不明なフォント形式です。" - -#~ msgid "Error loading font." -#~ msgstr "フォント読み込みエラー。" - -#~ msgid "Invalid font size." -#~ msgstr "無効なフォント サイズです。" - -#~ msgid "Previous Folder" -#~ msgstr "前のフォルダ" - -#, fuzzy -#~ msgid "Next Folder" -#~ msgstr "次の床面" - -#~ msgid "Automatically Open Screenshots" -#~ msgstr "スクリーンショットを自動的に開く" - -#~ msgid "Open in an external image editor." -#~ msgstr "外部のイメージエディタで開きます。" - -#~ msgid "Reverse" -#~ msgstr "逆" - -#~ msgid "Mirror X" -#~ msgstr "ミラーX" - -#~ msgid "Mirror Y" -#~ msgstr "ミラーY" - -#, fuzzy -#~ msgid "Generating solution..." -#~ msgstr "八分木テクスチャを生成" - -#~ msgid "Generating C# project..." -#~ msgstr "C#プロジェクトを生成しています…" - -#, fuzzy -#~ msgid "Failed to create solution." -#~ msgstr "アウトラインを生成できませんでした!" - -#~ msgid "Failed to save solution." -#~ msgstr "ソリューションの保存に失敗しました。" - -#~ msgid "Failed to create C# project." -#~ msgstr "C#プロジェクトの生成に失敗しました。" - -#~ msgid "Mono" -#~ msgstr "Mono" - -#~ msgid "About C# support" -#~ msgstr "C#のサポートについて" - -#~ msgid "Create C# solution" -#~ msgstr "C#ソリューションを生成" - -#~ msgid "Builds" -#~ msgstr "ビルド" - -#~ msgid "Build Project" -#~ msgstr "プロジェクトをビルド" - -#~ msgid "View log" -#~ msgstr "ログを表示" - -#~ msgid "WorldEnvironment needs an Environment resource." -#~ msgstr "WorldEnvironmentにはEnvironmentリソースが必要です。" - -#, fuzzy -#~ msgid "Enabled Classes" -#~ msgstr "クラスの検索" - -#~ msgid "Update Always" -#~ msgstr "常に更新" - -#, fuzzy -#~ msgid "Raw Mode" -#~ msgstr "パン・モード" - -#~ msgid "Path to Node:" -#~ msgstr "ノードへのパス:" - -#~ msgid "Delete selected files?" -#~ msgstr "選択したファイルを削除しますか?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "'res://default_bus_layout.tres' ファイルがありません。" - -#~ msgid "Go to parent folder" -#~ msgstr "親フォルダへ" - -#~ msgid "Open Scene(s)" -#~ msgstr "シーンを開く" - -#~ msgid "Previous Directory" -#~ msgstr "前のディレクトリ" - -#~ msgid "Next Directory" -#~ msgstr "次のディレクトリ" - -#, fuzzy -#~ msgid "Ease in" -#~ msgstr "イージング(Ease In)" - -#, fuzzy -#~ msgid "Ease out" -#~ msgstr "イージング(Ease Out)" - -#~ msgid "Create Convex Static Body" -#~ msgstr "スタティック(不変)凸状ボディを生成" - -#, fuzzy -#~ msgid "CheckBox Radio1" -#~ msgstr "チェックボックス Radio1" - -#, fuzzy -#~ msgid "CheckBox Radio2" -#~ msgstr "チェックボックス Radio2" - -#~ msgid "Create folder" -#~ msgstr "フォルダを作成" - -#~ msgid "Custom Node" -#~ msgstr "カスタムノード" - -#~ msgid "Invalid Path" -#~ msgstr "無効なパス" - -#, fuzzy -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "選択範囲を複製" - -#, fuzzy -#~ msgid "Create Area" -#~ msgstr "新規に生成" - -#, fuzzy -#~ msgid "Create Exterior Connector" -#~ msgstr "新しいプロジェクトを作る" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "シグナルの引数を編集:" - -#~ msgid "Edit Variable:" -#~ msgstr "変数を編集:" - -#~ msgid "Snap (s): " -#~ msgstr "スナップ (秒): " - -#~ msgid "Insert keys." -#~ msgstr "キーを挿入する。" - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "選択したシーンを選択したノードの子としてインスタンス化します。" - -#~ msgid "Font Size:" -#~ msgstr "フォントサイズ:" - -#~ msgid "Line:" -#~ msgstr "行:" - -#~ msgid "Col:" -#~ msgstr "列:" - -#, fuzzy -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "" -#~ "PathFollow2D は、Path2D ノードの子として設定されている場合のみ動作します。" - -#~ msgid "Add Split" -#~ msgstr "分割を追加" - -#, fuzzy -#~ msgid "Invalid Split: " -#~ msgstr "無効なフォント サイズです。" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "選択しているポイント=点を削除" - -#, fuzzy -#~ msgid "Poly" -#~ msgstr "ポリゴンを編集" - -#, fuzzy -#~ msgid "Splits" -#~ msgstr "パスを分割" - -#~ msgid "Add Node.." -#~ msgstr "ノードを追加.." - -#, fuzzy -#~ msgid "Create from scene?" -#~ msgstr "シーンから生成しますか?" - -#~ msgid "Create Poly" -#~ msgstr "ポリゴンを作成" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "新規にポリゴンを作成" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "ズームアウト" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "ズームイン" - -#~ msgid "Create Poly3D" -#~ msgstr "3Dポリゴンを生成する" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "このノードにOccluderPolygon2Dリソースがありません。\n" -#~ "作成して、割り当てますか ?" - -#~ msgid "LMB: Move Point." -#~ msgstr "LMB: 点を移動する。" - -#, fuzzy -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl+マウス左ボタン: セグメントを分割" - -#~ msgid "RMB: Erase Point." -#~ msgstr "右クリック: 点を消す。" - -#, fuzzy -#~ msgid "New TextFile" -#~ msgstr "ビューファイル:" - -#~ msgid "Save Theme As" -#~ msgstr "テーマに名前を付けて保存" - -#~ msgid "<None>" -#~ msgstr "<None>" - -#~ msgid "Zoom:" -#~ msgstr "ズーム:" - -#~ msgid "Are you sure you want to remove all connections from the \"" -#~ msgstr "\" から全ての接続を除去してもよろしいですか" - -#~ msgid "Class List:" -#~ msgstr "クラス一覧:" - -#~ msgid "Public Methods" -#~ msgstr "パブリックメソッド" - -#~ msgid "Public Methods:" -#~ msgstr "パブリックメソッド:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "GUIテーマのアイテム:" - -#~ msgid "Property: " -#~ msgstr "プロパティ: " - -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "フォルダの状態をお気に入りに切替える。" - -#~ msgid "Show current scene file." -#~ msgstr "現在のシーンファイルを表示する。" - -#~ msgid "Enter tree-view." -#~ msgstr "ツリービューに入る。" - -#~ msgid "Whole words" -#~ msgstr "単語全体" - -#~ msgid "Match case" -#~ msgstr "大文字小文字を区別" - -#~ msgid "Ok" -#~ msgstr "OK" - -#, fuzzy -#~ msgid "Show In File System" -#~ msgstr "ファイルシステム上で表示" - -#, fuzzy -#~ msgid "Search the class hierarchy." -#~ msgstr "クラス階層を検索." - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "クラスの検索" - -#, fuzzy -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "" -#~ "組み込まれたスクリプトは所属するシーンが読み込まれていないと編集できません" - -#~ msgid "Convert To Uppercase" -#~ msgstr "大文字に変換" - -#~ msgid "Convert To Lowercase" -#~ msgstr "小文字に変換" - -#~ msgid "Rotate 0 degrees" -#~ msgstr "0度回転" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "90度回転" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "180度回転" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "270度回転" - -#~ msgid "Errors:" -#~ msgstr "エラー:" - -#~ msgid "Stack Trace (if applicable):" -#~ msgstr "スタックトレース(可能なら):" - -#~ msgid "Bake!" -#~ msgstr "ベイク!" - -#, fuzzy -#~ msgid "Bake the navigation mesh." -#~ msgstr "ナビメッシュ(ナビゲーションメッシュ)の生成" - -#, fuzzy -#~ msgid "Get" -#~ msgstr "Getメソッド" - -#, fuzzy -#~ msgid "Change RGB Constant" -#~ msgstr "RGB定数を変更" - -#, fuzzy -#~ msgid "Change Vec Scalar Operator" -#~ msgstr "ベクトル・スカラ演算子を変更" - -#, fuzzy -#~ msgid "Change RGB Operator" -#~ msgstr "RGB演算子を変更" - -#~ msgid "Toggle Rot Only" -#~ msgstr "回転のみ変更" - -#, fuzzy -#~ msgid "Change Vec Function" -#~ msgstr "ベクトル関数を変更" - -#~ msgid "Change Vec Uniform" -#~ msgstr "ベクトルUniformを変更" - -#~ msgid "Change RGB Uniform" -#~ msgstr "RGB Uniformを変更" - -#~ msgid "Change Default Value" -#~ msgstr "規定値を変更" - -#~ msgid "Change XForm Uniform" -#~ msgstr "XForm Uniformを変更" - -#~ msgid "Change Cubemap Uniform" -#~ msgstr "キューブマップUniformを変更" - -#~ msgid "Change Comment" -#~ msgstr "コメントを変更" - -#, fuzzy -#~ msgid "Add/Remove to Color Ramp" -#~ msgstr "色の傾斜を付加/消去" - -#~ msgid "Modify Color Ramp" -#~ msgstr "色変化の傾斜を修正" - -#, fuzzy -#~ msgid "Add/Remove to Curve Map" -#~ msgstr "カーブマップを加える/除去" - -#~ msgid "Modify Curve Map" -#~ msgstr "カーブマップを修正" - -#, fuzzy -#~ msgid "Connect Graph Nodes" -#~ msgstr "グラフノードを接続" - -#, fuzzy -#~ msgid "Remove Shader Graph Node" -#~ msgstr "シェーダーグラフノードを除去" - -#, fuzzy -#~ msgid "Move Shader Graph Node" -#~ msgstr "シェーダーグラフノードを移動" - -#~ msgid "Duplicate Graph Node(s)" -#~ msgstr "グラフノードを複製" - -#~ msgid "Error: Cyclic Connection Link" -#~ msgstr "エラー:循環結合リンク" - -#, fuzzy -#~ msgid "Error: Missing Input Connections" -#~ msgstr "エラー:入力コネクションが失われています" - -#~ msgid "Add Shader Graph Node" -#~ msgstr "シェーダーグラフノードを追加" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Anim トラックを上に移動" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Anim トラックを下に移動" - -#~ msgid "Set Transitions to:" -#~ msgstr "トランジションを設定:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Anim トラック補間の変更" - -#, fuzzy -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Anim トラック 値モードの変更" - -#, fuzzy -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Anim トラック ラップモードの変更" - -#~ msgid "Edit Node Curve" -#~ msgstr "ノード カーブを編集" - -#~ msgid "Edit Selection Curve" -#~ msgstr "選択曲線を編集" - -#~ msgid "Anim Add Key" -#~ msgstr "Anim キーを追加" - -#~ msgid "In" -#~ msgstr "イン" - -#~ msgid "Out" -#~ msgstr "アウト" - -#~ msgid "In-Out" -#~ msgstr "イン - アウト" - -#~ msgid "Out-In" -#~ msgstr "アウト - イン" - -#~ msgid "Change Anim Len" -#~ msgstr "Anim Len を変更" - -#~ msgid "Change Anim Loop" -#~ msgstr "Anim Loop を変更" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Anim は、型指定された値のキーを作成" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Anim コールトラックを追加" - -#~ msgid "Length (s):" -#~ msgstr "長さ:" - -#~ msgid "Step (s):" -#~ msgstr "ステップ:" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "カーソル ステップ スナップ (単位は秒)。" - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "アニメーションのループを有効/無効。" - -#~ msgid "Add new tracks." -#~ msgstr "新しいトラックを追加。" - -#~ msgid "Move current track up." -#~ msgstr "現在のトラックに移動します。" - -#~ msgid "Move current track down." -#~ msgstr "現在のトラックを下へ移動します。" - -#~ msgid "Track tools" -#~ msgstr "トラック ツール" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "それらをクリックすることで、個々のキーの編集を有効にします。" - -#~ msgid "Key" -#~ msgstr "キー" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "ノード内の関数を呼び出しますか?" - -#, fuzzy -#~ msgid "Thanks!" -#~ msgstr "ありがとう!" - -#, fuzzy -#~ msgid "I see..." -#~ msgstr "わかった..." - -#, fuzzy -#~ msgid "Ugh" -#~ msgstr "うぇ" - -#, fuzzy -#~ msgid "Run Script" -#~ msgstr "スクリプトの実行" - -#~ msgid "Stop Profiling" -#~ msgstr "プロファイリング停止" - -#~ msgid "Start Profiling" -#~ msgstr "プロファイリング開始" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "既定(エディタと同じ)" - -#, fuzzy -#~ msgid "Create new animation in player." -#~ msgstr "アニメーションをプレイヤー内に新しく作成する" - -#, fuzzy -#~ msgid "Load animation from disk." -#~ msgstr "ディスクからアニメーションを読み込む" - -#, fuzzy -#~ msgid "Load an animation from disk." -#~ msgstr "ディスクからアニメーションを一つ読み込む" - -#, fuzzy -#~ msgid "Save the current animation" -#~ msgstr "現在のアニメーションを保存する" - -#, fuzzy -#~ msgid "Edit Target Blend Times" -#~ msgstr "ターゲットのブレンドの回数を変更する" - -#, fuzzy -#~ msgid "Copy Animation" -#~ msgstr "アニメーションを複製する" - -#, fuzzy -#~ msgid "Fetching:" -#~ msgstr "取得中:" - -#~ msgid "prev" -#~ msgstr "前" - -#~ msgid "next" -#~ msgstr "次" - -#~ msgid "last" -#~ msgstr "最後" - -#~ msgid "Edit IK Chain" -#~ msgstr "IK(インバース キネマティクス)チェーンの編集" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "マウス位置からピボットをドラッグ" - -#, fuzzy -#~ msgid "Set pivot at mouse position" -#~ msgstr "曲線のOut-ハンドルの位置を指定" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "色変化の傾斜に、ポイント=点を追加または除去する" - -#~ msgid "OK :(" -#~ msgstr "おーけー :(" - -#~ msgid "StyleBox Preview:" -#~ msgstr "スタイルボックス プレビュー:" - -#~ msgid "Texture Region Editor" -#~ msgstr "テクスチャリージョン エディタ" - -#~ msgid "Erase selection" -#~ msgstr "選択を消去" - -#, fuzzy -#~ msgid "Item name or ID:" -#~ msgstr "アイテムの名前かID:" - -#, fuzzy -#~ msgid "Export templates for this platform are missing/corrupted: " -#~ msgstr "" -#~ "このプラットフォームに向けてのエクスポートのテンプレートが見つかりません:" - -#~ msgid "Button 8" -#~ msgstr "ボタン8" - -#~ msgid "Button 9" -#~ msgstr "ボタン9" - -#, fuzzy -#~ msgid "Discard Instancing" -#~ msgstr "インスタンス化の無効化" - -#~ msgid "Clear!" -#~ msgstr "クリア!" - -#, fuzzy -#~ msgid "Condition" -#~ msgstr "条件(conditon)" - -#, fuzzy -#~ msgid "Sequence" -#~ msgstr "シークエンス" - -#, fuzzy -#~ msgid "Switch" -#~ msgstr "Switch文" - -#, fuzzy -#~ msgid "Iterator" -#~ msgstr "イテレーター" - -#, fuzzy -#~ msgid "While" -#~ msgstr "While文" - -#~ msgid "Return" -#~ msgstr "戻り値" - -#, fuzzy -#~ msgid "Call" -#~ msgstr "呼び出し" - -#, fuzzy -#~ msgid "Edit Variable" -#~ msgstr "変数を編集:" - -#, fuzzy -#~ msgid "Edit Signal" -#~ msgstr "信号を接続:" - -#~ msgid "Invalid action (anything goes but '/' or ':')." -#~ msgstr "不正なアクション( '/' と':'は不可です)." - -#, fuzzy -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "ホストに接続できません:" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "テンプレート内のversion.txt フォーマットが不正です. Revisionは有効な識別子" -#~ "ではありません." - -#~ msgid "Can't write file." -#~ msgstr "ファイルに書き込みできませんでした." - -#, fuzzy -#~ msgid "Couldn't get project.godot in project path." -#~ msgstr "project.godotをプロジェクトパスに生成できませんでした" - -#~ msgid "Replace By" -#~ msgstr "で置換する" - -#, fuzzy -#~ msgid "Backwards" -#~ msgstr "後方" - -#, fuzzy -#~ msgid "Prompt On Replace" -#~ msgstr "置換時に確認" - -#, fuzzy -#~ msgid "Skip" -#~ msgstr "スキップ" - -#~ msgid "" -#~ "Your project will be created in a non empty folder (you might want to " -#~ "create a new folder)." -#~ msgstr "" -#~ "空でないフォルダにプロジェクトが作成されます(新しいフォルダを作成すること" -#~ "ができます)." - -#~ msgid "That's a BINGO!" -#~ msgstr "当たり!" - -#, fuzzy -#~ msgid "preview" -#~ msgstr "プレビュー" - -#~ msgid "Move Add Key" -#~ msgstr "追加したキーを移動" - -#, fuzzy -#~ msgid "Create Subscription" -#~ msgstr "サブスクリプションの生成" - -#, fuzzy -#~ msgid "List:" -#~ msgstr "リスト:" - -#, fuzzy -#~ msgid "Set Emission Mask" -#~ msgstr "発光(Emission)マスクを設定" - -#, fuzzy -#~ msgid "Clear Emitter" -#~ msgstr "発光物をクリア" - -#~ msgid " " -#~ msgstr " " - -#, fuzzy -#~ msgid "Sections:" -#~ msgstr "セクション:" - -#, fuzzy -#~ msgid "Cannot navigate to '" -#~ msgstr "~に移動できません" - -#, fuzzy -#~ msgid "" -#~ "\n" -#~ "Source: " -#~ msgstr "ソース:" - -#, fuzzy -#~ msgid "Remove Point from Line2D" -#~ msgstr "Line2Dからポイント=点を除去" - -#~ msgid "Add Point to Line2D" -#~ msgstr "Line2Dにポイント=点を追加" - -#~ msgid "Move Point in Line2D" -#~ msgstr "Line2D のポイント=点を移動" - -#~ msgid "Split Segment (in line)" -#~ msgstr "セグメント分割(線分内で)" - -#~ msgid "Meta+" -#~ msgstr "Meta+" - -#, fuzzy -#~ msgid "Setting '" -#~ msgstr "設定" - -#~ msgid "Remote Inspector" -#~ msgstr "リモートインスペクター" - -#~ msgid "Remote Object Properties: " -#~ msgstr "リモートオブジェクトのプロパティ: " - -#, fuzzy -#~ msgid "Selection -> Duplicate" -#~ msgstr "選択範囲のみ" - -#, fuzzy -#~ msgid "Selection -> Clear" -#~ msgstr "選択範囲のみ" - -#~ msgid "" -#~ "Path property must point to a valid Viewport node to work. Such Viewport " -#~ "must be set to 'render target' mode." -#~ msgstr "" -#~ "Path プロパティは、動作するように有効なビューポート ノードをポイントする必" -#~ "要があります。このようなビューポートは、'render target' モードに設定する必" -#~ "要があります。" - -#~ msgid "" -#~ "The Viewport set in the path property must be set as 'render target' in " -#~ "order for this sprite to work." -#~ msgstr "" -#~ "Path プロパティに設定したビューポートは、このスプライトの動作する順序で " -#~ "'render target' として設定する必要があります。" - -#, fuzzy -#~ msgid "Method List For '%s':" -#~ msgstr "'%s' のメソッド一覧:" - -#, fuzzy -#~ msgid "Return:" -#~ msgstr "戻り値:" - -#, fuzzy -#~ msgid "Added:" -#~ msgstr "加えたのは:" - -#, fuzzy -#~ msgid "Could not save atlas subtexture:" -#~ msgstr "アトラスの要素であるテクスチャの保存ができません:" - -#, fuzzy -#~ msgid "Setting Up..." -#~ msgstr "セットアップ中..." - -#, fuzzy -#~ msgid "Error loading scene." -#~ msgstr "シーンの読み込みエラー" - -#~ msgid "Re-Import" -#~ msgstr "再インポート" - -#, fuzzy -#~ msgid "Please wait for scan to complete." -#~ msgstr "走査完了をお待ちください" - -#, fuzzy -#~ msgid "Current scene must be saved to re-import." -#~ msgstr "再インポートするためには現在のシーンを保存する必要があります" - -#, fuzzy -#~ msgid "Re-Importing" -#~ msgstr "再インポート" - -#, fuzzy -#~ msgid "Re-Import Changed Resources" -#~ msgstr "変更したリソースを再インポート" - -#, fuzzy -#~ msgid "" -#~ "\n" -#~ "Status: Needs Re-Import" -#~ msgstr "保存して再インポート" - -#, fuzzy -#~ msgid "Same source and destination files, doing nothing." -#~ msgstr "同じファイルが指定されているので、何も行いません." - -#, fuzzy -#~ msgid "Same source and destination paths, doing nothing." -#~ msgstr "同じパスが指定されているので、何も行いません" - -#, fuzzy -#~ msgid "Can't move directories to within themselves." -#~ msgstr "ディレクトリを自身の内部には移動できません" - -#, fuzzy -#~ msgid "Pick New Name and Location For:" -#~ msgstr "新しい名前とロケーションを選択:" - -#, fuzzy -#~ msgid "Info" -#~ msgstr "インフォーメーション" - -#, fuzzy -#~ msgid "No bit masks to import!" -#~ msgstr "インポートするビットマスクが見つかりません!" - -#, fuzzy -#~ msgid "Target path is empty." -#~ msgstr "ターゲットのパスに何もありません" - -#, fuzzy -#~ msgid "Target path must be a complete resource path." -#~ msgstr "ターゲットのパスはリソースの完全なパスでなければいけません." - -#, fuzzy -#~ msgid "Target path must exist." -#~ msgstr "ターゲットのパスが存在しません" - -#, fuzzy -#~ msgid "Import BitMasks" -#~ msgstr "ビットマスクをインポート" - -#, fuzzy -#~ msgid "Source Texture(s):" -#~ msgstr "ソースのテクスチャ:" - -#, fuzzy -#~ msgid "Accept" -#~ msgstr "受取OK" - -#~ msgid "Bit Mask" -#~ msgstr "ビットマスク" - -#, fuzzy -#~ msgid "No source font file!" -#~ msgstr "ソースのフォントファイルが見つかりません!" - -#, fuzzy -#~ msgid "No target font resource!" -#~ msgstr "ターゲットのフォントリソースが見つかりません!" - -#, fuzzy -#~ msgid "" -#~ "Invalid file extension.\n" -#~ "Please use .font." -#~ msgstr "" -#~ "ファイル拡張子が不正です.\n" -#~ " .fontを使ってください." - -#, fuzzy -#~ msgid "Couldn't save font." -#~ msgstr "フォントを保存できませんでした" - -#, fuzzy -#~ msgid "Source Font:" -#~ msgstr "ソース フォント:" - -#, fuzzy -#~ msgid "Dest Resource:" -#~ msgstr "送り先のリソース:" - -#, fuzzy -#~ msgid "The quick brown fox jumps over the lazy dog." -#~ msgstr "いろはにほへと~." - -#~ msgid "Test:" -#~ msgstr "テスト:" - -#~ msgid "Options:" -#~ msgstr "オプション:" - -#, fuzzy -#~ msgid "Font Import" -#~ msgstr "フォントのインポート" - -#, fuzzy -#~ msgid "" -#~ "This file is already a Godot font file, please supply a BMFont type file " -#~ "instead." -#~ msgstr "" -#~ "このファイルはもうGodotのフォントファイルです. BMFont type のファイルを代" -#~ "わりに利用してください." - -#, fuzzy -#~ msgid "Failed opening as BMFont file." -#~ msgstr "BMFont ファイルを開けませんでした" - -#, fuzzy -#~ msgid "Invalid font custom source." -#~ msgstr "不正なフォントカスタムソース" - -#, fuzzy -#~ msgid "No meshes to import!" -#~ msgstr "インポートするメッシュがありません" - -#, fuzzy -#~ msgid "Single Mesh Import" -#~ msgstr "シングルメッシュをインポート" - -#, fuzzy -#~ msgid "Source Mesh(es):" -#~ msgstr "ソース メッシュ:" - -#, fuzzy -#~ msgid "Surface %d" -#~ msgstr "サーフェース %d" - -#, fuzzy -#~ msgid "No samples to import!" -#~ msgstr "インポートするサンプルがありません!" - -#, fuzzy -#~ msgid "Import Audio Samples" -#~ msgstr "オーディオサンプルをインポート" - -#, fuzzy -#~ msgid "Source Sample(s):" -#~ msgstr "ソースのサンプル:" - -#~ msgid "Audio Sample" -#~ msgstr "オーディオサンプル" - -#, fuzzy -#~ msgid "New Clip" -#~ msgstr "新しいクリップ" - -#, fuzzy -#~ msgid "Flags" -#~ msgstr "フラグ" - -#, fuzzy -#~ msgid "Bake FPS:" -#~ msgstr "FPSを焼き込み(ベイク):" - -#~ msgid "Optimizer" -#~ msgstr "オプティマイザ" - -#, fuzzy -#~ msgid "Max Linear Error" -#~ msgstr "最大位置エラー" - -#, fuzzy -#~ msgid "Max Angular Error" -#~ msgstr "最大角度エラー" - -#, fuzzy -#~ msgid "Max Angle" -#~ msgstr "最大角度" - -#~ msgid "Start(s)" -#~ msgstr "開始" - -#, fuzzy -#~ msgid "Source path is empty." -#~ msgstr "ソースのパスは空です" - -#, fuzzy -#~ msgid "Couldn't load post-import script." -#~ msgstr "インポート済みのスクリプトを読み込みませんでした" - -#, fuzzy -#~ msgid "Invalid/broken script for post-import." -#~ msgstr "インポート済みのスクリプトは不正な/壊れたスクリプトです" - -#, fuzzy -#~ msgid "Error importing scene." -#~ msgstr "シーン インポートのエラー" - -#, fuzzy -#~ msgid "Import 3D Scene" -#~ msgstr "3Dシーンをインポート" - -#~ msgid "Source Scene:" -#~ msgstr "ソース シーン:" - -#, fuzzy -#~ msgid "Same as Target Scene" -#~ msgstr "ターゲットシーンと同じ" - -#~ msgid "Shared" -#~ msgstr "共有されている" - -#, fuzzy -#~ msgid "Target Texture Folder:" -#~ msgstr "ターゲットテクスチャのフォルダ:" - -#, fuzzy -#~ msgid "Custom Root Node Type:" -#~ msgstr "ルートノードのカスタムタイプ:" - -#~ msgid "Auto" -#~ msgstr "自動" - -#, fuzzy -#~ msgid "The Following Files are Missing:" -#~ msgstr "以下のファイルが見つかりません:" - -#, fuzzy -#~ msgid "Import Anyway" -#~ msgstr "とりあえずインポート" - -#, fuzzy -#~ msgid "Edited scene has not been saved, open imported scene anyway?" -#~ msgstr "" -#~ "編集したシーンは保存されていませんが、それでもインポートしたシーンを開きま" -#~ "すか?" - -#, fuzzy -#~ msgid "Import Image:" -#~ msgstr "イメージをインポート:" - -#, fuzzy -#~ msgid "Couldn't localize path: %s (already local)" -#~ msgstr "パスをローカライズできません: %s (すでにローカル)" - -#, fuzzy -#~ msgid "3D Scene Animation" -#~ msgstr "3Dシーンアニメーション" - -#~ msgid "Uncompressed" -#~ msgstr "非圧縮" - -#, fuzzy -#~ msgid "Compress Lossless (PNG)" -#~ msgstr "ロスレス圧縮(PNG)" - -#, fuzzy -#~ msgid "Compress Lossy (WebP)" -#~ msgstr "非可逆圧縮(WebP)" - -#, fuzzy -#~ msgid "Compress (VRAM)" -#~ msgstr "圧縮 (VRAM)" - -#~ msgid "Texture Format" -#~ msgstr "テクスチャフォーマット" - -#, fuzzy -#~ msgid "Texture Compression Quality (WebP):" -#~ msgstr "テクスチャ圧縮品質 (WebP):" - -#, fuzzy -#~ msgid "Please specify some files!" -#~ msgstr "なにかファイルを指定してください!" - -#, fuzzy -#~ msgid "At least one file needed for Atlas." -#~ msgstr "アトラスに最低一つのファイルを指定してください" - -#, fuzzy -#~ msgid "Error importing:" -#~ msgstr "エラーをインポート中:" - -#, fuzzy -#~ msgid "Max Texture Size:" -#~ msgstr "最大テクスチャサイズ:" - -#, fuzzy -#~ msgid "Import Textures for Atlas (2D)" -#~ msgstr "アトラスのテクスチャをインポート (2D)" - -#, fuzzy -#~ msgid "Large Texture" -#~ msgstr "大きなテクスチャ" - -#, fuzzy -#~ msgid "Import Large Textures (2D)" -#~ msgstr "大きなテクスチャをインポート (2D)" - -#, fuzzy -#~ msgid "Source Texture" -#~ msgstr "ソーステクスチャ" - -#, fuzzy -#~ msgid "Base Atlas Texture" -#~ msgstr "基本アトラステクスチャ" - -#, fuzzy -#~ msgid "Source Texture(s)" -#~ msgstr "ソース テクスチャ" - -#, fuzzy -#~ msgid "Import Textures for 2D" -#~ msgstr "2Dテクスチャをインポート" - -#, fuzzy -#~ msgid "Import Textures for 3D" -#~ msgstr "3Dテクスチャをインポート" - -#, fuzzy -#~ msgid "Import Textures" -#~ msgstr "テクスチャをインポート" - -#~ msgid "2D Texture" -#~ msgstr "2Dテクスチャ" - -#~ msgid "3D Texture" -#~ msgstr "3Dテクスチャ" - -#~ msgid "Atlas Texture" -#~ msgstr "アトラステクスチャ" - -#, fuzzy -#~ msgid "" -#~ "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files " -#~ "to the project." -#~ msgstr "" -#~ "注意:2Dテクスチャのインポートは必須ではありません. png/jpgファイルをプロ" -#~ "ジェクトにコピーしてください." - -#, fuzzy -#~ msgid "Crop empty space." -#~ msgstr "空白を刈り込む" - -#, fuzzy -#~ msgid "Import Large Texture" -#~ msgstr "大きなテクスチャをインポート" - -#, fuzzy -#~ msgid "Load Source Image" -#~ msgstr "ソースイメージを読み込む" - -#~ msgid "Slicing" -#~ msgstr "スライシング" - -#~ msgid "Saving" -#~ msgstr "保存中" - -#~ msgid "Couldn't save large texture:" -#~ msgstr "大きなテクスチャが保存できませんでした:" - -#, fuzzy -#~ msgid "Build Atlas For:" -#~ msgstr "~のアトラスをビルド:" - -#, fuzzy -#~ msgid "Loading Image:" -#~ msgstr "イメージを読み込み中:" - -#, fuzzy -#~ msgid "Converting Images" -#~ msgstr "イメージを変換中" - -#, fuzzy -#~ msgid "Cropping Images" -#~ msgstr "イメージをクロッピング(トリミング)" - -#, fuzzy -#~ msgid "Couldn't save atlas image:" -#~ msgstr "アトラスイメージを保存できませんでした:" - -#~ msgid "Invalid translation source!" -#~ msgstr "不正な翻訳ソース!" - -#, fuzzy -#~ msgid "Column" -#~ msgstr "カラム" - -#, fuzzy -#~ msgid "No items to import!" -#~ msgstr "インポートするものがありません!" - -#, fuzzy -#~ msgid "No target path!" -#~ msgstr "ターゲットのパスがありません!" - -#, fuzzy -#~ msgid "Import Translations" -#~ msgstr "翻訳をインポート" - -#, fuzzy -#~ msgid "Couldn't import!" -#~ msgstr "インポートできませんでした!" - -#, fuzzy -#~ msgid "Import Translation" -#~ msgstr "翻訳をインポート" - -#, fuzzy -#~ msgid "Source CSV:" -#~ msgstr "ソースCSVファイル:" - -#, fuzzy -#~ msgid "Ignore First Row" -#~ msgstr "最初の行を無視" - -#, fuzzy -#~ msgid "Add to Project (project.godot)" -#~ msgstr "プロジェクトに追加 (project.godot)" - -#, fuzzy -#~ msgid "Import Languages:" -#~ msgstr "言語をインポート:" - -#~ msgid "Translation" -#~ msgstr "翻訳" - -#~ msgid "Triangle #" -#~ msgstr "三角形 #" - -#, fuzzy -#~ msgid "Light Baker Setup:" -#~ msgstr "ライティング(照明)ベイク設定:" - -#, fuzzy -#~ msgid "Fixing Lights" -#~ msgstr "照明(ライティング)の修復" - -#, fuzzy -#~ msgid "Making BVH" -#~ msgstr "BVHデータを生成" - -#, fuzzy -#~ msgid "Allocating Texture #" -#~ msgstr "テクスチャを(メモリ上で)確保#" - -#, fuzzy -#~ msgid "Baking Triangle #" -#~ msgstr "三角形をベイク#" - -#, fuzzy -#~ msgid "Post-Processing Texture #" -#~ msgstr "後処理のテクスチャ#" - -#, fuzzy -#~ msgid "Reset the lightmap octree baking process (start over)." -#~ msgstr "ライトマップ八分木ベイクのプロセスをリセット(やり直し)." - -#, fuzzy -#~ msgid "Zoom Set..." -#~ msgstr "ズームをセットする..." - -#, fuzzy -#~ msgid "Parse BBCode" -#~ msgstr "BBコードをパースする" - -#, fuzzy -#~ msgid "Length:" -#~ msgstr "長さ:" - -#, fuzzy -#~ msgid "Open Sample File(s)" -#~ msgstr "サンプルファイルを開ける" - -#, fuzzy -#~ msgid "ERROR: Couldn't load sample!" -#~ msgstr "エラー:サンプルを読み込めません!" - -#~ msgid "Rename Sample" -#~ msgstr "サンプルの名前を変える" - -#~ msgid "Delete Sample" -#~ msgstr "サンプルを消去する" - -#~ msgid "16 Bits" -#~ msgstr "16ビット" - -#~ msgid "8 Bits" -#~ msgstr "8ビット" - -#~ msgid "Stereo" -#~ msgstr "ステレオ音声" - -#, fuzzy -#~ msgid "Scaling to %s%%." -#~ msgstr "拡大縮小比率%s%%." - -#, fuzzy -#~ msgid "Invalid project path, the path must exist!" -#~ msgstr "パスが不正です.パスが存在しないといけません." - -#, fuzzy -#~ msgid "Invalid project path, project.godot must not exist." -#~ msgstr "プロジェクトのパスが不正です.project.godotは存在しません." - -#, fuzzy -#~ msgid "Invalid project path, project.godot must exist." -#~ msgstr "" -#~ "プロジェクトのパスが不正です.project.godotは存在する必要があります。" - -#, fuzzy -#~ msgid "Project Path (Must Exist):" -#~ msgstr "プロジェクトパス(存在する必要があります)" - -#~ msgid "Create New Resource" -#~ msgstr "新しいリソースを生成" - -#~ msgid "Open Resource" -#~ msgstr "リソースを開ける" - -#~ msgid "Save Resource" -#~ msgstr "リソースを保存" - -#, fuzzy -#~ msgid "Resource Tools" -#~ msgstr "リソースのツール" - -#, fuzzy -#~ msgid "Tiles" -#~ msgstr "ファイル:" - -#~ msgid "Ctrl+" -#~ msgstr "Ctrl+" - -#, fuzzy -#~ msgid "Close scene? (Unsaved changes will be lost)" -#~ msgstr "シーンを閉じますか?(セーブしていない変更は失われます)" - -#, fuzzy -#~ msgid "" -#~ "Open Project Manager? \n" -#~ "(Unsaved changes will be lost)" -#~ msgstr "" -#~ "プロジェクトマネージャーを開きますか?\n" -#~ "(保存していない変更は失われます)" - -#, fuzzy -#~ msgid "Close Goto Prev. Scene" -#~ msgstr "閉じて過去開いたシーンに移動" - -#~ msgid "Del" -#~ msgstr "deleteキー" - -#, fuzzy -#~ msgid "just pressed" -#~ msgstr "押した" - -#, fuzzy -#~ msgid "" -#~ "Couldn't read the certificate file. Are the path and password both " -#~ "correct?" -#~ msgstr "証明書ファイルが読めません. パスかパスワードが間違っていませんか?" - -#, fuzzy -#~ msgid "Error creating the package signature." -#~ msgstr "パッケージ署名生成エラー" - -#~ msgid "RAW Mode" -#~ msgstr "RAWモード" - -#, fuzzy -#~ msgid "Node From Scene" -#~ msgstr "シーンからのノード" - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "" -#~ "Path プロパティは、動作するように有効な Particles2D ノードを示す必要があり" -#~ "ます。" - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SamplePlayer to play sound." -#~ msgstr "" -#~ "SampleLibrary リソースは SamplePlayer がサウンドを再生するために作成また" -#~ "は 'samples' プロパティで設定する必要があります。" - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SpatialSamplePlayer to play sound." -#~ msgstr "" -#~ "SpatialSamplePlayer でサウンドを再生するためには SampleLibrary リソースを" -#~ "作成または 'samples' プロパティで設定する必要があります。" - -#~ msgid "Replaced %d Ocurrence(s)." -#~ msgstr "%d 箇所を置換しました。" - -#, fuzzy -#~ msgid "Create Android keystore" -#~ msgstr "フォルダを作成" - -#, fuzzy -#~ msgid "Organization" -#~ msgstr "遷移" - -#, fuzzy -#~ msgid "" -#~ "Paths cannot start with '/', absolute paths must start with 'res://', " -#~ "'user://', or 'local://'" -#~ msgstr "" -#~ "パスは「/」で始めることができません。絶対パスは必ず「res://」「user://」" -#~ "「local://」 で始まる必要があります。" diff --git a/editor/translations/ka.po b/editor/translations/ka.po index aeb8023ba4..e2d3086b5c 100644 --- a/editor/translations/ka.po +++ b/editor/translations/ka.po @@ -1,6 +1,6 @@ # Georgian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Giorgi Beriashvili <giorgi.beriashvili@outlook.com>, 2018. # George Dzavashvili <dzavashviligeorge@gmail.com>, 2018. @@ -2157,14 +2157,30 @@ msgstr "" msgid "Theme Properties" msgstr "" -#: editor/editor_help.cpp -msgid "Enumerations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + #: editor/editor_help.cpp #, fuzzy msgid "Property Descriptions" @@ -8548,18 +8564,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -13257,7 +13261,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -13266,6 +13275,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14271,146 +14295,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "" - -#, fuzzy -#~ msgid "Package Contents:" -#~ msgstr "პაკეტების დამყენებელი" - -#, fuzzy -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "ყველას ჩანაცვლება" - -#, fuzzy -#~ msgid "Clipboard is empty" -#~ msgstr "ბუფერი ცარიელია" - -#, fuzzy -#~ msgid "Add initial export..." -#~ msgstr "საყვარლები:" - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "შეცვლილია %d დამთხვევები." - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "აღწერა:" - -#, fuzzy -#~ msgid "Class Description" -#~ msgstr "აღწერა:" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "აღწერა:" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "აღწერა:" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "აღწერა:" - -#~ msgid "Unknown font format." -#~ msgstr "უცნობი ფონტის ფორმატი." - -#~ msgid "Error loading font." -#~ msgstr "შეცდომა ფონტის ჩატვირთვისას." - -#~ msgid "Invalid font size." -#~ msgstr "არასწორი ფონტის ზომა." - -#~ msgid "Line:" -#~ msgstr "ხაზი:" - -#~ msgid "Col:" -#~ msgstr "სვეტი:" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "ზუმის დაპატარავება" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "ზუმის გაზრდა" - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "ზუმის გაზრდა" - -#, fuzzy -#~ msgid "Whole words" -#~ msgstr "მთლიანი სიტყვები" - -#, fuzzy -#~ msgid "Match case" -#~ msgstr "საქმის დამთხვევა" - -#~ msgid "Move Anim Track Up" -#~ msgstr "ანიმაციის თრექის ზემოთ გადაადგილება" - -#~ msgid "Move Anim Track Down" -#~ msgstr "ანიმაციის თრექის ქვემოთ გადაადგილება" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "ანიმაციის თრექის ინტერპოლაციის ცვლილება" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "ანიმაციის თრექის მნიშვნელობის რეჟიმის ცვლილება" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "ანიმაციის თრექის გადატანის რეჟიმის ცვლილება" - -#~ msgid "Anim Add Key" -#~ msgstr "ანიმაციის გასაღების დამატება" - -#~ msgid "In" -#~ msgstr "შიგნით" - -#~ msgid "Out" -#~ msgstr "გარეთ" - -#~ msgid "In-Out" -#~ msgstr "შიგნიდან-გარეთ" - -#~ msgid "Out-In" -#~ msgstr "გარედან-შიგნით" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "ანიმაციის ტიპირებული გასაღების შექმნა" - -#~ msgid "Anim Add Call Track" -#~ msgstr "ანიმაციის გამოძახების თრექის დამატება" - -#~ msgid "Length (s):" -#~ msgstr "ხანგრძლივობა (წამი):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "კურსორის ნაბიჯის მიახლოებით მიერთება (წამებში)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "ანიმაციის განმეორებადობის ჩართვა/გამორთვა." - -#~ msgid "Add new tracks." -#~ msgstr "ახალი თრექების ჩამატება." - -#~ msgid "Move current track up." -#~ msgstr "მიმდინარე თრექის ზემოთ გადაადგილება." - -#~ msgid "Move current track down." -#~ msgstr "მიმდინარე თრექის ქვემოთ გადაადგილება." - -#~ msgid "Track tools" -#~ msgstr "თრექის იარაღები" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "ინდივიდუალური გასაღებების მათზე დაჭერით ცვლილების ჩართვა." - -#~ msgid "Key" -#~ msgstr "გასაღები" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "რომელ კვანძში გამოვიძახოთ ფუნქციები?" - -#~ msgid "Thanks!" -#~ msgstr "მადლობა!" diff --git a/editor/translations/km.po b/editor/translations/km.po index 4a61c9969d..2a4084196e 100644 --- a/editor/translations/km.po +++ b/editor/translations/km.po @@ -1,6 +1,6 @@ # LANGUAGE translation of the Godot Engine editor. -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # Withuse <withuse@gmail.com>, 2021. @@ -2044,14 +2044,30 @@ msgstr "" msgid "Theme Properties" msgstr "" -#: editor/editor_help.cpp -msgid "Enumerations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "" @@ -8245,18 +8261,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -12785,7 +12789,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12794,6 +12803,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" diff --git a/editor/translations/ko.po b/editor/translations/ko.po index 096d8a3ee8..75e8865178 100644 --- a/editor/translations/ko.po +++ b/editor/translations/ko.po @@ -1,6 +1,6 @@ # Korean translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Ch <ccwpc@hanmail.net>, 2017. # paijai 송 (fivejobi) <xotjq237@gmail.com>, 2018. @@ -28,13 +28,14 @@ # Jaemin Park <ppparkje@naver.com>, 2021. # 신동규 <rlsl0422@gmail.com>, 2021. # Kiroo <elusive1102@naver.com>, 2021. +# JumpJetAvocado <dwkng@jbnu.ac.kr>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-11-19 08:43+0000\n" -"Last-Translator: Myeongjin Lee <aranet100@gmail.com>\n" +"PO-Revision-Date: 2021-11-22 20:39+0000\n" +"Last-Translator: JumpJetAvocado <dwkng@jbnu.ac.kr>\n" "Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/" "godot/ko/>\n" "Language: ko\n" @@ -42,7 +43,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.9.1-dev\n" +"X-Generator: Weblate 4.10-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -2124,14 +2125,31 @@ msgstr "메서드" msgid "Theme Properties" msgstr "테마 속성들" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "열거형" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "색상" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "상수" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "글꼴" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "아이콘" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Styles" +msgstr "스타일" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "열거형" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "속성 설명" @@ -8533,18 +8551,6 @@ msgid "TextureRegion" msgstr "텍스처 영역" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "색상" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "글꼴" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "아이콘" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "스타일박스" @@ -13275,8 +13281,16 @@ msgid "\"Use Custom Build\" must be enabled to use the plugins." msgstr "플러그인을 사용하려면 \"Use Custom Build\"가 활성화되어야 합니다." #: platform/android/export/export_plugin.cpp +#, fuzzy msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" +"\"손 추적\" 은 \"Xr 모드\" 가 \"Oculus Mobile VR\"일 때만 사용 가능합니다." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" "\"손 추적\" 은 \"Xr 모드\" 가 \"Oculus Mobile VR\"일 때만 사용 가능합니다." @@ -13285,6 +13299,23 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "\"Export AAB\"는 \"Use Custom Build\"가 활성화된 경우에만 유효합니다." #: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "\"Export AAB\"는 \"Use Custom Build\"가 활성화된 경우에만 유효합니다." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "\"Export AAB\"는 \"Use Custom Build\"가 활성화된 경우에만 유효합니다." + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " @@ -13321,7 +13352,7 @@ msgstr "%s의 'apksigner' 검증에 실패했습니다." #: platform/android/export/export_plugin.cpp msgid "Exporting for Android" -msgstr "Android용으로 내보내는 중" +msgstr "Android로 내보내기" #: platform/android/export/export_plugin.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." @@ -14436,2229 +14467,3 @@ msgstr "Uniform에 대입." #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "상수는 수정할 수 없습니다." - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "(본의) 대기 자세 만들기" - -#~ msgid "Bottom" -#~ msgstr "아랫면" - -#~ msgid "Left" -#~ msgstr "왼쪽면" - -#~ msgid "Right" -#~ msgstr "오른쪽면" - -#~ msgid "Front" -#~ msgstr "정면" - -#~ msgid "Rear" -#~ msgstr "뒷면" - -#~ msgid "Nameless gizmo" -#~ msgstr "이름 없는 기즈모" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "\"자유도(DoF)\"는 \"Xr 모드\" 가 \"Oculus Mobile VR\" 일 때만 사용 가능합" -#~ "니다." - -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "\"포커스 인식\"은 \"Xr 모드\"가 \"Oculus Mobile VR\" 인 경우에만 사용 가능" -#~ "합니다." - -#~ msgid "Package Contents:" -#~ msgstr "패키지 내용:" - -#~ msgid "Singleton" -#~ msgstr "싱글톤" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "프로필 '%s'을(를) 지울까요? (되돌릴 수 없습니다)" - -#~ msgid "Enabled Properties:" -#~ msgstr "켜진 속성:" - -#~ msgid "Enabled Features:" -#~ msgstr "켜진 기능:" - -#~ msgid "Unset" -#~ msgstr "설정하지 않기" - -#~ msgid "Class Options" -#~ msgstr "클래스 옵션" - -#~ msgid "Set" -#~ msgstr "설정" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "수정된 리소스 %s을(를) 저장하였습니다." - -#~ msgid "Q&A" -#~ msgstr "Q&A" - -#~ msgid "Status:" -#~ msgstr "상태:" - -#~ msgid "Edit:" -#~ msgstr "편집:" - -#~ msgid "Redownload" -#~ msgstr "다시 다운로드" - -#~ msgid "(Installed)" -#~ msgstr "(설치됨)" - -#~ msgid "(Missing)" -#~ msgstr "(누락)" - -#~ msgid "Request Failed." -#~ msgstr "요청 실패." - -#~ msgid "Redirect Loop." -#~ msgstr "리다이렉트 루프." - -#~ msgid "Download Complete." -#~ msgstr "다운로드 완료." - -#~ msgid "Remove Template" -#~ msgstr "템플릿 삭제" - -#~ msgid "Download Templates" -#~ msgstr "템플릿 다운로드" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "목록에서 미러를 선택하세요: (Shift+클릭: 브라우저에서 열기)" - -#~ msgid "Move to Trash" -#~ msgstr "휴지통으로 이동" - -#~ msgid "Expand All Properties" -#~ msgstr "모든 속성 펼치기" - -#~ msgid "Collapse All Properties" -#~ msgstr "모든 속성 접기" - -#~ msgid "Copy Params" -#~ msgstr "매개변수 복사" - -#~ msgid "Open in Help" -#~ msgstr "도움말에서 열기" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "게임 카메라 다시 정의\n" -#~ "실행하고 있는 게임 인스턴스가 없습니다." - -#~ msgid "Drag: Rotate" -#~ msgstr "드래그: 회전" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "'v'키로 피벗 바꾸기. 'Shift+v'키로 피벗 드래그 (이동하는 동안)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+우클릭: 겹친 목록 선택" - -#~ msgid "Clone Down" -#~ msgstr "아래로 복제" - -#~ msgid "Yaw" -#~ msgstr "요" - -#~ msgid "Size" -#~ msgstr "크기" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "드래그: 회전\n" -#~ "Alt+드래그: 이동\n" -#~ "Alt+우클릭: 겹친 목록 선택" - -#~ msgid "Sep.:" -#~ msgstr "분리.:" - -#~ msgid "Add All" -#~ msgstr "모두 추가" - -#~ msgid "Theme editing menu." -#~ msgstr "테마 편집 메뉴." - -#~ msgid "Create Empty Template" -#~ msgstr "빈 템플릿 만들기" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "빈 편집기 템플릿 만들기" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "현재 편집기 테마에서 만들기" - -#~ msgid "Data Type:" -#~ msgstr "데이터 유형:" - -#~ msgid "Theme File" -#~ msgstr "테마 파일" - -#~ msgid "Compiled" -#~ msgstr "컴파일됨" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "%d개의 프로젝트를 삭제할까요?\n" -#~ "프로젝트 폴더의 내용은 수정되지 않습니다." - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "이 프로젝트를 목록에서 삭제할까요?\n" -#~ "프로젝트 폴더의 내용은 수정되지 않습니다." - -#~ msgid "Templates" -#~ msgstr "템플릿" - -#~ msgid "Add Remapped Path" -#~ msgstr "리맵핑 경로 추가" - -#~ msgid "Can not perform with the root node." -#~ msgstr "루트 노드로는 수행할 수 없습니다." - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "부트 스플래시 이미지 파일을 읽을 수 없음:" - -#~ msgid "Using default boot splash image." -#~ msgstr "기본 부트 스플래시 이미지 사용." - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "애니메이션 플레이어는 자신이 아닌 다른 플레이어에만 애니메이션을 부여할 " -#~ "수 있습니다." - -#~ msgid "Clipboard is empty" -#~ msgstr "클립보드가 비었음" - -#~ msgid "" -#~ "Godot editor was built without ray tracing support; lightmaps can't be " -#~ "baked.\n" -#~ "If you are using an Apple Silicon-based Mac, try forcing Rosetta " -#~ "emulation on Godot.app in the application settings\n" -#~ "then restart the editor." -#~ msgstr "" -#~ "Godot 편집기는 레이 트레이싱 지원 없이 빌드되었으며 라이트맵은 구울 수 없" -#~ "습니다.\n" -#~ "Apple Silicon 기반의 Mac을 사용 중인 경우, 애플리케이션 설정에서 Godot.app" -#~ "의 Rosetta 에뮬레이션 강제로\n" -#~ "시도하고 나서 편집기를 다시 시작하세요." - -#~ msgid "" -#~ "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -#~ msgstr "" -#~ "InterpolatedCamera는 더 이상 사용되지 않으며 Godot 4.0에서 제거됩니다." - -#~ msgid "No" -#~ msgstr "아니오" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "이 씬은 아직 저장하지 않았습니다. 실행하기 전에 저장할까요?" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "ADB 실행 파일을 편집기 설정에서 설정하지 않았습니다." - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "OpenJDK jarsigner를 편집기 설정에서 설정하지 않았습니다." - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "" -#~ "맞춤 빌드에는 편집기 설정에서 올바른 안드로이드 SDK 경로가 필요합니다." - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(남은 시간: %d:%02d 초)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "구분하는 메시: " - -#~ msgid "Lighting Meshes: " -#~ msgstr "조명 메시: " - -#~ msgid "Search complete" -#~ msgstr "검색 완료" - -#~ msgid "No commit message was provided" -#~ msgstr "커밋 메시지를 제공하지 않았습니다" - -#~ msgid "Add a commit message" -#~ msgstr "커밋 메시지 추가" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "이 위치에는 같은 이름의 파일이나 폴더가 있습니다." - -#~ msgid "Error trying to save layout!" -#~ msgstr "레이아웃 저장 중 오류!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "기본 편집기 레이아웃을 덮어씁니다." - -#~ msgid "Move pivot" -#~ msgstr "피벗 이동" - -#~ msgid "Move anchor" -#~ msgstr "앵커 이동" - -#~ msgid "Resize CanvasItem" -#~ msgstr "CanvasItem 크기 조절" - -#~ msgid "Polygon->UV" -#~ msgstr "폴리곤->UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV->폴리곤" - -#~ msgid "Add initial export..." -#~ msgstr "초기 내보내기 추가..." - -#~ msgid "Add previous patches..." -#~ msgstr "이전 패치 추가..." - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "'%s'을(를) 패치 목록에서 삭제할까요?" - -#~ msgid "Patches" -#~ msgstr "패치" - -#~ msgid "Make Patch" -#~ msgstr "패치 만들기" - -#~ msgid "Pack File" -#~ msgstr "팩 파일" - -#~ msgid "No build apk generated at: " -#~ msgstr "여기에 빌드 apk를 만들지 않음: " - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "파일 시스템과 가져오기 독" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "내보내거나 배포할 때, 결과 실행 파일은 디버깅을 위해 이 컴퓨터의 IP와 연결" -#~ "을 시도할 것입니다." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "현재 씬이 아직 저장되지 않았습니다. 실행하기 전에 저장해주세요." - -#~ msgid "Revert" -#~ msgstr "되돌리기" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "이 행동은 취소할 수 없습니다. 무시하고 되돌릴까요?" - -#~ msgid "Revert Scene" -#~ msgstr "씬 되돌리기" - -#~ msgid "Clear Script" -#~ msgstr "스크립트 삭제" - -#~ msgid "Issue Tracker" -#~ msgstr "이슈 트래커" - -#~ msgid "Request Docs" -#~ msgstr "문서 요청" - -#~ msgid "Help improve the Godot documentation by giving feedback." -#~ msgstr "피드백으로 Godot 문서를 개선하는데 도와주세요." - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "%d개를 바꿨습니다." - -#~ msgid "Create Static Convex Body" -#~ msgstr "Static Convex Body 만들기" - -#~ msgid "Failed creating shapes!" -#~ msgstr "Shape 만들기 실패!" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "현재 이 클래스에 대한 튜토리얼이 없어요. [color=$color][url=$url]튜토리얼" -#~ "에 기여하거나[/url][/color] [color=$color][url=$url2]튜토리얼을 요청할 수" -#~ "[/url][/color] 있어요." - -#~ msgid "enum " -#~ msgstr "이넘 " - -#~ msgid "Brief Description" -#~ msgstr "간단한 설명" - -#~ msgid "Class Description" -#~ msgstr "클래스 설명" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "프로젝트 내보내기에 실패했어요. 오류 코드%d." - -#~ msgid "Password:" -#~ msgstr "암호:" - -#~ msgid "Identifier segments must be of non-zero length." -#~ msgstr "식별자 세그먼트는 길이가 0이 아니어야 해요." - -#~ msgid "A digit cannot be the first character in a Identifier segment." -#~ msgstr "숫자는 식별자 세그먼트의 첫 문자로 쓸 수 없어요." - -#~ msgid "" -#~ "The character '%s' cannot be the first character in a Identifier segment." -#~ msgstr "문자 '%s'은(는) 식별자 분리의 첫 문자로 쓸 수 없어요." - -#~ msgid "The Identifier must have at least one '.' separator." -#~ msgstr "식별자는 적어도 하나의 '.' 분리 기호를 갖고 있어야 해요." - -#~ msgid "Pause the scene" -#~ msgstr "씬 일시 정지" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Control+" -#~ msgstr "Control+" - -#~ msgid "Snap to Grid" -#~ msgstr "격자에 스냅" - -#~ msgid "Add input +" -#~ msgstr "입력 추가하기 +" - -#~ msgid "Language" -#~ msgstr "언어" - -#~ msgid "Inherits" -#~ msgstr "상속" - -#~ msgid "Base Type:" -#~ msgstr "기본 유형:" - -#~ msgid "Available Nodes:" -#~ msgstr "사용 가능한 노드:" - -#~ msgid "Input" -#~ msgstr "입력" - -#~ msgid "Methods:" -#~ msgstr "메서드:" - -#~ msgid "Theme Properties:" -#~ msgstr "테마 속성:" - -#~ msgid "Enumerations:" -#~ msgstr "열거:" - -#~ msgid "Constants:" -#~ msgstr "상수:" - -#~ msgid "Class Description:" -#~ msgstr "클래스 설명:" - -#~ msgid "Property Descriptions:" -#~ msgstr "속성 설명:" - -#~ msgid "Method Descriptions:" -#~ msgstr "메서드 설명:" - -#~ msgid "" -#~ "This will install the Android project for custom builds.\n" -#~ "Note that, in order to use it, it needs to be enabled per export preset." -#~ msgstr "" -#~ "맞춤 빌드 용 안드로이드 프로젝트를 설치할게요.\n" -#~ "이것을 사용하려면 내보내기 프리셋마다 이 설정을 켜줘야 해요." - -#~ msgid "Reverse sorting." -#~ msgstr "역순 정렬." - -#~ msgid "Delete Node(s)?" -#~ msgstr "노드를 삭제할까요?" - -#~ msgid "No Matches" -#~ msgstr "일치 결과 없음" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "file_type_cache.cch를 열수 없어서, 파일 타입 캐쉬를 저장하지 않습니다!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "파일 시스템에서 '%s'을(를) 찾을 수 없습니다!" - -#~ msgid "Error loading image:" -#~ msgstr "이미지 불러오기 오류:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "이미지에 투명도가 128보다 큰 픽셀이 없습니다..." - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "부모노드가 솔리드 페이스를 가지고 있지 않아 생성할 수 없습니다." - -#~ msgid "Couldn't map area." -#~ msgstr "영역을 매핑 할 수 없습니다." - -#~ msgid "Faces contain no area!" -#~ msgstr "페이스가 영역을 가지고 있지 않습니다!" - -#~ msgid "No faces!" -#~ msgstr "페이스가 없습니다!" - -#~ msgid "Error: could not load file." -#~ msgstr "오류: 파일을 불러올 수 없음." - -#~ msgid "Error could not load file." -#~ msgstr "오류로 파일을 불러올 수 없음." - -#~ msgid "Doppler Enable" -#~ msgstr "도플러 활성화" - -#~ msgid "Select Mode (Q)" -#~ msgstr "선택 모드 (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "이동 모드 (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "회전 모드 (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "크기 조절 모드 (R)" - -#~ msgid "Local Coords" -#~ msgstr "지역 좌표" - -#~ msgid "Snap Mode (%s)" -#~ msgstr "스냅 모드 (%s)" - -#~ msgid "Tool Select" -#~ msgstr "선택 툴" - -#~ msgid "Tool Move" -#~ msgstr "이동 툴" - -#~ msgid "Tool Rotate" -#~ msgstr "회전 툴" - -#~ msgid "Tool Scale" -#~ msgstr "크기 조절 툴" - -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "" -#~ "목록에서 모든 이름없는 프로젝트를 삭제하시겠습니까? (폴더의 내용물은 수정" -#~ "되지 않습니다)" - -#~ msgid "Project List" -#~ msgstr "프로젝트 목록" - -#~ msgid "Exit" -#~ msgstr "종료" - -#~ msgid "Could not execute PVRTC tool:" -#~ msgstr "PVRTC 도구를 실행할 수 없습니다:" - -#~ msgid "Can't load back converted image using PVRTC tool:" -#~ msgstr "PVRTC 도구를 사용하여 변환된 이미지를 다시 불러올 수 없습니다:" - -#~ msgid "Error initializing FreeType." -#~ msgstr "FreeType 초기화 오류." - -#~ msgid "Unknown font format." -#~ msgstr "알 수 없는 폰트 형식." - -#~ msgid "Error loading font." -#~ msgstr "폰트 로딩 오류." - -#~ msgid "Invalid font size." -#~ msgstr "올바르지 않은 폰트 크기." - -#~ msgid "Previous Folder" -#~ msgstr "이전 폴더" - -#~ msgid "Next Folder" -#~ msgstr "다음 폴더" - -#~ msgid "Automatically Open Screenshots" -#~ msgstr "스크린샷 자동 열기" - -#~ msgid "Open in an external image editor." -#~ msgstr "외부 이미지 편집기에서 열기." - -#~ msgid "Reverse" -#~ msgstr "뒤집기" - -#~ msgid "Mirror X" -#~ msgstr "X축 뒤집기" - -#~ msgid "Mirror Y" -#~ msgstr "Y축 뒤집기" - -#~ msgid "Generating solution..." -#~ msgstr "솔루션 생성 중..." - -#~ msgid "Generating C# project..." -#~ msgstr "C# 프로젝트 생성 중..." - -#~ msgid "Failed to create solution." -#~ msgstr "솔루션 생성 실패." - -#~ msgid "Failed to save solution." -#~ msgstr "솔루션 저장 실패." - -#~ msgid "Failed to create C# project." -#~ msgstr "C# 프로젝트 생성 실패." - -#~ msgid "Mono" -#~ msgstr "모노" - -#~ msgid "About C# support" -#~ msgstr "C# 지원에 대하여" - -#~ msgid "Create C# solution" -#~ msgstr "C# 솔루션 만들기" - -#~ msgid "Builds" -#~ msgstr "빌드" - -#~ msgid "Build Project" -#~ msgstr "프로젝트 빌드" - -#~ msgid "View log" -#~ msgstr "로그 보기" - -#~ msgid "WorldEnvironment needs an Environment resource." -#~ msgstr "WorldEnvironment는 Environment 리소스가 필요합니다." - -#~ msgid "Enabled Classes" -#~ msgstr "활성화된 클래스" - -#~ msgid "Update Always" -#~ msgstr "항상 업데이트" - -#~ msgid "'camera' input parameter for all shader modes." -#~ msgstr "모든 셰이더 모드에 대한 'camera' 입력 매개변수." - -#~ msgid "'inv_camera' input parameter for all shader modes." -#~ msgstr "모든 셰이더 모드에 대한 'inv_camera' 입력 매개변수." - -#~ msgid "'inv_projection' input parameter for all shader modes." -#~ msgstr "모든 셰이더 모드에 대한 'inv_projection' 입력 매개변수." - -#~ msgid "'normal' input parameter for all shader modes." -#~ msgstr "모든 셰이더 모드에 대한 'normal' 입력 매개변수." - -#~ msgid "'projection' input parameter for all shader modes." -#~ msgstr "모든 셰이더 모드에 대한 'projection' 입력 매개변수." - -#~ msgid "'time' input parameter for all shader modes." -#~ msgstr "모든 셰이더 모드에 대한 'time' 입력 매개변수." - -#~ msgid "'viewport_size' input parameter for all shader modes." -#~ msgstr "모든 셰이더 모드에 대한 'viewport_size' 입력 매개변수." - -#~ msgid "'world' input parameter for all shader modes." -#~ msgstr "모든 셰이더 모드에 대한 'world' 입력 매개변수." - -#~ msgid "'alpha' input parameter for all shader modes." -#~ msgstr "모든 셰이더 모드에 대한 'alpha' 입력 매개변수." - -#~ msgid "'color' input parameter for all shader modes." -#~ msgstr "모든 셰이더 모드에 대한 'color' 입력 매개변수." - -#~ msgid "'texture_pixel_size' input parameter for all shader modes." -#~ msgstr "모든 셰이더 모드에 대한 'texture_pixel_size' 입력 매개변수." - -#~ msgid "'alpha' input parameter for vertex and fragment shader modes." -#~ msgstr "꼭짓점과 프래그먼트 셰이더 모드에 대한 'alpha' 입력 매개변수." - -#~ msgid "'binormal' input parameter for vertex and fragment shader modes." -#~ msgstr "꼭짓점과 프래그먼트 셰이더 모드에 대한 'binormal' 입력 매개변수." - -#~ msgid "'color' input parameter for vertex and fragment shader modes." -#~ msgstr "꼭짓점과 프래그먼트 셰이더 모드에 대한 'color' 입력 매개변수." - -#~ msgid "'fragcoord' input parameter for fragment and light shader modes." -#~ msgstr "프래그먼트와 조명 셰이더 모드에 대한 'fragcoord' 입력 매개변수." - -#~ msgid "'point_coord' input parameter for fragment shader mode." -#~ msgstr "프래그먼트 셰이더 모드에 대한 'point_coord' 입력 매개변수." - -#~ msgid "'screen_uv' input parameter for fragment shader mode." -#~ msgstr "프래그먼트 셰이더 모드에 대한 'screen_uv' 입력 매개변수." - -#~ msgid "'tangent' input parameter for vertex and fragment shader modes." -#~ msgstr "꼭짓점과 프래그먼트 셰이더 모드에 대한 'tangent' 입력 매개변수." - -#~ msgid "'uv2' input parameter for vertex and fragment shader modes." -#~ msgstr "꼭짓점과 프래그먼트 셰이더 모드에 대한 'uv2' 입력 매개변수." - -#~ msgid "'vertex' input parameter for vertex and fragment shader modes." -#~ msgstr "꼭짓점과 프래그먼트 셰이더 모드에 대한 'vertex' 입력 매개변수." - -#~ msgid "'albedo' input parameter for light shader mode." -#~ msgstr "조명 셰이더 모드에 대한 'albedo' 입력 매개변수." - -#~ msgid "'attenuation' input parameter for light shader mode." -#~ msgstr "조명 셰이더 모드에 대한 'attenuation' 입력 매개변수." - -#~ msgid "'light' input parameter for light shader mode." -#~ msgstr "조명 셰이더 모드에 대한 'light' 입력 매개변수." - -#~ msgid "'light_color' input parameter for light shader mode." -#~ msgstr "조명 셰이더 모드에 대한 'light_color' 입력 매개변수." - -#~ msgid "'roughness' input parameter for light shader mode." -#~ msgstr "조명 셰이더 모드에 대한 'roughness' 입력 매개변수." - -#~ msgid "'specular' input parameter for light shader mode." -#~ msgstr "조명 셰이더 모드에 대한 'specular' 입력 매개변수." - -#~ msgid "'transmission' input parameter for light shader mode." -#~ msgstr "조명 셰이더 모드에 대한 'transmission' 입력 매개변수." - -#~ msgid "'modelview' input parameter for vertex shader mode." -#~ msgstr "꼭짓점 셰이더 모드에 대한 'modelview' 입력 매개변수." - -#~ msgid "'point_size' input parameter for vertex shader mode." -#~ msgstr "꼭짓점 셰이더 모드에 대한 'point_size' 입력 매개변수." - -#~ msgid "'tangent' input parameter for vertex and fragment shader mode." -#~ msgstr "꼭짓점과 프래그먼트 셰이더 모드에 대한 'tangent' 입력 매개변수." - -#~ msgid "'light_pass' input parameter for vertex and fragment shader modes." -#~ msgstr "꼭짓점과 프래그먼트 셰이더 모드에 대한 'light_pass' 입력 매개변수." - -#~ msgid "'point_coord' input parameter for fragment and light shader modes." -#~ msgstr "프래그먼트와 조명 셰이더 모드에 대한 'point_coord' 입력 매개변수." - -#~ msgid "'screen_pixel_size' input parameter for fragment shader mode." -#~ msgstr "프래그먼트 셰이더 모드에 대한 'screen_pixel_size' 입력 매개변수." - -#~ msgid "'screen_uv' input parameter for fragment and light shader modes." -#~ msgstr "프래그먼트와 조명 셰이더 모드에 대한 'screen_uv' 입력 매개변수." - -#~ msgid "'light_alpha' input parameter for light shader mode." -#~ msgstr "조명 셰이더 모드에 대한 'light_alpha' 입력 매개변수." - -#~ msgid "'light_height' input parameter for light shader mode." -#~ msgstr "조명 셰이더 모드에 대한 'light_height' 입력 매개변수." - -#~ msgid "'light_uv' input parameter for light shader mode." -#~ msgstr "조명 셰이더 모드에 대한 'light_uv' 입력 매개변수." - -#~ msgid "'light_vec' input parameter for light shader mode." -#~ msgstr "조명 셰이더 모드에 대한 'light_vec' 입력 매개변수." - -#~ msgid "'normal' input parameter for light shader mode." -#~ msgstr "조명 셰이더 모드에 대한 'normal' 입력 매개변수." - -#~ msgid "'shadow_color' input parameter for light shader mode." -#~ msgstr "조명 셰이더 모드에 대한 'shadow_color' 입력 매개변수." - -#~ msgid "'extra' input parameter for vertex shader mode." -#~ msgstr "꼭짓점 셰이더 모드에 대한 'extra' 입력 매개변수." - -#~ msgid "'projection' input parameter for vertex shader mode." -#~ msgstr "꼭짓점 셰이더 모드에 대한 'projection' 입력 매개변수." - -#~ msgid "'vertex' input parameter for vertex shader mode." -#~ msgstr "꼭짓점 셰이더 모드에 대한 'vertex' 입력 매개변수." - -#~ msgid "'world' input parameter for vertex shader mode." -#~ msgstr "꼭짓점 셰이더 모드에 대한 'world' 입력 매개변수." - -#~ msgid "'active' input parameter for vertex shader mode." -#~ msgstr "꼭짓점 셰이더 모드에 대한 'active' 입력 매개변수." - -#~ msgid "'alpha' input parameter for vertex shader mode." -#~ msgstr "꼭짓점 셰이더 모드에 대한 'alpha' 입력 매개변수." - -#~ msgid "'color' input parameter for vertex shader mode." -#~ msgstr "꼭짓점 셰이더 모드에 대한 'color' 입력 매개변수." - -#~ msgid "'custom_alpha' input parameter for vertex shader mode." -#~ msgstr "꼭짓점 셰이더 모드에 대한 'custom_alpha' 입력 매개변수." - -#~ msgid "'delta' input parameter for vertex shader mode." -#~ msgstr "꼭짓점 셰이더 모드에 대한 'delta' 입력 매개변수." - -#~ msgid "'emission_transform' input parameter for vertex shader mode." -#~ msgstr "꼭짓점 셰이더 모드에 대한 'emission_transform' 입력 매개변수." - -#~ msgid "'index' input parameter for vertex shader mode." -#~ msgstr "꼭짓점 셰이더 모드에 대한 'index' 입력 매개변수." - -#~ msgid "'lifetime' input parameter for vertex shader mode." -#~ msgstr "꼭짓점 셰이더 모드에 대한 'lifetime' 입력 매개변수." - -#~ msgid "'restart' input parameter for vertex shader mode." -#~ msgstr "꼭짓점 셰이더 모드에 대한 'restart' 입력 매개변수." - -#~ msgid "'time' input parameter for vertex shader mode." -#~ msgstr "꼭짓점 셰이더 모드에 대한 'time' 입력 매개변수." - -#~ msgid "'transform' input parameter for vertex shader mode." -#~ msgstr "꼭짓점 셰이더 모드에 대한 'transform' 입력 매개변수." - -#~ msgid "'velocity' input parameter for vertex shader mode." -#~ msgstr "꼭짓점 셰이더 모드에 대한 'velocity' 입력 매개변수." - -#~ msgid "Raw Mode" -#~ msgstr "Raw 모드" - -#~ msgid "Path to Node:" -#~ msgstr "노드 경로:" - -#~ msgid "Delete selected files?" -#~ msgstr "선택된 파일들을 삭제하시겠습니까?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "'res://default_bus_layout.tres' 파일이 없습니다." - -#~ msgid "Go to parent folder" -#~ msgstr "부모 폴더로 이동" - -#~ msgid "Open Scene(s)" -#~ msgstr "씬(들) 열기" - -#~ msgid "Previous Directory" -#~ msgstr "이전 디렉토리" - -#~ msgid "Next Directory" -#~ msgstr "다음 디렉토리" - -#~ msgid "Ease in" -#~ msgstr "완화 in" - -#~ msgid "Ease out" -#~ msgstr "완화 out" - -#~ msgid "Create Convex Static Body" -#~ msgstr "Convex Static Body 만들기" - -#~ msgid "CheckBox Radio1" -#~ msgstr "체크박스 라디오1" - -#~ msgid "CheckBox Radio2" -#~ msgstr "체크박스 라디오2" - -#~ msgid "Create folder" -#~ msgstr "폴더 만들기" - -#~ msgid "Custom Node" -#~ msgstr "커스텀 노드" - -#~ msgid "Invalid Path" -#~ msgstr "유효하지 않은 경로" - -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "그리드맵 선택 복제" - -#~ msgid "Create Area" -#~ msgstr "영역 만들기" - -#~ msgid "Create Exterior Connector" -#~ msgstr "외부 커넥터 만들기" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "시그널 인수 편집:" - -#~ msgid "Edit Variable:" -#~ msgstr "변수 편집:" - -#~ msgid "Snap (s): " -#~ msgstr "스냅: " - -#~ msgid "Insert keys." -#~ msgstr "키 삽입." - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "선택된 씬을 선택된 노드의 자식으로 인스턴스 합니다." - -#~ msgid "Font Size:" -#~ msgstr "폰트 크기:" - -#~ msgid "Line:" -#~ msgstr "라인:" - -#~ msgid "Col:" -#~ msgstr "칼럼:" - -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "OrientedPathFollow는 Path 노드의 자식으로 있을 때만 동작합니다." - -#~ msgid "Split point with itself." -#~ msgstr "자체적으로 포인트 분할." - -#~ msgid "Split can't form an existing edge." -#~ msgstr "분할은 존재하는 모서리를 형성할 수 없습니다." - -#~ msgid "Add Split" -#~ msgstr "분할 추가" - -#~ msgid "Invalid Split: " -#~ msgstr "유효하지 않은 분할: " - -#~ msgid "Remove Split" -#~ msgstr "분할 삭제" - -#~ msgid "Poly" -#~ msgstr "폴리" - -#~ msgid "Splits" -#~ msgstr "분할" - -#~ msgid "Connect two points to make a split." -#~ msgstr "두 포인트를 연결하여 나누기." - -#~ msgid "Add Node.." -#~ msgstr "노드 추가.." - -#~ msgid "Create from scene?" -#~ msgstr "씬으로부터 만드시겠습니까?" - -#~ msgid "Create Poly" -#~ msgstr "폴리곤 만들기" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "처음부터 새로운 폴리곤 만들기" - -#~ msgid "Zoom out" -#~ msgstr "축소" - -#~ msgid "Zoom in" -#~ msgstr "확대" - -#~ msgid "Create Poly3D" -#~ msgstr "폴리곤3D 만들기" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "이 노드에 OccluderPolygon2D 리소스가 없습니다.\n" -#~ "새로 만들어서 지정하시겠습니까?" - -#~ msgid "LMB: Move Point." -#~ msgstr "좌클릭: 포인트 이동." - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl+좌클릭: 선분 분할." - -#~ msgid "RMB: Erase Point." -#~ msgstr "우클릭: 포인트 삭제." - -#~ msgid "New TextFile" -#~ msgstr "새 텍스트 파일" - -#~ msgid "Save Theme As" -#~ msgstr "테마 다른 이름으로 저장" - -#~ msgid "<None>" -#~ msgstr "<없음>" - -#~ msgid "" -#~ "Select sub-tile to use as icon, this will be also used on invalid " -#~ "autotile bindings." -#~ msgstr "" -#~ "사용할 서브 타일을 아이콘으로 설정하세요, 효력없는 자동타일 바인딩에도 사" -#~ "용됩니다." - -#~ msgid "Zoom:" -#~ msgstr "확대:" - -#~ msgid "Are you sure you want to remove all connections from the \"" -#~ msgstr "\" 에서 모든 연결을 제거하시겠습니까" - -#~ msgid "Class List:" -#~ msgstr "클래스 목록:" - -#~ msgid "Public Methods" -#~ msgstr "공개 메서드" - -#~ msgid "Public Methods:" -#~ msgstr "공개 메서드:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "GUI 테마 항목:" - -#~ msgid "Property: " -#~ msgstr "속성: " - -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "폴더를 즐겨찾기로 설정." - -#~ msgid "Show current scene file." -#~ msgstr "현재 씬 파일을 보여줌." - -#~ msgid "Enter tree-view." -#~ msgstr "트리 보기로 가기." - -#~ msgid "Whole words" -#~ msgstr "전체 단어" - -#~ msgid "Match case" -#~ msgstr "대소문자 구분" - -#~ msgid "Ok" -#~ msgstr "확인" - -#~ msgid "Show In File System" -#~ msgstr "파일 시스템에서 보기" - -#~ msgid "Search the class hierarchy." -#~ msgstr "클래스 계층 검색." - -#~ msgid "Search in files" -#~ msgstr "파일에서 검색" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "내장 스크립트는 종속된 씬이 열린 상태에서만 편집이 가능합니다" - -#~ msgid "Convert To Uppercase" -#~ msgstr "대문자로 변환" - -#~ msgid "Convert To Lowercase" -#~ msgstr "소문자로 변환" - -#~ msgid "Rotate 0 degrees" -#~ msgstr "0도 회전" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "90도 회전" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "180도 회전" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "270도 회전" - -#~ msgid "Errors:" -#~ msgstr "에러:" - -#~ msgid "Stack Trace (if applicable):" -#~ msgstr "스택 추적 (해당되는 경우):" - -#~ msgid "Bake!" -#~ msgstr "굽기!" - -#~ msgid "Bake the navigation mesh." -#~ msgstr "네비게이션 메시 만들기." - -#~ msgid "Get" -#~ msgstr "Get" - -#~ msgid "Change RGB Constant" -#~ msgstr "RGB 상수 변경" - -#~ msgid "Change Vec Scalar Operator" -#~ msgstr "Vec Scalar 연산자 변경" - -#~ msgid "Change RGB Operator" -#~ msgstr "RGB 연산자 변경" - -#~ msgid "Toggle Rot Only" -#~ msgstr "오직 회전 토글" - -#~ msgid "Change Vec Function" -#~ msgstr "Vec 함수 변경" - -#~ msgid "Change Vec Uniform" -#~ msgstr "Vec uniform 변경" - -#~ msgid "Change RGB Uniform" -#~ msgstr "RGB uniform 변경" - -#~ msgid "Change Default Value" -#~ msgstr "기본값 변경" - -#~ msgid "Change XForm Uniform" -#~ msgstr "XForm uniform 변경" - -#~ msgid "Change Cubemap Uniform" -#~ msgstr "큐브맵 uniform 변경" - -#~ msgid "Change Comment" -#~ msgstr "주석 변경" - -#~ msgid "Add/Remove to Color Ramp" -#~ msgstr "색상 램프 추가/삭제" - -#~ msgid "Modify Color Ramp" -#~ msgstr "칼라 램프 수정" - -#~ msgid "Add/Remove to Curve Map" -#~ msgstr "커브 맵 추가/삭제" - -#~ msgid "Modify Curve Map" -#~ msgstr "커브맵 수정" - -#~ msgid "Connect Graph Nodes" -#~ msgstr "그래프 노드 연결" - -#~ msgid "Remove Shader Graph Node" -#~ msgstr "셰이더 그래프 노드 삭제" - -#~ msgid "Move Shader Graph Node" -#~ msgstr "셰이더 그래프 노드 이동" - -#~ msgid "Duplicate Graph Node(s)" -#~ msgstr "그래프 노드 복제" - -#~ msgid "Error: Cyclic Connection Link" -#~ msgstr "에러: 순환 연결 링크" - -#~ msgid "Error: Missing Input Connections" -#~ msgstr "에러: 입력 연결 누락" - -#~ msgid "Add Shader Graph Node" -#~ msgstr "셰이더 그래프 노드 추가" - -#~ msgid "Move Anim Track Up" -#~ msgstr "애니메이션 트랙 위로 이동" - -#~ msgid "Move Anim Track Down" -#~ msgstr "애니메이션 트랙 아래로 이동" - -#~ msgid "Set Transitions to:" -#~ msgstr "전환 설정:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "애니메이션 트랙 보간 변경" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "애니메이션 트랙 값 모드 변경" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "애니메이션 트랙 랩 모드 변경" - -#~ msgid "Edit Node Curve" -#~ msgstr "노드 커브 편집" - -#~ msgid "Edit Selection Curve" -#~ msgstr "선택 커브 편집" - -#~ msgid "Anim Add Key" -#~ msgstr "애니메이션 키 추가" - -#~ msgid "In" -#~ msgstr "In" - -#~ msgid "Out" -#~ msgstr "밖" - -#~ msgid "In-Out" -#~ msgstr "안-밖" - -#~ msgid "Out-In" -#~ msgstr "밖-안" - -#~ msgid "Change Anim Len" -#~ msgstr "애니메이션 길이 변경" - -#~ msgid "Change Anim Loop" -#~ msgstr "애니메이션 루프 변경" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "애니메이션 타입지정 값 키 만들기" - -#~ msgid "Anim Add Call Track" -#~ msgstr "애니메이션 호출 트랙 추가" - -#~ msgid "Length (s):" -#~ msgstr "길이 (초):" - -#~ msgid "Step (s):" -#~ msgstr "단계 (초):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "커서 단계 스냅 (초)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "애니메이션 루프 활성화/비활성화." - -#~ msgid "Add new tracks." -#~ msgstr "새 트랙 추가." - -#~ msgid "Move current track up." -#~ msgstr "현재 트랙을 위로 이동." - -#~ msgid "Move current track down." -#~ msgstr "현재 트랙을 아래로 이동." - -#~ msgid "Track tools" -#~ msgstr "트랙 도구" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "개별 키를 클릭함으로써 편집 활성화." - -#~ msgid "Key" -#~ msgstr "키" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "어떤 노드에서 함수를 호출할까요?" - -#~ msgid "Thanks!" -#~ msgstr "감사합니다!" - -#~ msgid "I see..." -#~ msgstr "알겠습니다..." - -#~ msgid "Ugh" -#~ msgstr "오우" - -#~ msgid "Run Script" -#~ msgstr "스크립트 실행" - -#~ msgid "Stop Profiling" -#~ msgstr "프로파일링 중지" - -#~ msgid "Start Profiling" -#~ msgstr "프로파일링 시작" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "기본 (에디터와 동일)" - -#~ msgid "Create new animation in player." -#~ msgstr "새로운 애니메이션 만들기." - -#~ msgid "Load animation from disk." -#~ msgstr "디스크에서 애니메이션 로드." - -#~ msgid "Load an animation from disk." -#~ msgstr "디스크에서 애니메이션 로드." - -#~ msgid "Save the current animation" -#~ msgstr "현재 애니메이션 저장" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "대상 블렌드 시간 편집" - -#~ msgid "Copy Animation" -#~ msgstr "애니메이션 복사" - -#~ msgid "Fetching:" -#~ msgstr "가져오는 중:" - -#~ msgid "prev" -#~ msgstr "이전" - -#~ msgid "next" -#~ msgstr "다음" - -#~ msgid "last" -#~ msgstr "마지막" - -#~ msgid "Edit IK Chain" -#~ msgstr "IK 체인 편집" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "마우스로 중심점 드래그" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "마우스 위치에 피벗 설정" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "칼라 램프 포인트 추가/삭제" - -#~ msgid "OK :(" -#~ msgstr "넹 :(" - -#~ msgid "Skeleton Gizmo visibility" -#~ msgstr "스켈레톤 기즈모 가시성" - -#~ msgid "StyleBox Preview:" -#~ msgstr "StyleBox 미리보기:" - -#~ msgid "Texture Region Editor" -#~ msgstr "텍스쳐 영역 에디터" - -#~ msgid "Erase selection" -#~ msgstr "선택 지우기" - -#~ msgid "Item name or ID:" -#~ msgstr "아이템 이름 또는 아이디:" - -#~ msgid "Export templates for this platform are missing/corrupted: " -#~ msgstr "이 플랫폼에 대한 내보내기 템플릿이 없거나 손상됨: " - -#~ msgid "Button 8" -#~ msgstr "버튼 8" - -#~ msgid "Button 9" -#~ msgstr "버튼 9" - -#~ msgid "Discard Instancing" -#~ msgstr "인스턴스 폐기" - -#~ msgid "Makes Sense!" -#~ msgstr "오케바리!" - -#~ msgid "Clear!" -#~ msgstr "지웠습니다!" - -#~ msgid "Toggle Spatial Visible" -#~ msgstr "Spatial 보이기 토글" - -#~ msgid "Condition" -#~ msgstr "조건" - -#~ msgid "Sequence" -#~ msgstr "시퀀스" - -#~ msgid "Switch" -#~ msgstr "스위치" - -#~ msgid "Iterator" -#~ msgstr "반복자" - -#~ msgid "While" -#~ msgstr "동안에" - -#~ msgid "Return" -#~ msgstr "리턴" - -#~ msgid "Call" -#~ msgstr "호출" - -#~ msgid "Edit Variable" -#~ msgstr "변수 편집" - -#~ msgid "Edit Signal" -#~ msgstr "시그널 편집" - -#~ msgid "Invalid action (anything goes but '/' or ':')." -#~ msgstr "유효하지 않은 액션 ('/' 또는 ':' 문자 사용 불가)." - -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "'/' 또는 ':' 문자를 포함할 수 없음" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "템플릿에 version.txt 형식이 유효하지 않습니다. 리비전은 유효한 식별자가 아" -#~ "닙니다." - -#~ msgid "Can't write file." -#~ msgstr "파일에 쓸 수 없습니다." - -#~ msgid "Couldn't get project.godot in project path." -#~ msgstr "프로젝트 경로에 project.godot 파일을 찾을 수 없습니다." - -#~ msgid "Replace By" -#~ msgstr "으로 바꿈" - -#~ msgid "Backwards" -#~ msgstr "뒤로" - -#~ msgid "Prompt On Replace" -#~ msgstr "변경 시 알림" - -#~ msgid "Skip" -#~ msgstr "건너뛰기" - -#~ msgid "" -#~ "Your project will be created in a non empty folder (you might want to " -#~ "create a new folder)." -#~ msgstr "" -#~ "비어있지 않은 폴더에 프로젝트가 생성됩니다 (새 폴더를 만드는 것을 권합니" -#~ "다)." - -#~ msgid "That's a BINGO!" -#~ msgstr "빙고!" - -#~ msgid "preview" -#~ msgstr "미리보기" - -#~ msgid "Move Add Key" -#~ msgstr "키 이동" - -#~ msgid "Create Subscription" -#~ msgstr "연결 해제" - -#~ msgid "List:" -#~ msgstr "목록:" - -#~ msgid "Set Emission Mask" -#~ msgstr "에미션 마스크 설정" - -#~ msgid "Clear Emitter" -#~ msgstr "에미터 정리" - -#~ msgid "Fold Line" -#~ msgstr "라인 접음" - -#~ msgid "Sections:" -#~ msgstr "부문:" - -#~ msgid "" -#~ "\n" -#~ "Source: " -#~ msgstr "" -#~ "\n" -#~ "소스: " - -#~ msgid "Remove Point from Line2D" -#~ msgstr "Line2D에서 포인트 삭제" - -#~ msgid "Add Point to Line2D" -#~ msgstr "Line2D에 포인트 추가" - -#~ msgid "Move Point in Line2D" -#~ msgstr "Line2D의 포인트 이동" - -#~ msgid "Split Segment (in line)" -#~ msgstr "세그먼트 분할 (라인)" - -#~ msgid "Meta+" -#~ msgstr "메타+" - -#, fuzzy -#~ msgid "Setting '" -#~ msgstr "설정" - -#~ msgid "Remote Inspector" -#~ msgstr "원격 인스펙터" - -#~ msgid "Live Scene Tree:" -#~ msgstr "실시간 씬 트리:" - -#~ msgid "Remote Object Properties: " -#~ msgstr "원격 오브젝트 속성: " - -#, fuzzy -#~ msgid "Selection -> Duplicate" -#~ msgstr "선택영역만" - -#, fuzzy -#~ msgid "Selection -> Clear" -#~ msgstr "선택영역만" - -#~ msgid "" -#~ "Path property must point to a valid Viewport node to work. Such Viewport " -#~ "must be set to 'render target' mode." -#~ msgstr "" -#~ "Path 속성은 유효한 Viewport 노드를 가리켜야 합니다. 가리킨 Viewport는 또" -#~ "한 'render target' 모드로 설정되어야 합니다." - -#~ msgid "" -#~ "The Viewport set in the path property must be set as 'render target' in " -#~ "order for this sprite to work." -#~ msgstr "" -#~ "이 Sprite가 동작하기 위해서는 Path 속성에 지정된 Viewport가 'render " -#~ "target'으로 설정되어야 합니다." - -#~ msgid "Method List For '%s':" -#~ msgstr "'%s' 함수 목록:" - -#~ msgid "Arguments:" -#~ msgstr "인수:" - -#~ msgid "Return:" -#~ msgstr "리턴:" - -#~ msgid "Added:" -#~ msgstr "추가됨:" - -#~ msgid "Could not save atlas subtexture:" -#~ msgstr "아틀라스 서브 텍스쳐를 저장할 수 없습니다:" - -#~ msgid "Setting Up..." -#~ msgstr "설정 중..." - -#~ msgid "Error loading scene." -#~ msgstr "씬 로딩 중 에러." - -#~ msgid "Re-Import" -#~ msgstr "다시 가져오기" - -#~ msgid "Please wait for scan to complete." -#~ msgstr "스캔이 완료될 때까지 기다려주세요." - -#~ msgid "Current scene must be saved to re-import." -#~ msgstr "다시 가져오기 위해서는 현재 씬을 저장해야 합니다." - -#~ msgid "Re-Importing" -#~ msgstr "다시 가져오기" - -#~ msgid "Re-Import Changed Resources" -#~ msgstr "변경된 리소스 다시 가져오기" - -#~ msgid "" -#~ "\n" -#~ "Status: Needs Re-Import" -#~ msgstr "" -#~ "\n" -#~ "상태: 다시 임포트 필요" - -#~ msgid "Same source and destination files, doing nothing." -#~ msgstr "소스와 대상 파일이 동일하여, 무시됩니다." - -#~ msgid "Same source and destination paths, doing nothing." -#~ msgstr "소스와 대상 경로가 동일하여, 무시됩니다." - -#~ msgid "Can't move directories to within themselves." -#~ msgstr "디렉토리를 자신으로 이동할 수 없습니다." - -#~ msgid "Pick New Name and Location For:" -#~ msgstr "새로운 이름과 위치를 고르세요:" - -#~ msgid "Info" -#~ msgstr "정보" - -#~ msgid "No bit masks to import!" -#~ msgstr "가져올 비트 마스크가 없습니다!" - -#~ msgid "Target path is empty." -#~ msgstr "대상 경로가 없습니다." - -#~ msgid "Target path must be a complete resource path." -#~ msgstr "대상 경로는 완전한 리소스 경로여야 합니다." - -#~ msgid "Target path must exist." -#~ msgstr "대상 경로가 존재해야 합니다." - -#~ msgid "Import BitMasks" -#~ msgstr "비트마스크 가져오기" - -#~ msgid "Source Texture(s):" -#~ msgstr "소스 텍스쳐:" - -#~ msgid "Target Path:" -#~ msgstr "대상 경로:" - -#~ msgid "Accept" -#~ msgstr "수락" - -#~ msgid "Bit Mask" -#~ msgstr "비트 마스크" - -#~ msgid "No source font file!" -#~ msgstr "소스 폰트 파일이 없습니다!" - -#~ msgid "No target font resource!" -#~ msgstr "폰트 리소스 경로가 없습니다!" - -#~ msgid "" -#~ "Invalid file extension.\n" -#~ "Please use .font." -#~ msgstr "" -#~ "유효하지 않은 파일 확장자.\n" -#~ ".font 를 사용하세요." - -#~ msgid "Couldn't save font." -#~ msgstr "폰트를 저장할 수 없습니다." - -#~ msgid "Source Font:" -#~ msgstr "소스 폰트:" - -#~ msgid "Dest Resource:" -#~ msgstr "리소스 경로:" - -#~ msgid "The quick brown fox jumps over the lazy dog." -#~ msgstr "" -#~ "The quick brown fox jumps over the lazy dog.\n" -#~ "다람쥐 헌 쳇바퀴에 타고파." - -#~ msgid "Test:" -#~ msgstr "테스트:" - -#~ msgid "Options:" -#~ msgstr "옵션:" - -#~ msgid "Font Import" -#~ msgstr "폰트 가져오기" - -#~ msgid "" -#~ "This file is already a Godot font file, please supply a BMFont type file " -#~ "instead." -#~ msgstr "이 파일은 이미 Godot 폰트 파일입니다. BMFont 파일을 선택하세요." - -#~ msgid "Failed opening as BMFont file." -#~ msgstr "BMFont 파일을 여는데 실패했습니다." - -#~ msgid "Invalid font custom source." -#~ msgstr "사용자 지정 폰트 소스가 유효하지 않습니다." - -#~ msgid "No meshes to import!" -#~ msgstr "가져올 메쉬가 없습니다!" - -#~ msgid "Single Mesh Import" -#~ msgstr "단일 메쉬 가져오기" - -#~ msgid "Source Mesh(es):" -#~ msgstr "소스 메쉬:" - -#~ msgid "Surface %d" -#~ msgstr "서페이스 %d" - -#~ msgid "No samples to import!" -#~ msgstr "가져올 샘플이 없습니다!" - -#~ msgid "Import Audio Samples" -#~ msgstr "오디오 샘플 가져오기" - -#~ msgid "Source Sample(s):" -#~ msgstr "소스 샘플:" - -#~ msgid "Audio Sample" -#~ msgstr "오디오 샘플" - -#~ msgid "New Clip" -#~ msgstr "새 클립" - -#~ msgid "Flags" -#~ msgstr "플래그" - -#~ msgid "Bake FPS:" -#~ msgstr "FPS 설정:" - -#~ msgid "Optimizer" -#~ msgstr "최적화" - -#~ msgid "Max Linear Error" -#~ msgstr "최대 선형 오류" - -#~ msgid "Max Angular Error" -#~ msgstr "최대 각도 오류" - -#~ msgid "Max Angle" -#~ msgstr "최대 각도" - -#~ msgid "Start(s)" -#~ msgstr "시작(초)" - -#~ msgid "Source path is empty." -#~ msgstr "소스 경로가 비어있습니다." - -#~ msgid "Couldn't load post-import script." -#~ msgstr "가져오기 후 실행할 스크립트를 로드할 수 없습니다." - -#~ msgid "Invalid/broken script for post-import." -#~ msgstr "가져오기 후 실행할 스크립트가 유효하지 않거나 깨져있습니다." - -#~ msgid "Error importing scene." -#~ msgstr "씬 가져오기 에러." - -#~ msgid "Import 3D Scene" -#~ msgstr "3D 씬 가져오기" - -#~ msgid "Source Scene:" -#~ msgstr "소스 씬:" - -#~ msgid "Same as Target Scene" -#~ msgstr "대상 씬과 같음" - -#~ msgid "Shared" -#~ msgstr "공유됨" - -#~ msgid "Target Texture Folder:" -#~ msgstr "대상 텍스쳐 폴더:" - -#~ msgid "Custom Root Node Type:" -#~ msgstr "사용자 정의 루트 노드 타입:" - -#~ msgid "Auto" -#~ msgstr "자동" - -#~ msgid "The Following Files are Missing:" -#~ msgstr "다음의 파일들이 빠져있습니다:" - -#~ msgid "Import Anyway" -#~ msgstr "무시하고 가져오기" - -#~ msgid "Edited scene has not been saved, open imported scene anyway?" -#~ msgstr "편집된 씬이 저장되지 않았습니다. 무시하고 가져온 씬을 여시겠습니까?" - -#~ msgid "Import Image:" -#~ msgstr "이미지 가져오기:" - -#~ msgid "Couldn't localize path: %s (already local)" -#~ msgstr "경로를 로컬 경로로 바꿀 수 없습니다: %s (이미 로컬 경로)" - -#~ msgid "3D Scene Animation" -#~ msgstr "3D 씬 애니메이션" - -#~ msgid "Uncompressed" -#~ msgstr "무압축" - -#~ msgid "Compress Lossless (PNG)" -#~ msgstr "무손실 압축 (PNG)" - -#~ msgid "Compress Lossy (WebP)" -#~ msgstr "손실 압축 (PNG)" - -#~ msgid "Compress (VRAM)" -#~ msgstr "압축 (VRAM)" - -#~ msgid "Texture Format" -#~ msgstr "텍스쳐 포멧" - -#~ msgid "Texture Compression Quality (WebP):" -#~ msgstr "텍스쳐 압축 품질 (WebP):" - -#~ msgid "Please specify some files!" -#~ msgstr "파일을 지정하세요!" - -#~ msgid "At least one file needed for Atlas." -#~ msgstr "아틀라스 생성을 위해서는 최소 1개 이상의 파일이 필요합니다." - -#~ msgid "Error importing:" -#~ msgstr "가져오기 에러:" - -#~ msgid "Max Texture Size:" -#~ msgstr "최대 텍스쳐 사이즈:" - -#~ msgid "Import Textures for Atlas (2D)" -#~ msgstr "아틀라스를 위한 텍스쳐 가져오기 (2D)" - -#~ msgid "Large Texture" -#~ msgstr "큰 텍스쳐" - -#~ msgid "Import Large Textures (2D)" -#~ msgstr "큰 텍스쳐 가져오기 (2D)" - -#~ msgid "Source Texture" -#~ msgstr "소스 텍스쳐" - -#~ msgid "Base Atlas Texture" -#~ msgstr "기본 아틀라스 텍스쳐" - -#~ msgid "Source Texture(s)" -#~ msgstr "소트 텍스쳐" - -#~ msgid "Import Textures for 2D" -#~ msgstr "2D 텍스쳐 가져오기" - -#~ msgid "Import Textures for 3D" -#~ msgstr "3D 텍스쳐 가져오기" - -#~ msgid "Import Textures" -#~ msgstr "텍스쳐 가져오기" - -#~ msgid "2D Texture" -#~ msgstr "2D 텍스쳐" - -#~ msgid "3D Texture" -#~ msgstr "3D 텍스쳐" - -#~ msgid "Atlas Texture" -#~ msgstr "텍스쳐 아틀라스" - -#~ msgid "" -#~ "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files " -#~ "to the project." -#~ msgstr "" -#~ "알림: 2D 텍스쳐 가져오기가 필수는 아닙니다. png/jpg 파일들을 프로젝트에 복" -#~ "사해서 사용해도 됩니다." - -#~ msgid "Crop empty space." -#~ msgstr "빈 영역 잘라내기." - -#~ msgid "Texture" -#~ msgstr "텍스쳐" - -#~ msgid "Import Large Texture" -#~ msgstr "큰 텍스쳐 가져오기" - -#~ msgid "Load Source Image" -#~ msgstr "소스 이미지 로드" - -#~ msgid "Slicing" -#~ msgstr "자르는 중" - -#~ msgid "Saving" -#~ msgstr "저장 중" - -#~ msgid "Couldn't save large texture:" -#~ msgstr "큰 텍스쳐를 저장할 수 없음:" - -#~ msgid "Build Atlas For:" -#~ msgstr "아틀라스 생성:" - -#~ msgid "Loading Image:" -#~ msgstr "이미지 로딩:" - -#~ msgid "Converting Images" -#~ msgstr "이미지 변환 중" - -#~ msgid "Cropping Images" -#~ msgstr "이미지 자르는 중" - -#~ msgid "Couldn't save atlas image:" -#~ msgstr "아틀라스 이미지를 저장할 수 없음:" - -#~ msgid "Invalid translation source!" -#~ msgstr "유효하지 않은 번역 소스!" - -#~ msgid "Column" -#~ msgstr "열" - -#~ msgid "No items to import!" -#~ msgstr "가져올 항목이 없습니다!" - -#~ msgid "No target path!" -#~ msgstr "대상 경로가 없습니다!" - -#~ msgid "Import Translations" -#~ msgstr "번역 가져오기" - -#~ msgid "Couldn't import!" -#~ msgstr "가져올 수 없습니다!" - -#~ msgid "Import Translation" -#~ msgstr "번역 가져오기" - -#~ msgid "Source CSV:" -#~ msgstr "소스 CSV:" - -#~ msgid "Ignore First Row" -#~ msgstr "첫째줄 무시" - -#~ msgid "Compress" -#~ msgstr "압축" - -#~ msgid "Add to Project (project.godot)" -#~ msgstr "프로젝트에 추가 (project.godot)" - -#~ msgid "Import Languages:" -#~ msgstr "언어 가져오기:" - -#~ msgid "Translation" -#~ msgstr "번역" - -#~ msgid "Triangle #" -#~ msgstr "삼각형 #" - -#~ msgid "Light Baker Setup:" -#~ msgstr "라이트 베이커 설정:" - -#~ msgid "Fixing Lights" -#~ msgstr "라이트 수정 중" - -#~ msgid "Making BVH" -#~ msgstr "BVH 만드는 중" - -#~ msgid "Allocating Texture #" -#~ msgstr "텍스쳐 할당 중 #" - -#~ msgid "Baking Triangle #" -#~ msgstr "삼각형 굽는 중 #" - -#~ msgid "Post-Processing Texture #" -#~ msgstr "텍스쳐 후처리 중 #" - -#~ msgid "Reset the lightmap octree baking process (start over)." -#~ msgstr "라이트맵 오크트리 굽기 프로세스 재설정 (처음부터 다시)." - -#~ msgid "Zoom Set..." -#~ msgstr "확대 설정..." - -#~ msgid "Parse BBCode" -#~ msgstr "BBCode 읽기" - -#~ msgid "Length:" -#~ msgstr "길이:" - -#~ msgid "Open Sample File(s)" -#~ msgstr "샘플 파일 열기" - -#~ msgid "ERROR: Couldn't load sample!" -#~ msgstr "에러: 샘플을 로드할 수 없습니다!" - -#~ msgid "Add Sample" -#~ msgstr "샘플 추가" - -#~ msgid "Rename Sample" -#~ msgstr "샘플 이름 변경" - -#~ msgid "Delete Sample" -#~ msgstr "샘플 삭제" - -#~ msgid "16 Bits" -#~ msgstr "16 비트" - -#~ msgid "8 Bits" -#~ msgstr "8 비트" - -#~ msgid "Stereo" -#~ msgstr "스테레오" - -#~ msgid "Scaling to %s%%." -#~ msgstr "%s%%로 크기 변경." - -#~ msgid "Bucket" -#~ msgstr "채우기" - -#~ msgid "Invalid project path, the path must exist!" -#~ msgstr "프로젝트 경로가 유효하지 않습니다. 경로가 반드시 존재해야 합니다!" - -#, fuzzy -#~ msgid "Invalid project path, project.godot must not exist." -#~ msgstr "프로젝트 경로가 유효하지 않습니다. engine.cfg가 있으면 안됩니다." - -#, fuzzy -#~ msgid "Invalid project path, project.godot must exist." -#~ msgstr "프로젝트 경로가 유효하지 않습니다. engine.cfg가 존재해야합니다." - -#~ msgid "Project Path (Must Exist):" -#~ msgstr "프로젝트 경로 (반드시 필요):" - -#~ msgid "Create New Resource" -#~ msgstr "새 리소스 만들기" - -#~ msgid "Open Resource" -#~ msgstr "리소스 열기" - -#~ msgid "Save Resource" -#~ msgstr "리로스 저장" - -#~ msgid "Resource Tools" -#~ msgstr "리소스 도구" - -#~ msgid "Edit Groups" -#~ msgstr "그룹 편집" - -#, fuzzy -#~ msgid "Tiles" -#~ msgstr "파일" - -#~ msgid "Ctrl+" -#~ msgstr "컨트롤+" - -#~ msgid "Close scene? (Unsaved changes will be lost)" -#~ msgstr "씬을 닫으시겠습니까? (저장하지 않은 변경사항은 사라집니다.)" - -#~ msgid "" -#~ "Open Project Manager? \n" -#~ "(Unsaved changes will be lost)" -#~ msgstr "" -#~ "프로젝트 매니저를 실행하시겠습니까?\n" -#~ "(저장하지 않은 변경사항은 사라집니다.)" - -#~ msgid "Close Goto Prev. Scene" -#~ msgstr "닫고 이전 씬으로 이동" - -#~ msgid "Del" -#~ msgstr "삭제" - -#, fuzzy -#~ msgid "" -#~ "Couldn't read the certificate file. Are the path and password both " -#~ "correct?" -#~ msgstr "인증서 파일을 읽을 수 없습니다. 경로와 비밀번호가 정확합니까?" - -#~ msgid "Error creating the package signature." -#~ msgstr "패키지 서명을 생성하는 중 에러가 발생했습니다." - -#, fuzzy -#~ msgid "RAW Mode" -#~ msgstr "실행 모드:" - -#~ msgid "Node From Scene" -#~ msgstr "씬으로부터 노드 가져오기" - -#~ msgid "Import assets to the project." -#~ msgstr "프로젝트로 에셋 가져오기." - -#~ msgid "Export the project to many platforms." -#~ msgstr "프로젝트를 많은 플랫폼으로 내보내기." - -#~ msgid "Alerts when an external resource has changed." -#~ msgstr "외부 리소스가 변경되었을 때 알림." - -#~ msgid "Open https://godotengine.org at tutorials section." -#~ msgstr "https://godotengine.org의 튜토리얼 부분을 엽니다." - -#~ msgid "No scene selected to instance!" -#~ msgstr "인스턴스할 씬이 선택되지 않았습니다!" - -#~ msgid "Instance at Cursor" -#~ msgstr "커서에 인스턴스 만들기" - -#~ msgid "Use Default Light" -#~ msgstr "기본 Light 사용" - -#~ msgid "Default Light Normal:" -#~ msgstr "기본 라이트 노말:" - -#~ msgid "Ambient Light Color:" -#~ msgstr "환경 광 색상:" - -#~ msgid "Invalid parent class name" -#~ msgstr "유요하지 않은 부모 클래스명" - -#~ msgid "Valid chars:" -#~ msgstr "유요한 문자:" - -#~ msgid "Valid name" -#~ msgstr "유요한 이름" - -#~ msgid "Class name is invalid!" -#~ msgstr "클래스명이 유효하지 않습니다!" - -#~ msgid "Parent class name is invalid!" -#~ msgstr "부모 클래스명이 유효하지 않습니다!" - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "Path 속성은 유효한 Particles2D 노드를 가리켜야 합니다." - -#~ msgid "Surface" -#~ msgstr "출사면" - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SamplePlayer to play sound." -#~ msgstr "" -#~ "SamplePlayer가 사운드를 재생하기 위해서는 'Samples' 속성에서 새로운 " -#~ "SampleLibrary 리소스를 생성하거나, 지정해야합니다." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SpatialSamplePlayer to play sound." -#~ msgstr "" -#~ "SpatialSamplePlayer가 사운드를 재생하기 위해서는 'Samples' 속성에서 새로" -#~ "운 SampleLibrary 리소스를 생성하거나, 지정해야합니다." - -#~ msgid "Replaced %d Ocurrence(s)." -#~ msgstr "%d 회 변경됨." - -#~ msgid "Save Translatable Strings" -#~ msgstr "번역가능한 문자열 저장" - -#~ msgid "Edit Script Options" -#~ msgstr "스크립트 옵션 편집" - -#~ msgid "Error exporting project!" -#~ msgstr "프로젝트 내보내기 중 에러!" - -#~ msgid "Error writing the project PCK!" -#~ msgstr "프로젝트 PCK 작성중 에러!" - -#~ msgid "No exporter for platform '%s' yet." -#~ msgstr "'%s' 플랫폼으로 내보내기 위한 템플릿 파일이 없습니다." - -#~ msgid "Create Android keystore" -#~ msgstr "안드로이드 키스토어 만들기" - -#~ msgid "Organization" -#~ msgstr "조직" - -#~ msgid "Password" -#~ msgstr "암호" - -#~ msgid "at least 6 characters" -#~ msgstr "최소 6 글자" - -#~ msgid "File name" -#~ msgstr "파일명" - -#~ msgid "Include" -#~ msgstr "포함" - -#~ msgid "Group name can't be empty!" -#~ msgstr "그룹 이름을 지정해야 합니다!" - -#~ msgid "Invalid character in group name!" -#~ msgstr "그룹 이름에 유효하지 않은 문자가 사용되었습니다!" - -#~ msgid "Add Image Group" -#~ msgstr "이미지 그룹 추가" - -#~ msgid "Project Export Settings" -#~ msgstr "프로젝트 내보내기 설정" - -#~ msgid "Export to Platform" -#~ msgstr "플랫폼으로 내보내기" - -#~ msgid "Export all files in the project directory." -#~ msgstr "프로젝트 디렉토리 안의 모든 파일 내보내기." - -#~ msgid "Convert text scenes to binary on export." -#~ msgstr "내보내기 시, 텍스트 기반 씬 파일을 바이너리 형식으로 변환." - -#~ msgid "Images" -#~ msgstr "이미지" - -#~ msgid "Keep Original" -#~ msgstr "원본 유지" - -#~ msgid "Compress for Disk (Lossy, WebP)" -#~ msgstr "디스크 압축 (Lossy, WebP)" - -#~ msgid "Compress for RAM (BC/PVRTC/ETC)" -#~ msgstr "메모리 압축 (BC/PVRTC/ETC)" - -#~ msgid "Convert Images (*.png):" -#~ msgstr "이미지 변환 (*.png):" - -#~ msgid "Compress for Disk (Lossy) Quality:" -#~ msgstr "디스크를 위한 압축 (손실) 품질:" - -#~ msgid "Shrink All Images:" -#~ msgstr "모든 이미지 줄이기:" - -#~ msgid "Compress Formats:" -#~ msgstr "압축 포멧:" - -#~ msgid "Groups:" -#~ msgstr "그룹:" - -#~ msgid "Compress Disk" -#~ msgstr "디스크 압축" - -#~ msgid "Compress RAM" -#~ msgstr "메모리 압축" - -#~ msgid "Compress Mode:" -#~ msgstr "압축 모드:" - -#~ msgid "Lossy Quality:" -#~ msgstr "손실 품질:" - -#~ msgid "Shrink By:" -#~ msgstr "이미지 줄이기:" - -#~ msgid "Images:" -#~ msgstr "이미지:" - -#~ msgid "Sample Conversion Mode: (.wav files):" -#~ msgstr "샘플 변환 모드: (.wav 파일):" - -#~ msgid "Compress (RAM - IMA-ADPCM)" -#~ msgstr "압축 (RAM - IMA-ADPCM)" - -#~ msgid "Sampling Rate Limit (Hz):" -#~ msgstr "샘플링 레이트 제한 (Hz):" - -#~ msgid "Trim" -#~ msgstr "잘라내기" - -#~ msgid "Trailing Silence:" -#~ msgstr "끝의 무음:" - -#~ msgid "Export Project PCK" -#~ msgstr "프로젝트 PCK 내보내기" - -#~ msgid "Project Export" -#~ msgstr "프로젝트 내보내기" - -#~ msgid "BakedLightInstance does not contain a BakedLight resource." -#~ msgstr "BakedLightInstance가 BakedLight 리소스를 가지고 있지 않습니다." - -#~ msgid "Lighting" -#~ msgstr "라이팅" - -#~ msgid "Global" -#~ msgstr "Global" - -#~ msgid "" -#~ "This item cannot be made visible because the parent is hidden. Unhide the " -#~ "parent first." -#~ msgstr "" -#~ "부모 노드가 숨겨져 있기 때문에 이 항목을 보이도록 만들 수 없습니다. 부모 " -#~ "노드를 먼저 보이도록 하세요." - -#~ msgid "" -#~ "Paths cannot start with '/', absolute paths must start with 'res://', " -#~ "'user://', or 'local://'" -#~ msgstr "" -#~ "경로는 '/'로 시작할 수 없습니다. 'res://', 'user://', 또는 'local://'로 시" -#~ "작하는 절대 경로를 사용해야 합니다" - -#~ msgid "File exists" -#~ msgstr "파일이 존재함" - -#~ msgid "Valid path" -#~ msgstr "유요한 경로" - -#~ msgid "Cannot go into subdir:" -#~ msgstr "하위 디렉토리로 이동할 수 없습니다:" - -#~ msgid "Top (Num7)" -#~ msgstr "윗면 (넘버패드7)" - -#~ msgid "Bottom (Shift+Num7)" -#~ msgstr "아랫면 (쉬프트+넘버패드7)" - -#~ msgid "Left (Num3)" -#~ msgstr "왼쪽면 (넘버패드3)" - -#~ msgid "Right (Shift+Num3)" -#~ msgstr "오른쪽면 (쉬프트+넘버패드3)" - -#~ msgid "Front (Num1)" -#~ msgstr "정면 (넘버패드1)" - -#~ msgid "Rear (Shift+Num1)" -#~ msgstr "뒷면 (쉬프트+넘버패드1)" - -#~ msgid "Perspective (Num5)" -#~ msgstr "원근보기 (넘버패드5)" - -#~ msgid "Orthogonal (Num5)" -#~ msgstr "직교보기 (넘버패드5)" - -#~ msgid "Selection (F)" -#~ msgstr "선택 (F)" - -#~ msgid "Align with view (Ctrl+Shift+F)" -#~ msgstr "뷰에 정렬 (컨트롤+쉬프트+F)" - -#~ msgid "Enable/Disable interpolation when looping animation." -#~ msgstr "애니메이션 루프 시 보간 활성화/비활성화." - -#~ msgid "Load Layout" -#~ msgstr "레이아웃 로드" - -#~ msgid "Scale Region Editor" -#~ msgstr "스케일 구역 편집기" - -#~ msgid "Inherit Scene" -#~ msgstr "상속 씬" - -#~ msgid "Binds (Extra Params):" -#~ msgstr "바인드 (추가 파라미터):" - -#~ msgid "Method In Node:" -#~ msgstr "노드의 함수:" - -#~ msgid "Reload Tool Script (Soft)" -#~ msgstr "툴 스크립트 다시 로드 (소프트)" - -#~ msgid "Set Params" -#~ msgstr "속성 적용" - -#~ msgid "Live Editing" -#~ msgstr "실시간 편집" - -#~ msgid "File Server" -#~ msgstr "파일 서버" - -#~ msgid "Deploy File Server Clients" -#~ msgstr "파일 서버 클라이언트 배포" diff --git a/editor/translations/lt.po b/editor/translations/lt.po index f4cdcf8c89..aa64475a5d 100644 --- a/editor/translations/lt.po +++ b/editor/translations/lt.po @@ -1,6 +1,6 @@ # Lithuanian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Ignas Kiela <ignaskiela@super.lt>, 2017. # Kornelijus <kornelijus.github@gmail.com>, 2017, 2018. @@ -2115,14 +2115,30 @@ msgstr "" msgid "Theme Properties" msgstr "" -#: editor/editor_help.cpp -msgid "Enumerations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + #: editor/editor_help.cpp #, fuzzy msgid "Property Descriptions" @@ -8525,18 +8541,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -13240,7 +13244,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -13249,6 +13258,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14258,108 +14282,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "" - -#~ msgid "Status:" -#~ msgstr "Statusas:" - -#, fuzzy -#~ msgid "Edit:" -#~ msgstr "Redaguoti" - -#, fuzzy -#~ msgid "Redownload" -#~ msgstr "Atsiųsti iš naujo" - -#~ msgid "(Missing)" -#~ msgstr "(Nerasta)" - -#, fuzzy -#~ msgid "Move to Trash" -#~ msgstr "Mix Nodas" - -#, fuzzy -#~ msgid "Theme File" -#~ msgstr "Atidaryti" - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "Animacijos grotuvas negali animuoti savęs, tik kitus grotuvus." - -#, fuzzy -#~ msgid "Add initial export..." -#~ msgstr "Mėgstamiausi:" - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "Aprašymas:" - -#, fuzzy -#~ msgid "Class Description" -#~ msgstr "Aprašymas:" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "Aprašymas:" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "Aprašymas:" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "Aprašymas:" - -#, fuzzy -#~ msgid "Select Mode (Q)" -#~ msgstr "Pasirinkite Nodus, kuriuos norite importuoti" - -#~ msgid "Error initializing FreeType." -#~ msgstr "Klaida inicijuojant FreeType." - -#~ msgid "Unknown font format." -#~ msgstr "Nežinomas šrifto formatas." - -#~ msgid "Error loading font." -#~ msgstr "Įvyko klaida kraunant šriftą." - -#~ msgid "Invalid font size." -#~ msgstr "Netinkamas šrifto dydis." - -#~ msgid "Path to Node:" -#~ msgstr "Kelias iki Nodo:" - -#~ msgid "Line:" -#~ msgstr "Linija:" - -#~ msgid "Col:" -#~ msgstr "Stulpelis:" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "Nutolinti" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "Priartinti" - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "Priartinti" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Animacija: Perkelti Takelį Aukštyn" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Animacija: Perkelti Takelį Žemyn" - -#, fuzzy -#~ msgid "Anim Add Call Track" -#~ msgstr "Animacija: Pridėti Takelio Iškvietimą" - -#~ msgid "Length (s):" -#~ msgstr "Ilgis (sek.):" - -#~ msgid "Stop Profiling" -#~ msgstr "Baigti Profiliavimą" - -#~ msgid "last" -#~ msgstr "paskutinis" diff --git a/editor/translations/lv.po b/editor/translations/lv.po index 808a13782b..fe8503873f 100644 --- a/editor/translations/lv.po +++ b/editor/translations/lv.po @@ -1,6 +1,6 @@ # Latvian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Gustavs Porietis (pg829-) <porietisgustavs@gmail.com>, 2018. # Martch Zagorski <martchzagorski@gmail.com>, 2018, 2020. @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-11-15 10:49+0000\n" +"PO-Revision-Date: 2021-11-29 20:38+0000\n" "Last-Translator: M E <gruffy7932@gmail.com>\n" "Language-Team: Latvian <https://hosted.weblate.org/projects/godot-engine/" "godot/lv/>\n" @@ -24,7 +24,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n % 10 == 0 || n % 100 >= 11 && n % 100 <= " "19) ? 0 : ((n % 10 == 1 && n % 100 != 11) ? 1 : 2);\n" -"X-Generator: Weblate 4.9.1-dev\n" +"X-Generator: Weblate 4.10-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -902,7 +902,7 @@ msgstr "Atvienot visus no signāla: '%s'" #: editor/connections_dialog.cpp msgid "Connect..." -msgstr "Savieno..." +msgstr "Savienot..." #: editor/connections_dialog.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -2066,7 +2066,7 @@ msgstr "" #: editor/editor_file_system.cpp msgid "(Re)Importing Assets" -msgstr "(Re)Importē līdzekļus" +msgstr "(Re)Importē vienumus" #: editor/editor_help.cpp msgid "Top" @@ -2113,14 +2113,30 @@ msgstr "Metodes" msgid "Theme Properties" msgstr "Motīva iestatījumi" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Uzskaites" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Konstantes" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Uzskaites" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Iestatījumu apraksti" @@ -8360,18 +8376,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -12905,7 +12909,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12914,6 +12923,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -13908,81 +13932,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Konstantes nevar pārveidot." - -#~ msgid "Package Contents:" -#~ msgstr "Paketes Saturs:" - -#~ msgid "Class Options" -#~ msgstr "Klases Iespējas" - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Animācijas atskaņotājs nevar animēt pats sevi, tikai citi spēlētāji." - -#~ msgid "Clipboard is empty" -#~ msgstr "Starpliktuve ir tukša" - -#~ msgid "Add initial export..." -#~ msgstr "Pievienot sākuma eksportu..." - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "Apraksts:" - -#, fuzzy -#~ msgid "Class Description" -#~ msgstr "Apraksts:" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "Apraksts:" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "Apraksts:" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "Apraksts:" - -#~ msgid "Error initializing FreeType." -#~ msgstr "Kļūme inicializējot FreeType." - -#~ msgid "Unknown font format." -#~ msgstr "Nezināms fonta formāts." - -#~ msgid "Error loading font." -#~ msgstr "Kļūda lādējot fontu." - -#~ msgid "Invalid font size." -#~ msgstr "Nederīgs fonta izmērs." - -#, fuzzy -#~ msgid "Next Folder" -#~ msgstr "Izvēlēties šo Mapi" - -#~ msgid "Delete selected files?" -#~ msgstr "Izdzēst izvēlētos failus?" - -#~ msgid "Line:" -#~ msgstr "Rinda:" - -#~ msgid "Col:" -#~ msgstr "Kolona:" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "Attālināt" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "Pietuvināt" - -#~ msgid "Zoom:" -#~ msgstr "Pietuvināt:" - -#~ msgid "Length (s):" -#~ msgstr "Garums (i):" - -#~ msgid "Thanks!" -#~ msgstr "Paldies!" diff --git a/editor/translations/mi.po b/editor/translations/mi.po index 6afda28ec5..09fa5ab28f 100644 --- a/editor/translations/mi.po +++ b/editor/translations/mi.po @@ -1,6 +1,6 @@ # Māori translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # follower <follower@rancidbacon.com>, 2019. msgid "" @@ -2036,14 +2036,30 @@ msgstr "" msgid "Theme Properties" msgstr "" -#: editor/editor_help.cpp -msgid "Enumerations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "" @@ -8233,18 +8249,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -12773,7 +12777,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12782,6 +12791,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" diff --git a/editor/translations/mk.po b/editor/translations/mk.po index 93b4e2afe1..899c807339 100644 --- a/editor/translations/mk.po +++ b/editor/translations/mk.po @@ -1,6 +1,6 @@ # Macedonian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # Kristijan Fremen Velkovski <me@krisfremen.com>, 2021. @@ -2045,14 +2045,30 @@ msgstr "" msgid "Theme Properties" msgstr "" -#: editor/editor_help.cpp -msgid "Enumerations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "" @@ -8249,18 +8265,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -12789,7 +12793,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12798,6 +12807,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" diff --git a/editor/translations/ml.po b/editor/translations/ml.po index 7fcb0ea508..c676ed237a 100644 --- a/editor/translations/ml.po +++ b/editor/translations/ml.po @@ -1,6 +1,6 @@ # Malayalam translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # christy james <jkuttu@gmail.com>, 2018. # Lakshmi-Jayakumar <lakshmi.jayakumar.tkm@gmail.com>, 2019. @@ -2049,14 +2049,30 @@ msgstr "" msgid "Theme Properties" msgstr "" -#: editor/editor_help.cpp -msgid "Enumerations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "" @@ -8257,18 +8273,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -12800,7 +12804,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12809,6 +12818,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" diff --git a/editor/translations/mr.po b/editor/translations/mr.po index 8b63ae3338..ad96d815e7 100644 --- a/editor/translations/mr.po +++ b/editor/translations/mr.po @@ -1,6 +1,6 @@ # Marathi translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Prachi Joshi <josprachi@yahoo.com>, 2019, 2020. # Shirious <sad3119823@gmail.com>, 2020. @@ -2044,14 +2044,30 @@ msgstr "" msgid "Theme Properties" msgstr "" -#: editor/editor_help.cpp -msgid "Enumerations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "" @@ -8248,18 +8264,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -12792,7 +12796,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12801,6 +12810,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" diff --git a/editor/translations/ms.po b/editor/translations/ms.po index a6c0097736..732f651522 100644 --- a/editor/translations/ms.po +++ b/editor/translations/ms.po @@ -1,6 +1,6 @@ # Malay translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Sam Vanguard <syafz119@gmail.com>, 2018. # Shaqir Rafiq <moshamoradev@gmail.com>, 2018. @@ -2120,14 +2120,30 @@ msgstr "Kaedah" msgid "Theme Properties" msgstr "Sifat Tema" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Penghitungan" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Pemalar" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Penghitungan" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Penerangan Sifat" @@ -8545,18 +8561,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -13184,7 +13188,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -13193,6 +13202,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14193,97 +14217,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "" - -#~ msgid "Singleton" -#~ msgstr "Singleton" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Padamkan profil '%s'? (tidak boleh buat asal)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Ciri-ciri Diaktifkan:" - -#~ msgid "Unset" -#~ msgstr "Nyahtetap" - -#~ msgid "Class Options" -#~ msgstr "Pilihan Kelas" - -#~ msgid "Set" -#~ msgstr "Tetapkan" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Sumber %s yang diubahsuai telah disimpan." - -#~ msgid "Q&A" -#~ msgstr "Soal Jawab" - -#~ msgid "Status:" -#~ msgstr "Status:" - -#~ msgid "Edit:" -#~ msgstr "Sunting:" - -#~ msgid "Redownload" -#~ msgstr "Muat turun semula" - -#~ msgid "(Installed)" -#~ msgstr "(Dipasang)" - -#~ msgid "(Missing)" -#~ msgstr "(Hilang)" - -#~ msgid "Redirect Loop." -#~ msgstr "Ubah Hala Gelung." - -#~ msgid "Download Complete." -#~ msgstr "Muat Turun Selesai." - -#~ msgid "Remove Template" -#~ msgstr "Alih Keluar Templat" - -#~ msgid "Download Templates" -#~ msgstr "Muat Turun Templat-templat" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "Pilih cermin daripada senarai: (Shift+Click: Buka dalam Pelayar)" - -#~ msgid "Move to Trash" -#~ msgstr "Pindah ke Tong Sampah" - -#~ msgid "Expand All Properties" -#~ msgstr "Kembangkan Semua Sifat-sifat" - -#~ msgid "Copy Params" -#~ msgstr "Salin Parameter-parameter" - -#~ msgid "Open in Help" -#~ msgstr "Buka dalam Bantuan" - -#~ msgid "Size" -#~ msgstr "Saiz" - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Pemain animasi tidak boleh animasikan dirinya sendiri, hanya pemain lain." - -#~ msgid "Clipboard is empty" -#~ msgstr "Papan klip kosong" - -#~ msgid "No" -#~ msgstr "Tidak" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Adegan ini tidak pernah disimpan. Simpan sebelum menjalankan?" - -#~ msgid "Error trying to save layout!" -#~ msgstr "Ralat semasa menyimpan susun atur!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Susun atur lalai telah diganti." - -#~ msgid "Move Anim Track Up" -#~ msgstr "Ubah Trek Anim Ke Atas" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Ubah Trek Anim Ke Bawah" diff --git a/editor/translations/nb.po b/editor/translations/nb.po index 0a8064f763..00f5f5b411 100644 --- a/editor/translations/nb.po +++ b/editor/translations/nb.po @@ -1,6 +1,6 @@ # Norwegian Bokmål translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Allan Nordhøy <epost@anotheragency.no>, 2017-2018, 2019, 2020, 2021. # Anonymous <GentleSaucepan@protonmail.com>, 2017, 2021. @@ -2201,14 +2201,33 @@ msgstr "Metoder" msgid "Theme Properties" msgstr "Egenskaper" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Nummereringer" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Colors" +msgstr "Farge" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Konstanter" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Fonts" +msgstr "Font" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Icons" +msgstr "Ikon" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Nummereringer" + #: editor/editor_help.cpp #, fuzzy msgid "Property Descriptions" @@ -8968,21 +8987,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Colors" -msgstr "Farge" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Fonts" -msgstr "Font" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Icons" -msgstr "Ikon" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -13868,7 +13872,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -13877,6 +13886,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14904,766 +14928,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Konstanter kan ikke endres." - -#~ msgid "Left" -#~ msgstr "Venstre" - -#~ msgid "Right" -#~ msgstr "Høyre" - -#~ msgid "Front" -#~ msgstr "Front" - -#~ msgid "Rear" -#~ msgstr "Bak" - -#, fuzzy -#~ msgid "Package Contents:" -#~ msgstr "Innhold:" - -#~ msgid "Singleton" -#~ msgstr "Singleton" - -#, fuzzy -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Erstatt Alle" - -#, fuzzy -#~ msgid "Enabled Properties:" -#~ msgstr "Egenskaper:" - -#~ msgid "Enabled Features:" -#~ msgstr "Påskrudde funksjoner:" - -#, fuzzy -#~ msgid "Class Options" -#~ msgstr "Beskrivelse" - -#~ msgid "Set" -#~ msgstr "Sett" - -#, fuzzy -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Kunne ikke laste ressurs." - -#~ msgid "Q&A" -#~ msgstr "Spørsmål og Svar" - -#~ msgid "Status:" -#~ msgstr "Status:" - -#, fuzzy -#~ msgid "Edit:" -#~ msgstr "Rediger" - -#, fuzzy -#~ msgid "Redownload" -#~ msgstr "Last Ned På Nytt" - -#~ msgid "(Installed)" -#~ msgstr "(Installert)" - -#~ msgid "(Missing)" -#~ msgstr "(Mangler)" - -#, fuzzy -#~ msgid "Request Failed." -#~ msgstr "Forespørsel Feilet." - -#, fuzzy -#~ msgid "Redirect Loop." -#~ msgstr "Omdirigerings-Loop." - -#~ msgid "Download Complete." -#~ msgstr "Nedlastning fullført." - -#~ msgid "Remove Template" -#~ msgstr "Fjern Mal" - -#~ msgid "Download Templates" -#~ msgstr "Last ned Mal" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "Velg speil fra liste: (Shift+Klikk: Åpne i nettleser)" - -#, fuzzy -#~ msgid "Move to Trash" -#~ msgstr "Flytt Autoload" - -#, fuzzy -#~ msgid "Expand All Properties" -#~ msgstr "Utvid alle egenskaper" - -#, fuzzy -#~ msgid "Collapse All Properties" -#~ msgstr "Kollaps alle egenskaper" - -#~ msgid "Copy Params" -#~ msgstr "Kopier Parametre" - -#~ msgid "Open in Help" -#~ msgstr "Åpne i Hjelp" - -#~ msgid "Drag: Rotate" -#~ msgstr "Dra: Roter" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Trykk 'v' for å Endre Pivot, 'Shift+v' for å Dra Privot (under flytting)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+Høyreklikk: Dybdelisteutvalg" - -#~ msgid "Clone Down" -#~ msgstr "Klon Nedover" - -#~ msgid "Size" -#~ msgstr "Størrelse" - -#, fuzzy -#~ msgid "Theme File" -#~ msgstr "Tema" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "Fjern %s prosjekter fra listen?\n" -#~ "Innhold i prosjektmappene vil ikke påvirkes." - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "Fjern dette prosjektet fra listen?\n" -#~ "Innhold i prosjektmappen vil ikke påvirkes." - -#~ msgid "Templates" -#~ msgstr "Maler" - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "En animansjonsavspiller kan ikke animere seg selv, kun andre avspillere." - -#~ msgid "Clipboard is empty" -#~ msgstr "Utklippstavlen er tom" - -#~ msgid "No" -#~ msgstr "Nei" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Denne scene har aldri blitt lagret. Lagre før kjøring?" - -#, fuzzy -#~ msgid "Search complete" -#~ msgstr "Søk Tekst" - -#, fuzzy -#~ msgid "No commit message was provided" -#~ msgstr "Ingen navn gitt" - -#, fuzzy -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "En fil eller mappe med dette navnet eksisterer allerede." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Error ved lagring av layout!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Standard editor layout overskrevet." - -#, fuzzy -#~ msgid "Move pivot" -#~ msgstr "Flytt Pivot" - -#, fuzzy -#~ msgid "Move anchor" -#~ msgstr "Flytt Handling" - -#, fuzzy -#~ msgid "Resize CanvasItem" -#~ msgstr "Endre CanvasItem" - -#, fuzzy -#~ msgid "Add initial export..." -#~ msgstr "Legg til Input" - -#~ msgid "Pack File" -#~ msgstr "Pakkefil" - -#, fuzzy -#~ msgid "FileSystem and Import Docks" -#~ msgstr "FilSystem" - -#, fuzzy -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "Ved eksportering eller deploying, den følgende kjørbare filen vil prøve å " -#~ "koble til IP'en til denne datamaskinen for å bli debugget." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "Gjeldende scene ble aldri lagret, vennligst lagre før kjøring." - -#~ msgid "Revert" -#~ msgstr "Gå tilbake" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Denne handlingen kan ikke angres. Gå tilbake likevel?" - -#~ msgid "Issue Tracker" -#~ msgstr "Problemtracker" - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "Erstattet %d forekomst(er)." - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Det finnes i øyeblikket ingen beskrivelse av denne metoden, men du kan " -#~ "[colour=$color][url=$url]bidra med en[/url][/color] eller [color=$color]" -#~ "[url=$url2]be om en[/url][/color]." - -#~ msgid "enum " -#~ msgstr "num " - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "Kort beskrivelse:" - -#, fuzzy -#~ msgid "Class Description" -#~ msgstr "Beskrivelse" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "Eksport av prosjektet mislyktes med feilkode %d." - -#~ msgid "Password:" -#~ msgstr "Passord:" - -#~ msgid "Pause the scene" -#~ msgstr "Pause scenen" - -#, fuzzy -#~ msgid "Snap to Grid" -#~ msgstr "Snap til rutenett" - -#, fuzzy -#~ msgid "Add input +" -#~ msgstr "Legg til Input" - -#~ msgid "Available Nodes:" -#~ msgstr "Tilgjengelige Noder:" - -#, fuzzy -#~ msgid "Input" -#~ msgstr "Legg til Input" - -#, fuzzy -#~ msgid "Methods:" -#~ msgstr "Metoder" - -#, fuzzy -#~ msgid "Theme Properties:" -#~ msgstr "Egenskaper" - -#~ msgid "Constants:" -#~ msgstr "Konstanter:" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "Beskrivelse:" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "Egenskapsbeskrivelse:" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "Metodebeskrivelse:" - -#, fuzzy -#~ msgid "Reverse sorting." -#~ msgstr "Ber om..." - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "Kan ikke åpne fyle_type_cache.cch for skriving, lagrer ikke file type " -#~ "cache!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "Kan ikke navigere til '%s' for den ble ikke funnet på filsystemet!" - -#~ msgid "Error loading image:" -#~ msgstr "Feil ved innlasting av bilde:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "Ingen piksler med gjennomsiktighet > 128 i bilde..." - -#, fuzzy -#~ msgid "Error: could not load file." -#~ msgstr "Kunne ikke opprette mappe." - -#, fuzzy -#~ msgid "Select Mode (Q)" -#~ msgstr "Velg Modus" - -#, fuzzy -#~ msgid "Snap Mode (%s)" -#~ msgstr "Snap til veiledere" - -#, fuzzy -#~ msgid "Tool Select" -#~ msgstr "Slett Valgte" - -#, fuzzy -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "Fjern prosjekt fra listen? (Mappeinnhold vil ikke bli modifisert)" - -#~ msgid "Project List" -#~ msgstr "Prosjektliste" - -#~ msgid "Exit" -#~ msgstr "Avslutt" - -#~ msgid "Error loading font." -#~ msgstr "Feil ved innlasting av font." - -#~ msgid "Invalid font size." -#~ msgstr "Ugyldig fontstørrelse." - -#, fuzzy -#~ msgid "Previous Folder" -#~ msgstr "Forrige fane" - -#, fuzzy -#~ msgid "Next Folder" -#~ msgstr "Lag mappe" - -#, fuzzy -#~ msgid "Open in an external image editor." -#~ msgstr "Åpne den neste Editoren" - -#~ msgid "Reverse" -#~ msgstr "Reverser" - -#~ msgid "Mirror X" -#~ msgstr "Speil X" - -#~ msgid "Mirror Y" -#~ msgstr "Speil Y" - -#, fuzzy -#~ msgid "Generating solution..." -#~ msgstr "Lager konturer..." - -#, fuzzy -#~ msgid "Failed to create solution." -#~ msgstr "Kunne ikke lage omriss!" - -#, fuzzy -#~ msgid "Failed to save solution." -#~ msgstr "Kunne ikke laste ressurs." - -#, fuzzy -#~ msgid "Failed to create C# project." -#~ msgstr "Kunne ikke laste ressurs." - -#, fuzzy -#~ msgid "Create C# solution" -#~ msgstr "Lag Omriss" - -#, fuzzy -#~ msgid "Build Project" -#~ msgstr "Prosjekt" - -#, fuzzy -#~ msgid "View log" -#~ msgstr "Vis Filer" - -#, fuzzy -#~ msgid "Enabled Classes" -#~ msgstr "Søk i klasser" - -#~ msgid "Update Always" -#~ msgstr "Oppdater Alltid" - -#~ msgid "Path to Node:" -#~ msgstr "Sti til Node:" - -#~ msgid "Delete selected files?" -#~ msgstr "Slett valgte filer?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "Det er ingen 'res://default_bus_layout.tres' fil." - -#~ msgid "Go to parent folder" -#~ msgstr "Gå til overnevnt mappe" - -#, fuzzy -#~ msgid "Open Scene(s)" -#~ msgstr "Åpne Scene" - -#~ msgid "Previous Directory" -#~ msgstr "Forrige Katalog" - -#~ msgid "Next Directory" -#~ msgstr "Neste Katalog" - -#~ msgid "Ease in" -#~ msgstr "Gli inn" - -#~ msgid "Ease out" -#~ msgstr "Gli ut" - -#~ msgid "Create folder" -#~ msgstr "Opprett mappe" - -#, fuzzy -#~ msgid "Custom Node" -#~ msgstr "Kutt Noder" - -#, fuzzy -#~ msgid "Invalid Path" -#~ msgstr ": Ugyldige argumenter: " - -#, fuzzy -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "Dupliser Utvalg" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "Forandre Signalargumenter:" - -#~ msgid "Edit Variable:" -#~ msgstr "Rediger Variabel:" - -#, fuzzy -#~ msgid "Insert keys." -#~ msgstr "Sett inn Nøkler" - -#, fuzzy -#~ msgid "Font Size:" -#~ msgstr "Frontvisning" - -#~ msgid "Line:" -#~ msgstr "Linje:" - -#~ msgid "Col:" -#~ msgstr "Kol:" - -#, fuzzy -#~ msgid "Add Split" -#~ msgstr "Legg til punkt" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "Fjern punkt" - -#, fuzzy -#~ msgid "Poly" -#~ msgstr "Rediger Poly" - -#, fuzzy -#~ msgid "Splits" -#~ msgstr "Splitt Sti" - -#~ msgid "Create Poly" -#~ msgstr "Lag Poly" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "Lag en ny polygon fra bunnen" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "Zoom Ut" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "Zoom Inn" - -#~ msgid "Create Poly3D" -#~ msgstr "Lag Poly3D" - -#~ msgid "LMB: Move Point." -#~ msgstr "Venstreklikk: Flytt Punkt." - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl+Venstreklikk: Splitt Segment." - -#~ msgid "RMB: Erase Point." -#~ msgstr "Høyreklikk: Slett Punkt." - -#~ msgid "Save Theme As" -#~ msgstr "Lagre drakt som" - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "Zoom Inn" - -#~ msgid "Class List:" -#~ msgstr "Klasseliste:" - -#~ msgid "Public Methods" -#~ msgstr "Offentlige metoder" - -#~ msgid "Public Methods:" -#~ msgstr "Offentlige metoder:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "GUI Tema Elementer:" - -#, fuzzy -#~ msgid "Property: " -#~ msgstr "Egenskaper" - -#, fuzzy -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Vis/skjul mappestatus som Favoritt" - -#, fuzzy -#~ msgid "Show current scene file." -#~ msgstr "Velg Gjeldende Mappe" - -#, fuzzy -#~ msgid "Whole words" -#~ msgstr "Hele Ord" - -#, fuzzy -#~ msgid "Match case" -#~ msgstr "Match Tilfelle" - -#~ msgid "Ok" -#~ msgstr "Ok" - -#~ msgid "Search the class hierarchy." -#~ msgstr "Søk i klasse-hierarkiet." - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "Søk i klasser" - -#~ msgid "Convert To Uppercase" -#~ msgstr "Konverter til store versaler" - -#~ msgid "Convert To Lowercase" -#~ msgstr "Konverter til små versaler" - -#~ msgid "Rotate 0 degrees" -#~ msgstr "Roter 0 grader" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "Roter 90 grader" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "Roter 180 grader" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "Roter 270 grader" - -#, fuzzy -#~ msgid "Get" -#~ msgstr "Hent" - -#~ msgid "Change Comment" -#~ msgstr "Endre Kommentar" - -#~ msgid "Modify Color Ramp" -#~ msgstr "Modifiser Farge-Rampe" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Flytt Anim Spor Opp" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Flytt Anim-Spor Ned" - -#~ msgid "Set Transitions to:" -#~ msgstr "Sett Overganger til:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Anim Track Endre Interpolasjon" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Anim Spor Forandre Verdi Modus" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Anim Spor Endre Løkke Modus" - -#~ msgid "Edit Node Curve" -#~ msgstr "Forandre Nodekurve" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Rediger utvalgskurve" - -#~ msgid "Anim Add Key" -#~ msgstr "Anim Legg til Nøkkel" - -#~ msgid "In" -#~ msgstr "Inn" - -#~ msgid "Out" -#~ msgstr "Ut" - -#~ msgid "In-Out" -#~ msgstr "Inn-Ut" - -#~ msgid "Out-In" -#~ msgstr "Ut-Inn" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Anim Lag Typet Verdi Nøkkel" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Anim Legg Til Call Track" - -#~ msgid "Length (s):" -#~ msgstr "Lengde (s):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "Pekersteghopp (i sekunder)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Aktiver/Deaktiver animasjonsløkke." - -#~ msgid "Add new tracks." -#~ msgstr "Legg til nye spor." - -#~ msgid "Move current track up." -#~ msgstr "Flytt gjeldende spor opp." - -#~ msgid "Move current track down." -#~ msgstr "Flytt gjeldende spor ned." - -#~ msgid "Track tools" -#~ msgstr "Spoor verktøy" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Aktiver endring av individuelle nøkler ved å klikke på dem." - -#~ msgid "Key" -#~ msgstr "Nøkkel" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Kall Funksjoner i Hvilken Node?" - -#~ msgid "Thanks!" -#~ msgstr "Takk!" - -#~ msgid "I see..." -#~ msgstr "Jeg forstår..." - -#~ msgid "Ugh" -#~ msgstr "Æsj" - -#~ msgid "Stop Profiling" -#~ msgstr "Stopp Profilering" - -#~ msgid "Start Profiling" -#~ msgstr "Start Profilering" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "Standard (Samme som Editor)" - -#~ msgid "Create new animation in player." -#~ msgstr "Lag ny animasjon i avspiller." - -#~ msgid "Load animation from disk." -#~ msgstr "Last animasjon fra disk." - -#~ msgid "Load an animation from disk." -#~ msgstr "Last en animasjon fra disk." - -#~ msgid "Save the current animation" -#~ msgstr "Lagre den gjeldene animasjonen" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "Endre Blend-Tid-Mål" - -#~ msgid "Copy Animation" -#~ msgstr "Kopier Animasjon" - -#~ msgid "Fetching:" -#~ msgstr "Henter:" - -#~ msgid "prev" -#~ msgstr "forrige" - -#~ msgid "next" -#~ msgstr "neste" - -#~ msgid "last" -#~ msgstr "siste" - -#~ msgid "Edit IK Chain" -#~ msgstr "Endre IK Kjede" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "Dra pivot fra musposisjon" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "Sett pivot på musposisjon" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "Legg til/Fjern Farge-Rampe-Punkt" - -#~ msgid "OK :(" -#~ msgstr "OK :(" - -#~ msgid "Condition" -#~ msgstr "Betingelse" - -#~ msgid "Sequence" -#~ msgstr "Sekvens" - -#~ msgid "While" -#~ msgstr "Mens" - -#~ msgid "Return" -#~ msgstr "Returner" - -#~ msgid "Call" -#~ msgstr "Ring" - -#, fuzzy -#~ msgid "Edit Signal" -#~ msgstr "Forandre Signal Argumenter:" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "Ugyldig version.txt format i mal. Revisjon er ikke en gyldig " -#~ "identifikator." - -#~ msgid "Can't write file." -#~ msgstr "Kan ikke skrive fil." - -#~ msgid "Replace By" -#~ msgstr "Erstatt Med" - -#~ msgid "Backwards" -#~ msgstr "Baklengs" - -#~ msgid "Prompt On Replace" -#~ msgstr "Spør Ved Erstatning" - -#~ msgid "Skip" -#~ msgstr "Hopp Over" - -#~ msgid "Move Add Key" -#~ msgstr "Flytt Legg-Til-Nøkkel" - -#~ msgid "List:" -#~ msgstr "Liste:" - -#~ msgid " " -#~ msgstr " " - -#, fuzzy -#~ msgid "Selection -> Clear" -#~ msgstr "Forandre Utvalgskurve" diff --git a/editor/translations/nl.po b/editor/translations/nl.po index 669ed2e73d..733c4a07e0 100644 --- a/editor/translations/nl.po +++ b/editor/translations/nl.po @@ -1,6 +1,6 @@ # Dutch translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # aelspire <aelspire@gmail.com>, 2017. # Aram Nap <xyphex.aram@gmail.com>, 2017. @@ -51,13 +51,14 @@ # tobeqz <vanveenjorik+tobeqz@gmail.com>, 2021. # Edgar <Edgar@anotherfoxguy.com>, 2021. # Daan van Luijk <daanvl@outlook.be>, 2021. +# Dani Verschoor <daniverschoor@outlook.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-11-07 22:23+0000\n" -"Last-Translator: Daan van Luijk <daanvl@outlook.be>\n" +"PO-Revision-Date: 2021-11-20 22:07+0000\n" +"Last-Translator: Dani Verschoor <daniverschoor@outlook.com>\n" "Language-Team: Dutch <https://hosted.weblate.org/projects/godot-engine/godot/" "nl/>\n" "Language: nl\n" @@ -65,7 +66,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.9-dev\n" +"X-Generator: Weblate 4.9.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -1307,7 +1308,6 @@ msgid "Error opening asset file for \"%s\" (not in ZIP format)." msgstr "Fout bij het openen van het pakketbestand, geen zip-formaat." #: editor/editor_asset_installer.cpp -#, fuzzy msgid "%s (already exists)" msgstr "%s (bestaat al)" @@ -1792,7 +1792,7 @@ msgstr "" #: editor/editor_feature_profile.cpp msgid "Provides built-in access to the Asset Library." -msgstr "" +msgstr "Geeft ingebouwde toegang tot de asset bibliotheek." #: editor/editor_feature_profile.cpp msgid "Allows editing the node hierarchy in the Scene dock." @@ -1825,6 +1825,7 @@ msgstr "(geen)" #: editor/editor_feature_profile.cpp msgid "Remove currently selected profile, '%s'? Cannot be undone." msgstr "" +"Verwijder huidig geselecteerde profiel, '%s'? Kan niet worden ongedaan." #: editor/editor_feature_profile.cpp msgid "Profile must be a valid filename and must not contain '.'" @@ -1855,19 +1856,16 @@ msgid "Enable Contextual Editor" msgstr "Open de Contextbewuste Editor" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Class Properties:" -msgstr "Eigenschappen:" +msgstr "Klas Eigenschappen:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Main Features:" -msgstr "Functionaliteiten" +msgstr "Voornaamste Functionaliteiten:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Nodes and Classes:" -msgstr "Ingeschakelde Klassen:" +msgstr "Knopen en Klassen:" #: editor/editor_feature_profile.cpp msgid "File '%s' format is invalid, import aborted." @@ -1886,7 +1884,6 @@ msgid "Error saving profile to path: '%s'." msgstr "Error bij het opslaan van profiel naar pad: '%s'." #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Reset to Default" msgstr "Reset naar standaard waarden" @@ -1895,14 +1892,12 @@ msgid "Current Profile:" msgstr "Huidig Profiel:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Create Profile" -msgstr "Wis Profiel" +msgstr "Creëer Profiel" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Remove Profile" -msgstr "Verwijder Tile" +msgstr "Verwijder Profiel" #: editor/editor_feature_profile.cpp msgid "Available Profiles:" @@ -1922,18 +1917,18 @@ msgid "Export" msgstr "Exporteren" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Configure Selected Profile:" -msgstr "Huidig Profiel:" +msgstr "Configureer Huidig Profiel:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Extra Options:" -msgstr "Klasse opties:" +msgstr "Extra Opties:" #: editor/editor_feature_profile.cpp msgid "Create or import a profile to edit available classes and properties." msgstr "" +"Creëer of importeer een profiel om beschikbare klassen en eigenschappen aan " +"te passen." #: editor/editor_feature_profile.cpp msgid "New profile name:" @@ -1960,9 +1955,8 @@ msgid "Select Current Folder" msgstr "Huidige map selecteren" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "File exists, overwrite?" -msgstr "Bestand Bestaat, Overschrijven?" +msgstr "Bestand bestaat, overschrijven?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select This Folder" @@ -2168,14 +2162,34 @@ msgstr "Methoden" msgid "Theme Properties" msgstr "Thema-eigenschappen" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Enumeraties" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Colors" +msgstr "Kleur" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Constanten" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Fonts" +msgstr "Lettertype" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Icons" +msgstr "Icoon" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Styles" +msgstr "Stijl" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Enumeraties" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Eigenschapbeschrijvingen" @@ -2360,6 +2374,9 @@ msgid "" "Update Continuously is enabled, which can increase power usage. Click to " "disable it." msgstr "" +"Draait wanneer het editorvenster opnieuw wordt getekend.\n" +"Continu bijwerken is ingeschakeld, wat het stroomverbruik kan verhogen. Klik " +"om het uit te schakelen." #: editor/editor_node.cpp msgid "Spins when the editor window redraws." @@ -2458,9 +2475,8 @@ msgstr "" "(instanties of erfelijkheden) niet voldaan worden." #: editor/editor_node.cpp -#, fuzzy msgid "Could not save one or more scenes!" -msgstr "Kon het subproces niet opstarten!" +msgstr "Kon één of meerdere scènes niet opslaan!" #: editor/editor_node.cpp msgid "Save All Scenes" @@ -2604,13 +2620,16 @@ msgstr "Sla wijzigen aan '%s' op voor het afsluiten?" #: editor/editor_node.cpp msgid "%s no longer exists! Please specify a new save location." -msgstr "" +msgstr "%s bestaat niet meer! Geef een nieuwe opslaglocatie op." #: editor/editor_node.cpp +#, fuzzy msgid "" "The current scene has no root node, but %d modified external resource(s) " "were saved anyway." msgstr "" +"De huidige scène heeft geen wortelknoop, maar %d gewijzigde externe " +"bron(nen) zijn toch opgeslagen." #: editor/editor_node.cpp #, fuzzy @@ -8710,21 +8729,6 @@ msgstr "TextureRegion" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Colors" -msgstr "Kleur" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Fonts" -msgstr "Lettertype" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Icons" -msgstr "Icoon" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Styleboxes" msgstr "Stijl" @@ -13591,8 +13595,17 @@ msgid "\"Use Custom Build\" must be enabled to use the plugins." msgstr "\"Use Custom Build\" moet geactiveerd zijn om plugins te gebruiken." #: platform/android/export/export_plugin.cpp +#, fuzzy msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" +"\"Hand Tracking\" is alleen geldig als \"Xr Mode\" op \"Oculus Mobile VR\" " +"staat." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" "\"Hand Tracking\" is alleen geldig als \"Xr Mode\" op \"Oculus Mobile VR\" " "staat." @@ -13602,6 +13615,23 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "\"Export AAB\" is alleen geldig als \"Use Custom Build\" aan staat." #: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "\"Export AAB\" is alleen geldig als \"Use Custom Build\" aan staat." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "\"Export AAB\" is alleen geldig als \"Use Custom Build\" aan staat." + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " @@ -14759,1198 +14789,3 @@ msgstr "Toewijzing aan uniform." #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Constanten kunnen niet worden aangepast." - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "Maak Rustpose (van Botten)" - -#~ msgid "Bottom" -#~ msgstr "Onder" - -#~ msgid "Left" -#~ msgstr "Links" - -#~ msgid "Right" -#~ msgstr "Rechts" - -#~ msgid "Front" -#~ msgstr "Voor" - -#~ msgid "Rear" -#~ msgstr "Achter" - -#~ msgid "Nameless gizmo" -#~ msgstr "Naamloze gizmo" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "\"Degrees Of Freedom\" is alleen geldig als \"Xr Mode\" op \"Oculus " -#~ "Mobile VR\" staat." - -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "\"Focus Awareness\" is alleen geldig als \"Xr Mode\" op \"Oculus Mobile VR" -#~ "\" staat." - -#~ msgid "Package Contents:" -#~ msgstr "Pakketinhoud:" - -#~ msgid "Singleton" -#~ msgstr "Singleton" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Profiel '%s' verwijderen? (Onomkeerbaar)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Ingeschakelde Eigenschappen:" - -#~ msgid "Enabled Features:" -#~ msgstr "Ingeschakelde Functionaliteit:" - -#~ msgid "Unset" -#~ msgstr "Ongezet" - -#~ msgid "Class Options" -#~ msgstr "Klasse-opties" - -#~ msgid "Set" -#~ msgstr "Zet" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "%s gewijzigde bron(nen) opgeslagen." - -#~ msgid "Q&A" -#~ msgstr "Vragen en antwoorden" - -#~ msgid "Status:" -#~ msgstr "Staat:" - -#~ msgid "Edit:" -#~ msgstr "Bewerken:" - -#~ msgid "Redownload" -#~ msgstr "Opnieuw downloaden" - -#~ msgid "(Installed)" -#~ msgstr "(Geïnstalleerd)" - -#~ msgid "(Missing)" -#~ msgstr "(Missend)" - -#~ msgid "Request Failed." -#~ msgstr "Aanvraag Mislukt." - -#~ msgid "Redirect Loop." -#~ msgstr "Blijft omleiden." - -#~ msgid "Download Complete." -#~ msgstr "Download voltooid." - -#~ msgid "Remove Template" -#~ msgstr "Verwijder Sjabloon" - -#~ msgid "Download Templates" -#~ msgstr "Download Sjablonen" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "Selecteer mirror uit lijst: (Shift-klik: In Browser openen)" - -#~ msgid "Move to Trash" -#~ msgstr "Naar prullenbak verplaatsen" - -#~ msgid "Expand All Properties" -#~ msgstr "Klap alle eigenschappen uit" - -#~ msgid "Collapse All Properties" -#~ msgstr "Klap alle eigenschappen in" - -#~ msgid "Copy Params" -#~ msgstr "Kopieer Parameters" - -#~ msgid "Open in Help" -#~ msgstr "Open in Help" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "Game Camera Overschrijven\n" -#~ "Geen spelinstantie actief." - -#~ msgid "Drag: Rotate" -#~ msgstr "Sleep: Roteer" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Druk 'v' om het draaipunt aan te passen, 'Shift+v' om het draaipunt te " -#~ "slepen (tijdens het bewegen)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt + RMB: Diepte lijst selectie" - -#~ msgid "Clone Down" -#~ msgstr "Kloon Omlaag" - -#~ msgid "Yaw" -#~ msgstr "Yaw" - -#~ msgid "Size" -#~ msgstr "Grootte" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "Slepen: Roteren\n" -#~ "Atl+Slepen: Verplaatsen\n" -#~ "Alt+RMB: Diepte selectie" - -#~ msgid "Sep.:" -#~ msgstr "Scheiding:" - -#~ msgid "Add All" -#~ msgstr "Allen Toevoegen" - -#~ msgid "Theme editing menu." -#~ msgstr "Thema Bewerkingsmenu." - -#~ msgid "Create Empty Template" -#~ msgstr "Creëer Leeg Sjabloon" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "Creëer Lege Sjabloon Editor" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "Creëer Derivatie Huidig Editor Thema" - -#~ msgid "Data Type:" -#~ msgstr "Data Type:" - -#~ msgid "Theme File" -#~ msgstr "Theme Bestand" - -#~ msgid "Compiled" -#~ msgstr "Gecompileerd" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "%d projecten uit de lijst verwijderen?\n" -#~ "De inhoud van de projectmappen wordt niet gewijzigd." - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "Project uit de lijst verwijderen?\n" -#~ "De inhoud van de projectmap wordt niet gewijzigd." - -#~ msgid "Templates" -#~ msgstr "Sjablonen" - -#~ msgid "Add Remapped Path" -#~ msgstr "Bronpadomleiding toevoegen" - -#~ msgid "Can not perform with the root node." -#~ msgstr "Kan deze operatie niet uitvoeren met de wortelknoop." - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "Kon de opstartafbeelding niet lezen:" - -#~ msgid "Using default boot splash image." -#~ msgstr "Gebruik de standaard opstartafbeelding." - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Een animatiespeler kan zichzelf niet animeren, alleen andere spelers." - -#~ msgid "Clipboard is empty" -#~ msgstr "Klembord is leeg" - -#~ msgid "No" -#~ msgstr "Nee" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Deze scene is nooit opgeslagen. Sla op voor het uitvoeren?" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "ADB niet ingesteld in Editor Settings." - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "OpenJDK niet ingesteld in Editor Settings." - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "" -#~ "Eigen build vereist een geldige Android SDK pad in de Editorinstellingen." - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(Tijd resterend: %d:%02d s)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "Plotten Meshes: " - -#~ msgid "Lighting Meshes: " -#~ msgstr "Light Meshes: " - -#~ msgid "Search complete" -#~ msgstr "Zoek Compleet" - -#~ msgid "No commit message was provided" -#~ msgstr "Geen commitbericht was gegeven" - -#~ msgid "Add a commit message" -#~ msgstr "Voeg een vastleggingsbericht toe" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "Er is al een bestand of map met dezelfde naam op dit pad." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Fout bij het opslaan van indeling!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Standaardeditorindeling overschreven." - -#~ msgid "Move pivot" -#~ msgstr "Draaipunt verplaatsen" - -#~ msgid "Move anchor" -#~ msgstr "Anker verplaatsen" - -#~ msgid "Resize CanvasItem" -#~ msgstr "Formaat van CanvasItem wijzigen" - -#~ msgid "Polygon->UV" -#~ msgstr "Polygon→UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV→Polygon" - -#~ msgid "Add initial export..." -#~ msgstr "Voer initiële export toe..." - -#~ msgid "Add previous patches..." -#~ msgstr "Voeg vorige patches toe..." - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "Verwijder patch '%s' van lijst?" - -#~ msgid "Patches" -#~ msgstr "Patches" - -#~ msgid "Make Patch" -#~ msgstr "Maak Patch" - -#~ msgid "Pack File" -#~ msgstr "Pakket Bestand" - -#~ msgid "No build apk generated at: " -#~ msgstr "Geen build APK gegeneerd op: " - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "Bestandssysteem- en Importtablad" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "Na het exporteren of opstarten van het programma zal het proberen " -#~ "verbinding maken met het IP-adres van deze computer zodat het gedebugd " -#~ "kan worden." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "" -#~ "De huidige scène is nooit opgeslagen, sla het op voor het uitvoeren." - -#~ msgid "Revert" -#~ msgstr "Herstellen" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "" -#~ "Deze actie kan niet ongedaan gemaakt worden. WIlt u desondanks " -#~ "terugzetten?" - -#~ msgid "Revert Scene" -#~ msgstr "Scène terugzetten" - -#~ msgid "Clear Script" -#~ msgstr "Script wissen" - -#~ msgid "Issue Tracker" -#~ msgstr "Issue Tracker" - -#~ msgid "Request Docs" -#~ msgstr "Verzoek documentatie" - -#~ msgid "Help improve the Godot documentation by giving feedback." -#~ msgstr "Help de Godot-documentatie te verbeteren door feedback te geven." - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "%d voorgekomen waarde(s) vervangen." - -#~ msgid "Create Static Convex Body" -#~ msgstr "Creëer een statisch convex lichaam" - -#~ msgid "Failed creating shapes!" -#~ msgstr "Shapes maken mislukt!" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Er is momenteel geen handleiding voor deze methode. Help ons alsjeblieft " -#~ "door [color=$color][url=$url]een toe te voegen[/url][/color] of [color=" -#~ "$color][url=$url2]een aan te vragen[/url][/color]." - -#~ msgid "enum " -#~ msgstr "enum " - -#~ msgid "Brief Description" -#~ msgstr "Korte Omschrijving" - -#~ msgid "Class Description" -#~ msgstr "Klassebeschrijving" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "Project exporteren faalt door foutcode %d." - -#~ msgid "Password:" -#~ msgstr "Wachtwoord:" - -#~ msgid "Pause the scene" -#~ msgstr "Pauzeer de scene" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Control+" -#~ msgstr "Control+" - -#, fuzzy -#~ msgid "Snap to Grid" -#~ msgstr "Uitlijnen op raster" - -#, fuzzy -#~ msgid "Add input +" -#~ msgstr "Voeg invoer toe" - -#~ msgid "Language" -#~ msgstr "Taal" - -#~ msgid "Inherits" -#~ msgstr "Erft" - -#~ msgid "Base Type:" -#~ msgstr "Basis Type:" - -#~ msgid "Available Nodes:" -#~ msgstr "Beschikbare Nodes:" - -#~ msgid "Input" -#~ msgstr "Invoer" - -#~ msgid "Methods:" -#~ msgstr "Methodes:" - -#~ msgid "Theme Properties:" -#~ msgstr "Thema Eigenschappen:" - -#~ msgid "Enumerations:" -#~ msgstr "Enumeraties:" - -#~ msgid "Constants:" -#~ msgstr "Constanten:" - -#~ msgid "Class Description:" -#~ msgstr "Klassebeschrijving:" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "Eigenschap Beschrijving:" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "Methode Beschrijving:" - -#, fuzzy -#~ msgid "Reverse sorting." -#~ msgstr "Opvragen..." - -#~ msgid "Delete Node(s)?" -#~ msgstr "Verwijder knooppunt(en)?" - -#~ msgid "No Matches" -#~ msgstr "Geen Overeenkomsten" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "Kan niet schrijven in file_type_cache.cch, de bestandstype cache wordt " -#~ "niet bewaard!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "" -#~ "Kan niet naar '%s' navigeren omdat het niet in het bestandssysteem " -#~ "gevonden is!" - -#~ msgid "Error loading image:" -#~ msgstr "Error bij het laden van afbeelding:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "Geen pixels met transparantie > 128 in afbeelding..." - -#, fuzzy -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "Ouder heeft geen vaste vlakken om te bevolken." - -#~ msgid "Couldn't map area." -#~ msgstr "Kon het gebied niet mappen." - -#~ msgid "Faces contain no area!" -#~ msgstr "Vlakken bevatten geen gebied!" - -#~ msgid "No faces!" -#~ msgstr "Geen vlakken!" - -#, fuzzy -#~ msgid "Error: could not load file." -#~ msgstr "Map kon niet gemaakt worden." - -#, fuzzy -#~ msgid "Error could not load file." -#~ msgstr "Map kon niet gemaakt worden." - -#~ msgid "Doppler Enable" -#~ msgstr "Inschakelen Doppler" - -#~ msgid "Select Mode (Q)" -#~ msgstr "Selectiestand (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "Beweegstand (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "Rotatiestand (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "Schaalstand (R)" - -#~ msgid "Local Coords" -#~ msgstr "Lokale Coördinaten" - -#, fuzzy -#~ msgid "Snap Mode (%s)" -#~ msgstr "Op hulplijnen uitlijnen" - -#~ msgid "Tool Select" -#~ msgstr "Gereedschappen" - -#~ msgid "Tool Move" -#~ msgstr "Beweeg Gereedschap" - -#~ msgid "Tool Rotate" -#~ msgstr "Roteer Gereedschap" - -#~ msgid "Tool Scale" -#~ msgstr "Verschalen Gereedschap" - -#, fuzzy -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "" -#~ "Project uit de lijst verwijderen? (Inhoud van map wordt niet gewijzigd)" - -#~ msgid "Project List" -#~ msgstr "Projectlijst" - -#~ msgid "Exit" -#~ msgstr "Sluiten" - -#~ msgid "Could not execute PVRTC tool:" -#~ msgstr "Kan PVRTC tool niet uitvoeren:" - -#~ msgid "Can't load back converted image using PVRTC tool:" -#~ msgstr "Kan geconverteerd beeld niet laden met de PVRTC tool:" - -#~ msgid "Error initializing FreeType." -#~ msgstr "Error bij het initialiseren van FreeType." - -#~ msgid "Unknown font format." -#~ msgstr "Onbekende lettertype formaat." - -#~ msgid "Error loading font." -#~ msgstr "Fout bij het laden van lettertype." - -#~ msgid "Invalid font size." -#~ msgstr "Ongeldige lettertype grootte." - -#~ msgid "Previous Folder" -#~ msgstr "Vorige Folder" - -#~ msgid "Next Folder" -#~ msgstr "Volgende Folder" - -#, fuzzy -#~ msgid "Open in an external image editor." -#~ msgstr "Open de volgende Editor" - -#~ msgid "Reverse" -#~ msgstr "Omkeren" - -#~ msgid "Mirror X" -#~ msgstr "Spiegel X" - -#~ msgid "Mirror Y" -#~ msgstr "Spiegel Y" - -#, fuzzy -#~ msgid "Failed to create solution." -#~ msgstr "Mislukt om resource te laden." - -#, fuzzy -#~ msgid "Failed to save solution." -#~ msgstr "Mislukt om resource te laden." - -#, fuzzy -#~ msgid "Failed to create C# project." -#~ msgstr "Mislukt om resource te laden." - -#, fuzzy -#~ msgid "Create C# solution" -#~ msgstr "Subscriptie Maken" - -#, fuzzy -#~ msgid "Build Project" -#~ msgstr "Project" - -#, fuzzy -#~ msgid "View log" -#~ msgstr "Bekijk Bestanden" - -#, fuzzy -#~ msgid "Enabled Classes" -#~ msgstr "Zoek Klasses" - -#~ msgid "Update Always" -#~ msgstr "Altijd Updaten" - -#~ msgid "Raw Mode" -#~ msgstr "Raw-modus" - -#~ msgid "Path to Node:" -#~ msgstr "Pad naar Node:" - -#~ msgid "Delete selected files?" -#~ msgstr "Verwijder geselecteerde bestanden?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "Er is geen 'res://default_bus_layout.tres' bestand." - -#~ msgid "Go to parent folder" -#~ msgstr "Ga naar bovenliggende folder" - -#~ msgid "Open Scene(s)" -#~ msgstr "Scene(s) Openen" - -#~ msgid "Previous Directory" -#~ msgstr "Vorige Map" - -#~ msgid "Next Directory" -#~ msgstr "Volgende Map" - -#~ msgid "Ease in" -#~ msgstr "Rustig Aanzetten" - -#~ msgid "Ease out" -#~ msgstr "Rustig Afzetten" - -#~ msgid "Create Convex Static Body" -#~ msgstr "Creëer Convex Statisch Lichaam" - -#, fuzzy -#~ msgid "Create folder" -#~ msgstr "Map Maken" - -#, fuzzy -#~ msgid "Custom Node" -#~ msgstr "Knip Nodes" - -#~ msgid "Invalid Path" -#~ msgstr "Ongeldig Path" - -#, fuzzy -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "Dupliceer Selectie" - -#, fuzzy -#~ msgid "Create Area" -#~ msgstr "Nieuwe Maken" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "Signaal Argumenten Bewerken:" - -#~ msgid "Edit Variable:" -#~ msgstr "Variabele Bewerken:" - -#, fuzzy -#~ msgid "Snap (s): " -#~ msgstr "Stap(pen):" - -#, fuzzy -#~ msgid "Insert keys." -#~ msgstr "Voer Sleutels In" - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "" -#~ "Maak een nieuwe kopie van de geselecteerde scene(s) als kind van de " -#~ "geselecteerde knoop." - -#~ msgid "Font Size:" -#~ msgstr "Lettertypegrootte:" - -#~ msgid "Line:" -#~ msgstr "Regel:" - -#~ msgid "Col:" -#~ msgstr "Kolom:" - -#, fuzzy -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "" -#~ "PathFollow2D werkt alleen wanneer het een kind van een Path2D node is." - -#, fuzzy -#~ msgid "Add Split" -#~ msgstr "Punt toevoegen" - -#, fuzzy -#~ msgid "Invalid Split: " -#~ msgstr "Ongeldig Pad." - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "Punt verwijderen" - -#, fuzzy -#~ msgid "Poly" -#~ msgstr "Bewerk Poly" - -#, fuzzy -#~ msgid "Splits" -#~ msgstr "Splits Pad" - -#, fuzzy -#~ msgid "Add Node.." -#~ msgstr "Node Toevoegen" - -#~ msgid "Create from scene?" -#~ msgstr "Creëer vanuit scene?" - -#~ msgid "Create Poly" -#~ msgstr "Creëer Poly" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "Begin een nieuwe polygoon" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "Uitzoomen" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "Inzoomen" - -#~ msgid "Create Poly3D" -#~ msgstr "Maak Poly3D" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "Geen OccluderPolygon2D resource op deze node.\n" -#~ "Creëer en wijs één toe?" - -#~ msgid "LMB: Move Point." -#~ msgstr "LMB: Verplaats Punt." - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl+LMB: Splits Segment." - -#~ msgid "RMB: Erase Point." -#~ msgstr "RMB: Verwijder Punt." - -#, fuzzy -#~ msgid "New TextFile" -#~ msgstr "Bekijk Bestanden" - -#~ msgid "Save Theme As" -#~ msgstr "Thema Opslaan Als" - -#~ msgid "<None>" -#~ msgstr "<Geen>" - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "Inzoomen" - -#~ msgid "Class List:" -#~ msgstr "Klasse Lijst:" - -#~ msgid "Public Methods" -#~ msgstr "Publieke Methodes" - -#~ msgid "Public Methods:" -#~ msgstr "Publieke Methodes:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "GUI Thema Items:" - -#, fuzzy -#~ msgid "Property: " -#~ msgstr "Eigenschappen:" - -#, fuzzy -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Schakel folder status als Favoriet" - -#, fuzzy -#~ msgid "Show current scene file." -#~ msgstr "Selecteer zojuist bewerkte sub-tegel." - -#, fuzzy -#~ msgid "Whole words" -#~ msgstr "Hele Woorden" - -#, fuzzy -#~ msgid "Match case" -#~ msgstr "Hoofdlettergevoelig" - -#~ msgid "Ok" -#~ msgstr "Oké" - -#~ msgid "Search the class hierarchy." -#~ msgstr "Zoek in de klasse hiërarchie." - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "Zoek Klasses" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "" -#~ "Ingebouwde scripts kunnen alleen ge-edit worden wanneer de bijbehorende " -#~ "scène geladen is" - -#~ msgid "Convert To Uppercase" -#~ msgstr "Converteer Naar Hoofdletters" - -#~ msgid "Convert To Lowercase" -#~ msgstr "Converteer Naar Kleine Letters" - -#~ msgid "Rotate 0 degrees" -#~ msgstr "0 Graden Roteren" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "90 Graden Roteren" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "180 Graden Roteren" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "270 Graden Roteren" - -#~ msgid "Bake!" -#~ msgstr "Bakken!" - -#~ msgid "Bake the navigation mesh." -#~ msgstr "Bak de navigatie mesh." - -#~ msgid "Get" -#~ msgstr "Krijg" - -#~ msgid "Change RGB Constant" -#~ msgstr "Verander RGB Constante" - -#~ msgid "Change Vec Scalar Operator" -#~ msgstr "Verander Vec Scalar Operator" - -#~ msgid "Change RGB Operator" -#~ msgstr "Verander RGB Operator" - -#~ msgid "Toggle Rot Only" -#~ msgstr "Aan/Uit Alleen Rot" - -#~ msgid "Change Vec Function" -#~ msgstr "Verander Vec Functie" - -#~ msgid "Change RGB Uniform" -#~ msgstr "Verander RGB Uniform" - -#~ msgid "Change Default Value" -#~ msgstr "Verander Standaardwaarde" - -#~ msgid "Change XForm Uniform" -#~ msgstr "Verander XForm Uniform" - -#~ msgid "Change Cubemap Uniform" -#~ msgstr "Verander Cubemap Uniform" - -#~ msgid "Change Comment" -#~ msgstr "Verander Commentaar" - -#~ msgid "Add/Remove to Color Ramp" -#~ msgstr "Voeg Toe/Verwijder van Kleur Helling" - -#, fuzzy -#~ msgid "Modify Color Ramp" -#~ msgstr "Wijzig Kleuren Helling" - -#~ msgid "Add/Remove to Curve Map" -#~ msgstr "Voeg Toe/Verwijder van Curve Map" - -#~ msgid "Modify Curve Map" -#~ msgstr "Wijzig Curve Map" - -#~ msgid "Connect Graph Nodes" -#~ msgstr "Verbind Graaf Knooppunten" - -#~ msgid "Remove Shader Graph Node" -#~ msgstr "Verwijder Shader Graaf Knooppunten" - -#~ msgid "Move Shader Graph Node" -#~ msgstr "Verplaats Shader Graaf Knooppunten" - -#~ msgid "Error: Cyclic Connection Link" -#~ msgstr "Fout: Cyclische Connectie Link" - -#~ msgid "Error: Missing Input Connections" -#~ msgstr "Fout: Ontbrekende Input Connecties" - -#~ msgid "Add Shader Graph Node" -#~ msgstr "Voeg Shader Graaf Knooppunt Toe" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Verplaats Anim Track Omhoog" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Verplaats Anim Track Omlaag" - -#~ msgid "Set Transitions to:" -#~ msgstr "Zet Overgangen Naar:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Anim Track Wijzig Interpolatie" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Anim Track Wijzig Waarde Modus" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Anim Track Wijzig Wikkel Modus" - -#~ msgid "Edit Node Curve" -#~ msgstr "Wijzig Node Curve" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Wijzig Selectie Curve" - -#~ msgid "Anim Add Key" -#~ msgstr "Anim Key Toevoegen" - -#~ msgid "In" -#~ msgstr "In" - -#~ msgid "Out" -#~ msgstr "Uit" - -#~ msgid "In-Out" -#~ msgstr "In-Uit" - -#~ msgid "Out-In" -#~ msgstr "Uit-In" - -#~ msgid "Change Anim Loop" -#~ msgstr "Wijzig Anim Lus" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Anim Getypeerd Waarde Key Aanmaken" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Anim Aanroep Track Toevoegen" - -#~ msgid "Length (s):" -#~ msgstr "Lengte(s):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "Cursor stap snap (in seconden)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "In- en uitschakelen van loopen in animatie." - -#~ msgid "Add new tracks." -#~ msgstr "Nieuwe tracks toevoegen." - -#~ msgid "Move current track up." -#~ msgstr "Verplaats huidige track naar boven." - -#~ msgid "Move current track down." -#~ msgstr "Verplaats huidige track naar beneden." - -#~ msgid "Track tools" -#~ msgstr "Spoorgereedschappen" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "" -#~ "Schakel het individueel aanpassen van keys in door op ze te klikken." - -#~ msgid "Key" -#~ msgstr "Sleutel" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Roep Functies Aan in Welke Node?" - -#~ msgid "Thanks!" -#~ msgstr "Bedankt!" - -#~ msgid "I see..." -#~ msgstr "Ik snap het..." - -#~ msgid "Ugh" -#~ msgstr "Oeps" - -#~ msgid "Stop Profiling" -#~ msgstr "Stop Profilering" - -#~ msgid "Start Profiling" -#~ msgstr "Start Profilering" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "Standaard (Dezelfde als Editor)" - -#~ msgid "Create new animation in player." -#~ msgstr "Maak een nieuwe animatie in speler." - -#~ msgid "Load animation from disk." -#~ msgstr "Laad animatie vanuit schijf." - -#~ msgid "Load an animation from disk." -#~ msgstr "Laad een animatie vanuit schijf." - -#~ msgid "Save the current animation" -#~ msgstr "Sla de huidige animatie op" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "Bewerk Doel Mengtijden" - -#~ msgid "Copy Animation" -#~ msgstr "Kopieer Animatie" - -#~ msgid "Fetching:" -#~ msgstr "Ophalen:" - -#~ msgid "prev" -#~ msgstr "vorige" - -#~ msgid "next" -#~ msgstr "volgende" - -#~ msgid "last" -#~ msgstr "laatste" - -#~ msgid "Edit IK Chain" -#~ msgstr "Bewerk IK Ketting" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "Versleep draaipunt vanaf muispositie" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "Plaats pivot bij muispositie" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "Voeg Toe/Verwijder Kleur Hellingspunt" - -#~ msgid "OK :(" -#~ msgstr "OK :(" - -#~ msgid "Texture Region Editor" -#~ msgstr "Textuur Regio Editor" - -#~ msgid "Erase selection" -#~ msgstr "Verwijder Selectie" - -#~ msgid "Item name or ID:" -#~ msgstr "Item naam of identificatiecode:" - -#~ msgid "Export templates for this platform are missing/corrupted: " -#~ msgstr "Exportsjablonen voor dit platform zijn vermist/corrupt: " - -#~ msgid "Condition" -#~ msgstr "Conditie" - -#~ msgid "Sequence" -#~ msgstr "Sequentie" - -#~ msgid "Iterator" -#~ msgstr "Iterator" - -#~ msgid "While" -#~ msgstr "Terwijl" - -#~ msgid "Return" -#~ msgstr "Teruggave" - -#~ msgid "Call" -#~ msgstr "Aanroep" - -#, fuzzy -#~ msgid "Edit Signal" -#~ msgstr "Signaal Bewerken:" - -#, fuzzy -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "Kan niet verbinden met host:" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "Ongeldig version.txt formaat in sjablonen. Revisie is geen geldig " -#~ "identificatienummer." - -#~ msgid "Can't write file." -#~ msgstr "Kan niet naar bestand schrijven." - -#~ msgid "Replace By" -#~ msgstr "Vervangen Door" - -#~ msgid "Backwards" -#~ msgstr "Achterwaarts" - -#~ msgid "Prompt On Replace" -#~ msgstr "Vragen Bij Vervangen" - -#~ msgid "Skip" -#~ msgstr "Overslaan" - -#, fuzzy -#~ msgid "preview" -#~ msgstr "Preview:" - -#~ msgid "Move Add Key" -#~ msgstr "Verplaats Key Toevoegen" - -#~ msgid "List:" -#~ msgstr "Lijst:" - -#, fuzzy -#~ msgid "Add Point to Line2D" -#~ msgstr "Ga naar Regel" - -#~ msgid "Meta+" -#~ msgstr "Meta+" - -#, fuzzy -#~ msgid "Setting '" -#~ msgstr "Aan Het Opzetten..." - -#, fuzzy -#~ msgid "Selection -> Duplicate" -#~ msgstr "Alleen Selectie" - -#, fuzzy -#~ msgid "Selection -> Clear" -#~ msgstr "Alleen Selectie" - -#~ msgid "" -#~ "Path property must point to a valid Viewport node to work. Such Viewport " -#~ "must be set to 'render target' mode." -#~ msgstr "" -#~ "Path eigenschap moet verwijzen naar een geldige Viewport node om te " -#~ "werken. Zo een Viewport moet in 'render target' modus gezet worden." - -#~ msgid "" -#~ "The Viewport set in the path property must be set as 'render target' in " -#~ "order for this sprite to work." -#~ msgstr "" -#~ "De Viewport gegeven in de pad eigenschap moet als 'render target' " -#~ "ingesteld zijn om deze sprite te laten werken." - -#~ msgid "' parsing of config failed." -#~ msgstr "' te activeren. Het configuratiebestand kon niet gelezen worden." - -#~ msgid "Method List For '%s':" -#~ msgstr "Methodelijst voor '%s':" - -#~ msgid "Return:" -#~ msgstr "Teruggave:" - -#~ msgid "Added:" -#~ msgstr "Toegevoegd:" - -#~ msgid "Could not save atlas subtexture:" -#~ msgstr "Kon atlas subtexture niet opslaan:" - -#~ msgid "Setting Up..." -#~ msgstr "Aan Het Opzetten..." - -#~ msgid "Re-Importing" -#~ msgstr "Aan Het Herimporteren" - -#, fuzzy -#~ msgid "Tiles" -#~ msgstr "Bestand:" - -#~ msgid "Ctrl+" -#~ msgstr "Ctrl+" - -#~ msgid "just pressed" -#~ msgstr "reeds ingedrukt" - -#, fuzzy -#~ msgid "" -#~ "Couldn't read the certificate file. Are the path and password both " -#~ "correct?" -#~ msgstr "" -#~ "Kon het certificaat bestand niet lezen. Zijn het pad en wachtwoord beide " -#~ "correct?" - -#~ msgid "Error creating the package signature." -#~ msgstr "Error bij het maken van het pakket signatuur." - -#~ msgid "Node From Scene" -#~ msgstr "Node Uit Scene" - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "" -#~ "Path eigenschap moet verwijzen naar een geldige Particles2D node om te " -#~ "werken." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SamplePlayer to play sound." -#~ msgstr "" -#~ "Een SampleLibrary resource moet gemaakt of gegeven worden in de 'samples' " -#~ "eigenschap om SamplePlayer geluid af te laten spelen." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SpatialSamplePlayer to play sound." -#~ msgstr "" -#~ "Een SampleLibrary resource moet gemaakt of gegeven worden in de 'samples' " -#~ "eigenschap om SpatialSamplePlayer geluid te laten afspelen." - -#, fuzzy -#~ msgid "Replaced %d Ocurrence(s)." -#~ msgstr "%d Voorgekomen Waarde(s) Vervangen." diff --git a/editor/translations/or.po b/editor/translations/or.po index 202b73cddc..a3c1d0fabd 100644 --- a/editor/translations/or.po +++ b/editor/translations/or.po @@ -1,6 +1,6 @@ # Odia translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Pro Neon <proneon267@gmail.com>, 2019. msgid "" @@ -2042,14 +2042,30 @@ msgstr "" msgid "Theme Properties" msgstr "" -#: editor/editor_help.cpp -msgid "Enumerations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "" @@ -8239,18 +8255,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -12779,7 +12783,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12788,6 +12797,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" diff --git a/editor/translations/pl.po b/editor/translations/pl.po index 2ca074c533..a01d15849e 100644 --- a/editor/translations/pl.po +++ b/editor/translations/pl.po @@ -1,6 +1,6 @@ # Polish translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # 8-bit Pixel <dawdejw@gmail.com>, 2016. # Adam Wolanski <adam.wolanski94@gmail.com>, 2017. @@ -2150,14 +2150,31 @@ msgstr "Metody" msgid "Theme Properties" msgstr "Właściwości motywu" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Wyliczenia" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "Kolory" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Stałe" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "Fonty" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "Ikony" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Styles" +msgstr "Styl" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Wyliczenia" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Opisy właściwości" @@ -8598,18 +8615,6 @@ msgid "TextureRegion" msgstr "Obszar tekstury" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "Kolory" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "Fonty" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "Ikony" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "Styleboxy" @@ -13390,8 +13395,17 @@ msgid "\"Use Custom Build\" must be enabled to use the plugins." msgstr "\"Use Custom Build\" musi być włączone, by używać wtyczek." #: platform/android/export/export_plugin.cpp +#, fuzzy msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" +"\"Hand Tracking\" jest poprawne tylko gdy \"Xr Mode\" jest \"Oculus Mobile VR" +"\"." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" "\"Hand Tracking\" jest poprawne tylko gdy \"Xr Mode\" jest \"Oculus Mobile VR" "\"." @@ -13402,6 +13416,25 @@ msgstr "" "\"Eksportuj AAB\" jest ważne tylko gdy \"Use Custom Build\" jest włączone." #: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" +"\"Eksportuj AAB\" jest ważne tylko gdy \"Use Custom Build\" jest włączone." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" +"\"Eksportuj AAB\" jest ważne tylko gdy \"Use Custom Build\" jest włączone." + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " @@ -14594,1942 +14627,3 @@ msgstr "Przypisanie do uniformu." #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Stałe nie mogą być modyfikowane." - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "Utwórz pozę spoczynkową (z kości)" - -#~ msgid "Bottom" -#~ msgstr "Dół" - -#~ msgid "Left" -#~ msgstr "Lewa" - -#~ msgid "Right" -#~ msgstr "Prawa" - -#~ msgid "Front" -#~ msgstr "Przód" - -#~ msgid "Rear" -#~ msgstr "Tył" - -#~ msgid "Nameless gizmo" -#~ msgstr "Uchwyt bez nazwy" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "\"Degrees Of Freedom\" jest poprawne tylko gdy \"Xr Mode\" jest \"Oculus " -#~ "Mobile VR\"." - -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "\"Focus Awareness\" jest poprawne tylko gdy \"Xr Mode\" jest \"Oculus " -#~ "Mobile VR\"." - -#~ msgid "Package Contents:" -#~ msgstr "Zawartość paczki:" - -#~ msgid "Singleton" -#~ msgstr "Singleton" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Usunąć profil \"%s\"? (nieodwracalne)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Włączone właściwości:" - -#~ msgid "Enabled Features:" -#~ msgstr "Włączone funkcjonalności:" - -#~ msgid "Unset" -#~ msgstr "Wymaż" - -#~ msgid "Class Options" -#~ msgstr "Opcje klasy" - -#~ msgid "Set" -#~ msgstr "Ustaw" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Zapisano %s zmodyfikowanych zasobów." - -#~ msgid "Q&A" -#~ msgstr "Pytania i odpowiedzi" - -#~ msgid "Status:" -#~ msgstr "Status:" - -#~ msgid "Edit:" -#~ msgstr "Edytuj:" - -#~ msgid "Redownload" -#~ msgstr "Pobierz ponownie" - -#~ msgid "(Installed)" -#~ msgstr "(Zainstalowano)" - -#~ msgid "(Missing)" -#~ msgstr "(Nie znaleziono)" - -#~ msgid "Request Failed." -#~ msgstr "Żądanie nie powiodło się." - -#~ msgid "Redirect Loop." -#~ msgstr "Pętla przekierowań." - -#~ msgid "Download Complete." -#~ msgstr "Pobieranie zakończone." - -#~ msgid "Remove Template" -#~ msgstr "Usuń szablon" - -#~ msgid "Download Templates" -#~ msgstr "Pobierz szablony eksportu" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "Wybierz serwer z listy: (Shift+Klik: Otwórz w przeglądarce)" - -#~ msgid "Move to Trash" -#~ msgstr "Przenieś do kosza" - -#~ msgid "Expand All Properties" -#~ msgstr "Rozwiń wszystkie właściwości" - -#~ msgid "Collapse All Properties" -#~ msgstr "Zwiń wszystkie właściwości" - -#~ msgid "Copy Params" -#~ msgstr "Kopiuj parametry" - -#~ msgid "Open in Help" -#~ msgstr "Otwórz w Pomocy" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "Przejmij kamerę gry\n" -#~ "Brak uruchomionej instancji gry." - -#~ msgid "Drag: Rotate" -#~ msgstr "Przeciągnij: Obróć" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Wciśnij \"V\" by zmienić punkt zaczepienia (pivot), \"Shift+V\" by " -#~ "przesunąć punkt zaczepienia (podczas poruszania)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+PPM: Wybór listy głębi" - -#~ msgid "Clone Down" -#~ msgstr "Duplikuj linię" - -#~ msgid "Yaw" -#~ msgstr "Odchylenie" - -#~ msgid "Size" -#~ msgstr "Rozmiar" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "Pociągnięcie: Obrót\n" -#~ "Alt+Pociągnięcie: Poruszenie\n" -#~ "Alt+PPM: Lista wyboru głębi" - -#~ msgid "Sep.:" -#~ msgstr "Sep.:" - -#~ msgid "Add All" -#~ msgstr "Dodaj wszystko" - -#~ msgid "Theme editing menu." -#~ msgstr "Menu edycji motywu." - -#~ msgid "Create Empty Template" -#~ msgstr "Utwórz pusty szablon" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "Utwórz pusty szablon edytora" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "Utwórz z aktualnego motywu edytora" - -#~ msgid "Data Type:" -#~ msgstr "Typ danych:" - -#~ msgid "Theme File" -#~ msgstr "Plik motywu" - -#~ msgid "Compiled" -#~ msgstr "Skompilowany" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "Usunąć %d projektów z listy?\n" -#~ "Zawartość folderów projektów nie zostanie zmodyfikowana." - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "Usunąć projekt z listy?\n" -#~ "Zawartość folderu projektu nie zostanie zmodyfikowana." - -#~ msgid "Templates" -#~ msgstr "Szablony" - -#~ msgid "Add Remapped Path" -#~ msgstr "Dodaj zmapowaną ścieżkę" - -#~ msgid "Can not perform with the root node." -#~ msgstr "Nie można tego wykonać z głównym węzłem." - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "Nie można odczytać pliku obrazu splash:" - -#~ msgid "Using default boot splash image." -#~ msgstr "Używam domyślnego obrazka powitalnego." - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "AnimationPlayer nie może animować sam siebie, tylko inne węzły tego typu." - -#~ msgid "Clipboard is empty" -#~ msgstr "Schowek jest pusty" - -#~ msgid "" -#~ "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -#~ msgstr "" -#~ "Węzeł InterpolatedCamera jest przestarzały i będzie usunięty w Godocie " -#~ "4.0." - -#~ msgid "No" -#~ msgstr "Nie" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Ta scena nie została zapisana. Zapisać przed uruchomieniem?" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "Plik wykonywalny ADB nie skonfigurowany w Ustawieniach Edytora." - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "Jarsigner OpenJDK nie skonfigurowany w Ustawieniach Edytora." - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "" -#~ "Własny build wymaga poprawnej ścieżki do SDK Androida w Ustawieniach " -#~ "Edytora." - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(Pozostały czas: %d:%02d s)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "Kreślenie siatek: " - -#~ msgid "Lighting Meshes: " -#~ msgstr "Oświetlanie siatek: " - -#~ msgid "Search complete" -#~ msgstr "Wyszukiwanie zakończone" - -#~ msgid "No commit message was provided" -#~ msgstr "Nie podano wiadomości commitu" - -#~ msgid "Add a commit message" -#~ msgstr "Dodaj wiadomość comittu" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "W tej lokalizacji istnieje już plik lub folder o podanej nazwie." - -#~ msgid "Unable to complete APK alignment." -#~ msgstr "Nie udało się ukończyć uzgadniania APK." - -#~ msgid "Unable to delete unaligned APK." -#~ msgstr "Nie udało się usunąć nieuzgodnionego APK." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Błąd podczas zapisu układu!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Domyślny układ edytora został nadpisany." - -#~ msgid "Move pivot" -#~ msgstr "Przesuń oś" - -#~ msgid "Move anchor" -#~ msgstr "Przesuń zakotwiczenie" - -#~ msgid "Resize CanvasItem" -#~ msgstr "Zmień rozmiar CanvasItem" - -#~ msgid "Polygon->UV" -#~ msgstr "Wielokąt->UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV->Wielokąt" - -#~ msgid "Add initial export..." -#~ msgstr "Dodaj wstępny eksport..." - -#~ msgid "Add previous patches..." -#~ msgstr "Dodaj poprzednie łatki..." - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "Usunąć ścieżkę \"%s\" z listy?" - -#~ msgid "Patches" -#~ msgstr "Łatki" - -#~ msgid "Make Patch" -#~ msgstr "Utwórz ścieżkę" - -#~ msgid "Pack File" -#~ msgstr "Plik paczki" - -#~ msgid "No build apk generated at: " -#~ msgstr "Nie wygenerowano budowanego apk w: " - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "Doki systemu plików i importowania" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "Podczas eksportu lub uruchomienia, aplikacja wynikowa spróbuje połączyć " -#~ "się z adresem IP tego komputera w celu debugowania." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "" -#~ "Aktualna scena nie została zapisana, proszę zapisać scenę przed " -#~ "uruchomieniem." - -#~ msgid "Revert" -#~ msgstr "Przywróć" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Tego nie można cofnąć. Przywrócić mimo to?" - -#~ msgid "Revert Scene" -#~ msgstr "Przywróć scenę" - -#~ msgid "Clear Script" -#~ msgstr "Usuń skrypt" - -#~ msgid "Issue Tracker" -#~ msgstr "Lista problemów" - -#~ msgid "Request Docs" -#~ msgstr "Poproś o dokumentację" - -#~ msgid "Help improve the Godot documentation by giving feedback." -#~ msgstr "Pomóż polepszyć dokumentację Godota przesyłając opinię." - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "Zastąpiono %d wystąpień." - -#~ msgid "Create Static Convex Body" -#~ msgstr "Stwórz statycznych ciało wypukłe" - -#~ msgid "Failed creating shapes!" -#~ msgstr "Tworzenie kształtów nieudane!" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Obecnie nie ma żadnych samouczków dla tej klasy, możesz [color=$color]" -#~ "[url=$url]dodać jeden[/url][/color] lub [color=$color][url=$url2]poprosić " -#~ "o jakiś[/url][/color]." - -#~ msgid "enum " -#~ msgstr "enum " - -#~ msgid "Brief Description" -#~ msgstr "Krótki opis" - -#~ msgid "Class Description" -#~ msgstr "Opis klasy" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "Eksport projektu nie powiódł się, kod błędu to %d." - -#~ msgid "Password:" -#~ msgstr "Hasło:" - -#~ msgid "Identifier segments must be of non-zero length." -#~ msgstr "Segmenty identyfikatora muszą mieć niezerową długość." - -#~ msgid "A digit cannot be the first character in a Identifier segment." -#~ msgstr "Cyfra nie może być pierwszym znakiem w segmencie identyfikatora." - -#~ msgid "" -#~ "The character '%s' cannot be the first character in a Identifier segment." -#~ msgstr "" -#~ "Znak \"%s\" nie może być pierwszym znakiem w segmencie identyfikatora." - -#~ msgid "The Identifier must have at least one '.' separator." -#~ msgstr "Identyfikator musi mieć co najmniej jedną kropkę jako separator." - -#~ msgid "Pause the scene" -#~ msgstr "Zapauzuj scenę" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Control+" -#~ msgstr "Control+" - -#~ msgid "Snap to Grid" -#~ msgstr "Przyciągaj do siatki" - -#~ msgid "Add input +" -#~ msgstr "Dodaj wejście+" - -#~ msgid "Language" -#~ msgstr "Język" - -#~ msgid "Inherits" -#~ msgstr "Dziedziczy" - -#~ msgid "Base Type:" -#~ msgstr "Typ bazowy:" - -#~ msgid "Available Nodes:" -#~ msgstr "Dostępne węzły:" - -#~ msgid "Input" -#~ msgstr "Wejście" - -#~ msgid "Methods:" -#~ msgstr "Metody:" - -#~ msgid "Theme Properties:" -#~ msgstr "Właściwości motywu:" - -#~ msgid "Enumerations:" -#~ msgstr "Wyliczenia:" - -#~ msgid "Constants:" -#~ msgstr "Stałe:" - -#~ msgid "Class Description:" -#~ msgstr "Opis klasy:" - -#~ msgid "Property Descriptions:" -#~ msgstr "Opisy właściwości:" - -#~ msgid "Method Descriptions:" -#~ msgstr "Opisy metod:" - -#~ msgid "" -#~ "This will install the Android project for custom builds.\n" -#~ "Note that, in order to use it, it needs to be enabled per export preset." -#~ msgstr "" -#~ "To zainstaluje projekt Androida dla dostosowanych wydań.\n" -#~ "W celu użycia go, musi zostać dołączony do każdego profilu eksportu." - -#~ msgid "Reverse sorting." -#~ msgstr "Odwróć sortowanie." - -#~ msgid "Delete Node(s)?" -#~ msgstr "Usuń węzeł(y)?" - -#~ msgid "No Matches" -#~ msgstr "Nie znaleziono" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "Nie udało się otworzyć pliku file_type_cache.cch do zapisu, pamięć " -#~ "podręczna typu plików nie będzie zapisana!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "Nie można przejść do \"%s\" - nie znaleziono w tym systemie plików!" - -#~ msgid "Error loading image:" -#~ msgstr "Błąd wczytywania obrazu:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "Brak pikseli z przeźroczystością > 128 w obrazie..." - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "Rodzic nie ma stałych powierzchni do zapełnienia." - -#~ msgid "Couldn't map area." -#~ msgstr "Nie można zmapować obszaru." - -#~ msgid "Faces contain no area!" -#~ msgstr "Ściana nie ma powierzchni!" - -#~ msgid "No faces!" -#~ msgstr "Brak ścian!" - -#~ msgid "Error: could not load file." -#~ msgstr "Błąd: nie udało się wczytać pliku." - -#~ msgid "Error could not load file." -#~ msgstr "Błąd nie udało się wczytać pliku." - -#~ msgid "Doppler Enable" -#~ msgstr "Efekt Dopplera" - -#~ msgid "Select Mode (Q)" -#~ msgstr "Tryb zaznaczenia (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "Tryb Przesuwania (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "Tryb Rotacji (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "Tryb skalowania (R)" - -#~ msgid "Local Coords" -#~ msgstr "Lokalne koordynaty" - -#~ msgid "Snap Mode (%s)" -#~ msgstr "Tryb przyciągania (%s)" - -#~ msgid "Tool Select" -#~ msgstr "Narzędzie wyboru" - -#~ msgid "Tool Move" -#~ msgstr "Narzędzie poruszania" - -#~ msgid "Tool Rotate" -#~ msgstr "Narzędzie obracania" - -#~ msgid "Tool Scale" -#~ msgstr "Narzędzie skalowania" - -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "" -#~ "Usunąć wszystkie brakujące projekty z listy? (Zawartość folderów nie " -#~ "zostanie zmodyfikowana)" - -#~ msgid "Project List" -#~ msgstr "Lista projektów" - -#~ msgid "Exit" -#~ msgstr "Wyjdź" - -#~ msgid "Could not execute PVRTC tool:" -#~ msgstr "Nie można wykonać narzędzia PVRTC:" - -#~ msgid "Can't load back converted image using PVRTC tool:" -#~ msgstr "" -#~ "Nie można załadować przekonwertowanego obrazka używając narzędzia PVRTC:" - -#~ msgid "Error initializing FreeType." -#~ msgstr "Błąd przy inicjalizacji FreeType." - -#~ msgid "Unknown font format." -#~ msgstr "Nieznany format czcionki." - -#~ msgid "Error loading font." -#~ msgstr "Błąd ładowania fonta." - -#~ msgid "Invalid font size." -#~ msgstr "Niepoprawny rozmiar fonta." - -#~ msgid "Previous Folder" -#~ msgstr "Poprzedni folder" - -#~ msgid "Next Folder" -#~ msgstr "Następny folder" - -#~ msgid "Automatically Open Screenshots" -#~ msgstr "Automatycznie otwórz zrzuty ekranu" - -#~ msgid "Open in an external image editor." -#~ msgstr "Otwórz w zewnętrznym edytorze obrazów." - -#~ msgid "Reverse" -#~ msgstr "Odwróć" - -#~ msgid "Mirror X" -#~ msgstr "Odbij X" - -#~ msgid "Mirror Y" -#~ msgstr "Odbij Y" - -#~ msgid "Generating solution..." -#~ msgstr "Generowanie solucji..." - -#~ msgid "Generating C# project..." -#~ msgstr "Generowanie projektu C#..." - -#~ msgid "Failed to create solution." -#~ msgstr "Nie udało się stworzyć solucji." - -#~ msgid "Failed to save solution." -#~ msgstr "Nie udało się zapisać solucji." - -#~ msgid "Failed to create C# project." -#~ msgstr "Nie udało się utworzyć projektu języka C#." - -#~ msgid "Mono" -#~ msgstr "Mono" - -#~ msgid "About C# support" -#~ msgstr "O wsparciu języka C#" - -#~ msgid "Create C# solution" -#~ msgstr "Utwórz solucję C#" - -#~ msgid "Builds" -#~ msgstr "Wydania" - -#~ msgid "Build Project" -#~ msgstr "Zbuduj projekt" - -#~ msgid "View log" -#~ msgstr "Pokaż logi" - -#~ msgid "WorldEnvironment needs an Environment resource." -#~ msgstr "WorldEnvironment wymaga zasobu Environment." - -#~ msgid "Enabled Classes" -#~ msgstr "Włączone klasy" - -#~ msgid "Update Always" -#~ msgstr "Zawsze Odświeżaj" - -#~ msgid "'camera' input parameter for all shader modes." -#~ msgstr "Parametr wejściowy \"camera\" dla wszystkich trybów shadera." - -#~ msgid "'inv_camera' input parameter for all shader modes." -#~ msgstr "Parametr wejściowy \"inv_camera\" dla wszystkich trybów shadera." - -#~ msgid "'inv_projection' input parameter for all shader modes." -#~ msgstr "" -#~ "Parametr wejściowy \"inv_projection\" dla wszystkich trybów shadera." - -#~ msgid "'normal' input parameter for all shader modes." -#~ msgstr "Parametr wejściowy \"normal\" dla wszystkich trybów shadera." - -#~ msgid "'projection' input parameter for all shader modes." -#~ msgstr "Parametr wejściowy \"projection\" dla wszystkich trybów shadera." - -#~ msgid "'time' input parameter for all shader modes." -#~ msgstr "Parametr wejściowy \"time\" dla wszystkich trybów shadera." - -#~ msgid "'viewport_size' input parameter for all shader modes." -#~ msgstr "Parametr wejściowy \"viewport_size\" dla wszystkich trybów shadera." - -#~ msgid "'world' input parameter for all shader modes." -#~ msgstr "Parametr wejściowy \"world\" dla wszystkich trybów shadera." - -#~ msgid "'alpha' input parameter for all shader modes." -#~ msgstr "Parametr wejściowy \"alpha\" dla wszystkich trybów shadera." - -#~ msgid "'color' input parameter for all shader modes." -#~ msgstr "Parametr wejściowy \"color\" dla wszystkich trybów shadera." - -#~ msgid "'texture_pixel_size' input parameter for all shader modes." -#~ msgstr "" -#~ "Parametr wejściowy \"texture_pixel_size\" dla wszystkich trybów shadera." - -#~ msgid "Raw Mode" -#~ msgstr "Trybie RAW" - -#~ msgid "Path to Node:" -#~ msgstr "Ścieżka do węzła:" - -#~ msgid "Delete selected files?" -#~ msgstr "Usunąć zaznaczone pliki?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "Plik 'res://default_bus_layout.tres' nie istnieje." - -#~ msgid "Go to parent folder" -#~ msgstr "Przejdź folder wyżej" - -#~ msgid "Open Scene(s)" -#~ msgstr "Otwórz scenę/y" - -#~ msgid "Previous Directory" -#~ msgstr "Poprzedni katalog" - -#~ msgid "Next Directory" -#~ msgstr "Następny folder" - -#~ msgid "Ease in" -#~ msgstr "Łagodne wejście" - -#~ msgid "Ease out" -#~ msgstr "Łagodne wyjście" - -#~ msgid "Create Convex Static Body" -#~ msgstr "Utwórz statyczne ciało wypukłe" - -#~ msgid "CheckBox Radio1" -#~ msgstr "CheckBox Radio1" - -#~ msgid "CheckBox Radio2" -#~ msgstr "CheckBox Radio2" - -#~ msgid "Create folder" -#~ msgstr "Utwórz katalog" - -#~ msgid "Custom Node" -#~ msgstr "Inny węzeł" - -#~ msgid "Invalid Path" -#~ msgstr "Nieprawidłowa ścieżka" - -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "GridMap duplikuj zaznaczenie" - -#~ msgid "Create Area" -#~ msgstr "Utwórz obszar" - -#~ msgid "Create Exterior Connector" -#~ msgstr "Utwórz łącznik zewnętrzny" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "Edytuj argumenty sygnału:" - -#~ msgid "Edit Variable:" -#~ msgstr "Edytuj zmienną:" - -#~ msgid "Snap (s): " -#~ msgstr "Przyciąganie (s): " - -#~ msgid "Insert keys." -#~ msgstr "Wstaw klucze." - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "Utwórz instancję wybranej sceny/scen jako dziecko wybranego węzła." - -#~ msgid "Font Size:" -#~ msgstr "Rozmiar czcionki:" - -#~ msgid "Line:" -#~ msgstr "Linia:" - -#~ msgid "Col:" -#~ msgstr "Kolumna:" - -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "OrientedPathFollow działa tylko, gdy jest węzłem podrzędnym Path." - -#~ msgid "Split point with itself." -#~ msgstr "Podziel punkt ze sobą." - -#~ msgid "Split can't form an existing edge." -#~ msgstr "Podział nie może uformować istniejącej krawędzi." - -#~ msgid "Add Split" -#~ msgstr "Dodaj podział" - -#~ msgid "Invalid Split: " -#~ msgstr "Niepoprawny podział: " - -#~ msgid "Remove Split" -#~ msgstr "Usuń podział" - -#~ msgid "Poly" -#~ msgstr "Wielokąt" - -#~ msgid "Splits" -#~ msgstr "Podziały" - -#, fuzzy -#~ msgid "Connect two points to make a split." -#~ msgstr "Połącz dwa punkty, by utworzyć podział." - -#~ msgid "Add Node.." -#~ msgstr "Dodaj węzeł..." - -#~ msgid "Create from scene?" -#~ msgstr "Utwórz ze sceny?" - -#~ msgid "Create Poly" -#~ msgstr "Utwórz Polygon" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "Utwórz nowy wielokąt od zera" - -#~ msgid "Zoom out" -#~ msgstr "Pomniejsz" - -#~ msgid "Zoom in" -#~ msgstr "Powiększ" - -#~ msgid "Create Poly3D" -#~ msgstr "Stwórz Poly3D" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "Brak zasobu OccluderPolygon2D w tym węźle.\n" -#~ "Stworzyć i przypisać nowy?" - -#~ msgid "LMB: Move Point." -#~ msgstr "LMB: Przesuń Punkt." - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl + LPM: Podziału segmentu." - -#~ msgid "RMB: Erase Point." -#~ msgstr "RMB: Wymaż Punkt." - -#~ msgid "New TextFile" -#~ msgstr "Nowy plik tekstowy" - -#~ msgid "Save Theme As" -#~ msgstr "Zapisz motyw jako" - -#~ msgid "<None>" -#~ msgstr "<żaden>" - -#~ msgid "" -#~ "Select sub-tile to use as icon, this will be also used on invalid " -#~ "autotile bindings." -#~ msgstr "" -#~ "Wybierz pod-kafelek do użycia jako ikona. Zostanie on użyty również do " -#~ "niewłaściwych ustawień autokafelków." - -#~ msgid "Zoom:" -#~ msgstr "Powiększenie:" - -#~ msgid "Are you sure you want to remove all connections from the \"" -#~ msgstr "Na pewno chcesz usunąć wszystkie połączenia z \"" - -#~ msgid "Class List:" -#~ msgstr "Lista klas:" - -#~ msgid "Public Methods" -#~ msgstr "Metody publiczne" - -#~ msgid "Public Methods:" -#~ msgstr "Metody publiczne:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "Elementy motywu GUI:" - -#~ msgid "Property: " -#~ msgstr "Właściwość: " - -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Ustaw status folderu jako Ulubiony." - -#~ msgid "Show current scene file." -#~ msgstr "Pokaż plik aktualnej sceny." - -#~ msgid "Enter tree-view." -#~ msgstr "Wejdź w widok drzewa." - -#~ msgid "Whole words" -#~ msgstr "Całe wyrazy" - -#~ msgid "Match case" -#~ msgstr "Uwzględnij wielkość liter" - -#~ msgid "Ok" -#~ msgstr "Ok" - -#~ msgid "Show In File System" -#~ msgstr "Pokaż w systemie plików" - -#~ msgid "Search the class hierarchy." -#~ msgstr "Szukaj w hierarchii klas." - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "Przeszukaj klasy" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "" -#~ "Wbudowane skrypty mogą być edytowane tylko po załadowaniu sceny, do " -#~ "której należą" - -#, fuzzy -#~ msgid "Convert To Uppercase" -#~ msgstr "Wielkie litery" - -#~ msgid "Convert To Lowercase" -#~ msgstr "Małe litery" - -#~ msgid "Rotate 0 degrees" -#~ msgstr "Obróć o 0 stopni" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "Obróć o 90 stopni" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "Obróć o 180 stopni" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "Obróć o 270 stopni" - -#~ msgid "Errors:" -#~ msgstr "Błędy:" - -#~ msgid "Stack Trace (if applicable):" -#~ msgstr "Śledzenie stosu (jeśli dotyczy):" - -#, fuzzy -#~ msgid "Bake!" -#~ msgstr "Nanieś!" - -#, fuzzy -#~ msgid "Bake the navigation mesh." -#~ msgstr "Nanieś siatkę nawigacji.\n" - -#, fuzzy -#~ msgid "Get" -#~ msgstr "Pobierz" - -#~ msgid "Change RGB Constant" -#~ msgstr "Zmień stałą RGB" - -#~ msgid "Change Vec Scalar Operator" -#~ msgstr "Zmień operator Vec Scalar" - -#~ msgid "Change RGB Operator" -#~ msgstr "Zmień operator RGB" - -#~ msgid "Toggle Rot Only" -#~ msgstr "Przełącz tylko rotacje" - -#~ msgid "Change Vec Function" -#~ msgstr "Zmień funkcję wektorową" - -#~ msgid "Change Default Value" -#~ msgstr "Zmień Wartość Domyślną" - -#~ msgid "Change Comment" -#~ msgstr "Zmień komentarz" - -#~ msgid "Modify Color Ramp" -#~ msgstr "Modyfikuj Color Ramp" - -#~ msgid "Add/Remove to Curve Map" -#~ msgstr "Dodaj/Usuń do mapy krzywej" - -#~ msgid "Modify Curve Map" -#~ msgstr "Edytuj mape krzywej" - -#~ msgid "Connect Graph Nodes" -#~ msgstr "Połącz węzły grafu" - -#~ msgid "Remove Shader Graph Node" -#~ msgstr "Usuń węzeł Shader Graph" - -#~ msgid "Duplicate Graph Node(s)" -#~ msgstr "Duplikuj węzły grafu" - -#~ msgid "Error: Missing Input Connections" -#~ msgstr "Błąd: Brakujące połączenia wejścia" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Przesuń ścieżkę animacji w górę" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Przesuń ścieżkę animacji w dół" - -#~ msgid "Set Transitions to:" -#~ msgstr "Ustaw przejścia na:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Zmień funkcję interpolacji animacji" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Zmień tryb wartości animacji" - -#, fuzzy -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Ścieżka Animacji - Zmień Tryb Zawijania" - -#~ msgid "Edit Node Curve" -#~ msgstr "Edytuj krzywe" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Edytuj krzywą selekcji" - -#~ msgid "Anim Add Key" -#~ msgstr "Dodaj klucz animacji" - -#~ msgid "In" -#~ msgstr "We." - -#~ msgid "Out" -#~ msgstr "Wy." - -#~ msgid "In-Out" -#~ msgstr "We-Wy" - -#~ msgid "Out-In" -#~ msgstr "Wy-We" - -#~ msgid "Change Anim Len" -#~ msgstr "Zmień długość animacji" - -#~ msgid "Change Anim Loop" -#~ msgstr "Zmień pętlę animacji" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Utwórz klucz dla wpisanej wartości" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Dodaj ścieżkę wywołania funkcji" - -#~ msgid "Length (s):" -#~ msgstr "Długość:" - -#~ msgid "Step (s):" -#~ msgstr "Krok:" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "Krok kursora (w sekundach)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Włącz/Wyłącz zapętlenie animacji." - -#~ msgid "Add new tracks." -#~ msgstr "Dodaj nowe ścieżki." - -#~ msgid "Move current track up." -#~ msgstr "Przesuń wybraną ścieżkę do góry." - -#~ msgid "Move current track down." -#~ msgstr "Przesuń wybraną ścieżkę w dół." - -#~ msgid "Track tools" -#~ msgstr "Narzędzia ścieżki" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Włączenie edycji pojedynczych kluczy poprzez kliknięcie na nie." - -#~ msgid "Key" -#~ msgstr "Klucz" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Z którego węzła wywołać funkcję?" - -#~ msgid "Thanks!" -#~ msgstr "Dzięki!" - -#~ msgid "I see..." -#~ msgstr "Widzę..." - -#~ msgid "Ugh" -#~ msgstr "Błąd" - -#~ msgid "Run Script" -#~ msgstr "Uruchom skrypt" - -#~ msgid "Stop Profiling" -#~ msgstr "Zatrzymaj profilowanie" - -#~ msgid "Start Profiling" -#~ msgstr "Rozpocznij profilowanie" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "Damyślny(Same as Editor)" - -#~ msgid "Create new animation in player." -#~ msgstr "Stwórz nową animację." - -#~ msgid "Load animation from disk." -#~ msgstr "Wczytaj animację z dysku." - -#~ msgid "Load an animation from disk." -#~ msgstr "Wczytaj animacje z dysku." - -#~ msgid "Save the current animation" -#~ msgstr "Zapisz wybraną animacje" - -#, fuzzy -#~ msgid "Edit Target Blend Times" -#~ msgstr "Edytuj Czas Trwania Przejścia Celu" - -#~ msgid "Copy Animation" -#~ msgstr "Skopiuj animacje" - -#~ msgid "Fetching:" -#~ msgstr "Pobieranie:" - -#~ msgid "prev" -#~ msgstr "poprzedni" - -#~ msgid "next" -#~ msgstr "następny" - -#~ msgid "last" -#~ msgstr "ostatni" - -#~ msgid "Edit IK Chain" -#~ msgstr "Edytuj łańcuch IK" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "Przeciągnij oś z pozycji myszy" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "Ustaw pivot w pozycji myszy" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "Dodaj/Usuń punkty w Color Ramp" - -#~ msgid "OK :(" -#~ msgstr "OK :(" - -#~ msgid "StyleBox Preview:" -#~ msgstr "Podgląd StyleBox:" - -#~ msgid "Texture Region Editor" -#~ msgstr "Edytor regionu tekstury" - -#~ msgid "Erase selection" -#~ msgstr "Usuń zaznaczenie" - -#~ msgid "Item name or ID:" -#~ msgstr "Nazwa elementu lub ID:" - -#~ msgid "Export templates for this platform are missing/corrupted: " -#~ msgstr "Brakuje/Uszkodzone szablony eksportu dla tej platformy: " - -#~ msgid "Button 8" -#~ msgstr "Przycisk 8" - -#~ msgid "Button 9" -#~ msgstr "Przycisk 9" - -#~ msgid "Discard Instancing" -#~ msgstr "Odrzuć instancjonowanie" - -#~ msgid "Clear!" -#~ msgstr "Czysto!" - -#~ msgid "Toggle Spatial Visible" -#~ msgstr "Przełącz widoczność Spatial" - -#~ msgid "Condition" -#~ msgstr "Warunek" - -#~ msgid "Sequence" -#~ msgstr "Sekwencja" - -#~ msgid "Switch" -#~ msgstr "Przełącznik" - -#~ msgid "Iterator" -#~ msgstr "Iterator" - -#~ msgid "While" -#~ msgstr "While" - -#~ msgid "Return" -#~ msgstr "Zwraca" - -#~ msgid "Call" -#~ msgstr "Wywołanie" - -#~ msgid "Edit Variable" -#~ msgstr "Edytuj zmienną" - -#~ msgid "Edit Signal" -#~ msgstr "Edytuj sygnał" - -#~ msgid "Invalid action (anything goes but '/' or ':')." -#~ msgstr "Nieprawidłowa akcja (wszystko oprócz '/' lub ':')." - -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "Nie może zawierać '/ 'lub':'" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "nieprawidłowy format pliku version.txt wewnątrz szablonów. Zmiana nie " -#~ "jest prawidłowym identyfikatorem." - -#~ msgid "Can't write file." -#~ msgstr "Nie można zapisać pliku." - -#~ msgid "Couldn't get project.godot in project path." -#~ msgstr "Nie można było utworzyć engine.cfg w ścieżce projektu." - -#~ msgid "Replace By" -#~ msgstr "Zastąp przez" - -#~ msgid "Backwards" -#~ msgstr "Wstecz" - -#~ msgid "Prompt On Replace" -#~ msgstr "Zaptytaj przy zastąpieniu" - -#~ msgid "Skip" -#~ msgstr "Pomiń" - -#~ msgid "" -#~ "Your project will be created in a non empty folder (you might want to " -#~ "create a new folder)." -#~ msgstr "" -#~ "Twój projekt zostanie utworzony w niepustym folderze (możesz chcieć " -#~ "stworzyć nowy folder)." - -#~ msgid "That's a BINGO!" -#~ msgstr "BINGO!" - -#, fuzzy -#~ msgid "preview" -#~ msgstr "Podgląd" - -#~ msgid "Move Add Key" -#~ msgstr "Przemieszczono/Dodano klucz" - -#~ msgid "Create Subscription" -#~ msgstr "Utwórz subskrypcję" - -#~ msgid "List:" -#~ msgstr "Lista:" - -#~ msgid "Set Emission Mask" -#~ msgstr "Ustaw maskę emisji" - -#~ msgid "Clear Emitter" -#~ msgstr "Wyczyść Emiter" - -#~ msgid " " -#~ msgstr " " - -#~ msgid "Sections:" -#~ msgstr "Kategorie:" - -#~ msgid "Cannot navigate to '" -#~ msgstr "Nie można przejść do '" - -#, fuzzy -#~ msgid "" -#~ "\n" -#~ "Source: " -#~ msgstr "Źródło:" - -#, fuzzy -#~ msgid "Remove Point from Line2D" -#~ msgstr "Usuń punkt ścieżki" - -#, fuzzy -#~ msgid "Add Point to Line2D" -#~ msgstr "Idź do lini" - -#, fuzzy -#~ msgid "Move Point in Line2D" -#~ msgstr "Przesuń Punkt" - -#, fuzzy -#~ msgid "Split Segment (in line)" -#~ msgstr "Podziel Segment (na krzywej)" - -#~ msgid "Meta+" -#~ msgstr "Meta+" - -#, fuzzy -#~ msgid "Setting '" -#~ msgstr "Ustawienia" - -#~ msgid "Remote Inspector" -#~ msgstr "Zdalny inspektor" - -#~ msgid "Remote Object Properties: " -#~ msgstr "Właściwości zdalnego obiektu: " - -#, fuzzy -#~ msgid "Selection -> Duplicate" -#~ msgstr "Tylko zaznaczenie" - -#, fuzzy -#~ msgid "Selection -> Clear" -#~ msgstr "Tylko zaznaczenie" - -#, fuzzy -#~ msgid "" -#~ "Path property must point to a valid Viewport node to work. Such Viewport " -#~ "must be set to 'render target' mode." -#~ msgstr "" -#~ "Aby zadziałało, pole Path musi wskazywać na obiekt Viewport, który ma " -#~ "zaznaczoną opcję trybu Render Target." - -#~ msgid "" -#~ "The Viewport set in the path property must be set as 'render target' in " -#~ "order for this sprite to work." -#~ msgstr "" -#~ "Pole trybu Render Target musi być ustawione w Viewport wskazywanym przez " -#~ "pole Path, aby ten Sprite mógł zadziałać." - -#~ msgid "Method List For '%s':" -#~ msgstr "Lista metod '%s':" - -#~ msgid "Return:" -#~ msgstr "Zwraca:" - -#~ msgid "Added:" -#~ msgstr "Dodane:" - -#~ msgid "Could not save atlas subtexture:" -#~ msgstr "Nie udało się zapisać tekstury atlasu:" - -#~ msgid "Setting Up..." -#~ msgstr "Konfigurowanie ..." - -#~ msgid "Error loading scene." -#~ msgstr "Błąd ładowania sceny." - -#~ msgid "Re-Import" -#~ msgstr "Importuj ponownie" - -#~ msgid "Please wait for scan to complete." -#~ msgstr "Proszę poczekać na zakończenie skanowania." - -#~ msgid "Current scene must be saved to re-import." -#~ msgstr "Bieżąca scena musi być zapisana aby ponownie zaimportować." - -#~ msgid "Re-Importing" -#~ msgstr "Prze-Importowanie" - -#~ msgid "Re-Import Changed Resources" -#~ msgstr "Zaimportuj ponownie zmienione zasoby" - -#, fuzzy -#~ msgid "" -#~ "\n" -#~ "Status: Needs Re-Import" -#~ msgstr "Zapisz i importuj ponownie" - -#, fuzzy -#~ msgid "Same source and destination files, doing nothing." -#~ msgstr "Pliki źródłowe i docelowe są te same, nie podjęto żadnej akcji." - -#~ msgid "Same source and destination paths, doing nothing." -#~ msgstr "" -#~ "Ścieżki źródłowa i docelowa są takie same, żadna akcja nie została " -#~ "wykonana." - -#, fuzzy -#~ msgid "Can't move directories to within themselves." -#~ msgstr "Nie możesz przenieść danego katalogu do jego wnętrza." - -#~ msgid "Pick New Name and Location For:" -#~ msgstr "Wybierz nową nazwę i lokację dla:" - -#~ msgid "Info" -#~ msgstr "Informacje" - -#~ msgid "No bit masks to import!" -#~ msgstr "Brak mask bitowych do zaimportowania!" - -#~ msgid "Target path is empty." -#~ msgstr "Docelowa ścieżka jest pusta." - -#~ msgid "Target path must be a complete resource path." -#~ msgstr "Ścieżka docelowa musi być bezwzględna." - -#~ msgid "Target path must exist." -#~ msgstr "Docelowa ścieżka musi istnieć." - -#~ msgid "Import BitMasks" -#~ msgstr "Importuj BitMasks" - -#~ msgid "Source Texture(s):" -#~ msgstr "Źródło tekstury:" - -#~ msgid "Target Path:" -#~ msgstr "Ścieżka docelowa:" - -#~ msgid "Accept" -#~ msgstr "Akceptuj" - -#~ msgid "Bit Mask" -#~ msgstr "BitMask" - -#~ msgid "No source font file!" -#~ msgstr "Brak pliku źródłowego fontu!" - -#~ msgid "No target font resource!" -#~ msgstr "Brak docelowego zasobu fontu!" - -#, fuzzy -#~ msgid "" -#~ "Invalid file extension.\n" -#~ "Please use .font." -#~ msgstr "" -#~ "Błędne rozszerzenie pliku.\n" -#~ "Proszę użyć .fnt." - -#~ msgid "Couldn't save font." -#~ msgstr "Nie udało się zapisać fontu." - -#~ msgid "Source Font:" -#~ msgstr "Źródło fontu:" - -#~ msgid "Dest Resource:" -#~ msgstr "Zasób docelowy:" - -#~ msgid "The quick brown fox jumps over the lazy dog." -#~ msgstr "ŻżŹźĆćŃńĄąŁłĘęÓó." - -#~ msgid "Test:" -#~ msgstr "Test:" - -#~ msgid "Options:" -#~ msgstr "Opcje:" - -#~ msgid "Font Import" -#~ msgstr "Import fontu" - -#~ msgid "" -#~ "This file is already a Godot font file, please supply a BMFont type file " -#~ "instead." -#~ msgstr "" -#~ "Ten plik jest już plikiem fontu Godot, proszę podać plik typu BMFont." - -#~ msgid "Failed opening as BMFont file." -#~ msgstr "Nie powiodło się, otwarcie pliku jako BMFont." - -#~ msgid "Invalid font custom source." -#~ msgstr "Nie rozpoznano typu fontu." - -#~ msgid "No meshes to import!" -#~ msgstr "Brak siatek do zaimportowania!" - -#~ msgid "Single Mesh Import" -#~ msgstr "Importuj Mesh" - -#~ msgid "Source Mesh(es):" -#~ msgstr "Źródło Mesh:" - -#~ msgid "Surface %d" -#~ msgstr "Powierzchnia %d" - -#~ msgid "No samples to import!" -#~ msgstr "Brak sampli do importu!" - -#~ msgid "Import Audio Samples" -#~ msgstr "Importuj pliki dźwiękowe" - -#~ msgid "Source Sample(s):" -#~ msgstr "Źródło dźwięku:" - -#~ msgid "Audio Sample" -#~ msgstr "Dźwięk" - -#~ msgid "New Clip" -#~ msgstr "Nowy klip" - -#~ msgid "Flags" -#~ msgstr "Flagi" - -#~ msgid "Bake FPS:" -#~ msgstr "Wypal FPS:" - -#~ msgid "Optimizer" -#~ msgstr "Optymalizator" - -#~ msgid "Max Linear Error" -#~ msgstr "Maksymalny błąd liniowy" - -#~ msgid "Max Angular Error" -#~ msgstr "Maksymalny błąd kątowy" - -#~ msgid "Max Angle" -#~ msgstr "Maksymalny Kąt" - -#~ msgid "Start(s)" -#~ msgstr "Start" - -#~ msgid "Source path is empty." -#~ msgstr "Ścieżka źródłowa jest pusta." - -#~ msgid "Couldn't load post-import script." -#~ msgstr "Nie udało się wczytać skryptu po imporcie." - -#~ msgid "Invalid/broken script for post-import." -#~ msgstr "Niepoprawny/uszkodzony skrypt post-importu." - -#~ msgid "Error importing scene." -#~ msgstr "Błąd podczas wczytywania sceny." - -#~ msgid "Import 3D Scene" -#~ msgstr "Zaimportuj Scene 3D" - -#~ msgid "Source Scene:" -#~ msgstr "Scena źródłowa:" - -#~ msgid "Same as Target Scene" -#~ msgstr "Taki sam jak scena docelowa" - -#~ msgid "Shared" -#~ msgstr "Współdzielone" - -#~ msgid "Target Texture Folder:" -#~ msgstr "Docelowy folder tekstur:" - -#~ msgid "Custom Root Node Type:" -#~ msgstr "Niestandardowy typ węzła głównego:" - -#~ msgid "Auto" -#~ msgstr "Automatyczny" - -#~ msgid "The Following Files are Missing:" -#~ msgstr "Brakuje następujących plików:" - -#~ msgid "Import Anyway" -#~ msgstr "Zaimportuj Pomimo" - -#~ msgid "Edited scene has not been saved, open imported scene anyway?" -#~ msgstr "" -#~ "Edytowana sceny nie została zapisana. Otworzyć importowaną scenę mimo " -#~ "tego?" - -#~ msgid "Import Image:" -#~ msgstr "Zaimportuj Obraz:" - -#~ msgid "Couldn't localize path: %s (already local)" -#~ msgstr "Nie można zlokalizować ścieżki: %s (już jest lokalna)" - -#~ msgid "3D Scene Animation" -#~ msgstr "Scena animacji 3D" - -#~ msgid "Uncompressed" -#~ msgstr "Nieskompresowany" - -#~ msgid "Compress Lossless (PNG)" -#~ msgstr "Bezstratna Kompresja (PNG)" - -#~ msgid "Compress Lossy (WebP)" -#~ msgstr "Kompresja Stratna (WebP)" - -#~ msgid "Compress (VRAM)" -#~ msgstr "Skompresuj (VRAM)" - -#~ msgid "Texture Format" -#~ msgstr "Format Tekstury" - -#~ msgid "Texture Compression Quality (WebP):" -#~ msgstr "Jakość Kompresji Textury (WebP):" - -#~ msgid "Please specify some files!" -#~ msgstr "Proszę podać kilka plików !" - -#~ msgid "At least one file needed for Atlas." -#~ msgstr "Co najmniej jeden plik potrzebny do \"Atlas'u\"." - -#~ msgid "Error importing:" -#~ msgstr "Błąd importowania:" - -#~ msgid "Max Texture Size:" -#~ msgstr "Maksymalny rozmiar tekstury:" - -#~ msgid "Import Textures for Atlas (2D)" -#~ msgstr "Zaimportuj Tekstury z \"Atlas'u\" (2D)" - -#~ msgid "Large Texture" -#~ msgstr "Duża Tekstura" - -#~ msgid "Import Large Textures (2D)" -#~ msgstr "Zaimportuj Duże Tekstury (2D)" - -#~ msgid "Source Texture" -#~ msgstr "Źródłowa Tekstura" - -#~ msgid "Base Atlas Texture" -#~ msgstr "Bazowa tekstura \"Atlas'u\"" - -#~ msgid "Source Texture(s)" -#~ msgstr "Tekstura(y) źródłowe" - -#~ msgid "Import Textures for 2D" -#~ msgstr "Importuj tekstury dla 2D" - -#~ msgid "Import Textures for 3D" -#~ msgstr "Importuj tekstury dla 3D" - -#~ msgid "Import Textures" -#~ msgstr "Zaimportuj Tekstury" - -#~ msgid "3D Texture" -#~ msgstr "Tekstura 3D" - -#~ msgid "Atlas Texture" -#~ msgstr "Tekstura \"Atlas'u\"" - -#~ msgid "" -#~ "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files " -#~ "to the project." -#~ msgstr "" -#~ "UWAGA: Importowanie tekstur 2D nie jest wymagane. Po prostu skopiuj pliki " -#~ "png/jpg do folderu projektu." - -#~ msgid "Crop empty space." -#~ msgstr "Przytnij pusty obszar." - -#~ msgid "Texture" -#~ msgstr "Tekstura" - -#~ msgid "Import Large Texture" -#~ msgstr "Importuj dużą teksturę" - -#~ msgid "Load Source Image" -#~ msgstr "Wczytaj obrazek źródłowy" - -#~ msgid "Slicing" -#~ msgstr "Przycinanie" - -#~ msgid "Saving" -#~ msgstr "Zapisywanie" - -#~ msgid "Couldn't save large texture:" -#~ msgstr "Nie udało się zapisać dużej tekstury:" - -#~ msgid "Build Atlas For:" -#~ msgstr "Zbuduj Atlas dla:" - -#~ msgid "Loading Image:" -#~ msgstr "Ładowanie obrazu:" - -#~ msgid "Converting Images" -#~ msgstr "Konwersja obrazków" - -#~ msgid "Cropping Images" -#~ msgstr "Przycinanie obrazków" - -#~ msgid "Couldn't save atlas image:" -#~ msgstr "Nie można zapisać obrazu atlasu:" - -#~ msgid "Invalid translation source!" -#~ msgstr "Nieprawidłowe źródło tłumaczenia!" - -#~ msgid "Column" -#~ msgstr "Kolumna" - -#~ msgid "No items to import!" -#~ msgstr "Brak elementów do importu!" - -#~ msgid "No target path!" -#~ msgstr "Brak ścieżki docelowej!" - -#~ msgid "Import Translations" -#~ msgstr "Importuj tłumaczenia" - -#~ msgid "Couldn't import!" -#~ msgstr "Nie można zaimportować!" - -#~ msgid "Import Translation" -#~ msgstr "Importuj tłumaczenie" - -#~ msgid "Source CSV:" -#~ msgstr "Źródłowy CSV:" - -#~ msgid "Ignore First Row" -#~ msgstr "Ignoruj pierwszy wiersz" - -#~ msgid "Compress" -#~ msgstr "Skompresuj" - -#, fuzzy -#~ msgid "Add to Project (project.godot)" -#~ msgstr "Dodaj do projektu (engine.cfg)" - -#~ msgid "Import Languages:" -#~ msgstr "Zaimportuj Język:" - -#~ msgid "Translation" -#~ msgstr "Tłumaczenie" - -#~ msgid "Making BVH" -#~ msgstr "Tworzenie BVH" - -#~ msgid "Zoom Set..." -#~ msgstr "Ustaw przybliżenie..." - -#~ msgid "Parse BBCode" -#~ msgstr "Parsuj BBCode" - -#~ msgid "Length:" -#~ msgstr "Długość:" - -#~ msgid "Open Sample File(s)" -#~ msgstr "Otwórz plik(i) sampli" - -#~ msgid "Add Sample" -#~ msgstr "Dodaj sampel" - -#~ msgid "Rename Sample" -#~ msgstr "Zmień nazwę sampla" - -#~ msgid "Delete Sample" -#~ msgstr "Usuń sampel" - -#~ msgid "16 Bits" -#~ msgstr "16 Bits" - -#~ msgid "8 Bits" -#~ msgstr "8 Bits" - -#~ msgid "Stereo" -#~ msgstr "Stereo" - -#~ msgid "Scaling to %s%%." -#~ msgstr "Skalowanie do %s%%." - -#~ msgid "Bucket" -#~ msgstr "Wiadro" - -#~ msgid "Invalid project path, the path must exist!" -#~ msgstr "Niepoprawna ścieżka projektu, ścieżka musi istnieć!" - -#, fuzzy -#~ msgid "Invalid project path, project.godot must not exist." -#~ msgstr "Niepoprawna ścieżka projektu, engine.cfg nie może istnieć." - -#, fuzzy -#~ msgid "Invalid project path, project.godot must exist." -#~ msgstr "Niepoprawna ścieżka projektu, engine.cfg musi istnieć." - -#~ msgid "Project Path (Must Exist):" -#~ msgstr "Ścieżka projektu (musi istnieć):" - -#~ msgid "Create New Resource" -#~ msgstr "Utwórz nowy zasób" - -#~ msgid "Open Resource" -#~ msgstr "Otwórz zasób" - -#~ msgid "Save Resource" -#~ msgstr "Zapisz zasób" - -#~ msgid "Resource Tools" -#~ msgstr "Narzędzia zasobów" - -#, fuzzy -#~ msgid "Tiles" -#~ msgstr "Plik" - -#~ msgid "Ctrl+" -#~ msgstr "Ctrl+" - -#~ msgid "Close scene? (Unsaved changes will be lost)" -#~ msgstr "Zamknąć scenę? (Niezapisane zmiany zostaną utracone)" - -#~ msgid "" -#~ "Open Project Manager? \n" -#~ "(Unsaved changes will be lost)" -#~ msgstr "" -#~ "Otworzyć Menedżer Projektów?\n" -#~ "(Niezapisane zmiany zostaną utracone)" - -#~ msgid "Close Goto Prev. Scene" -#~ msgstr "Zamknij i przejdź do poprzedniej sceny" - -#~ msgid "Del" -#~ msgstr "Usuń" - -#, fuzzy -#~ msgid "RAW Mode" -#~ msgstr "Tryb uruchamiania:" - -#~ msgid "Node From Scene" -#~ msgstr "Węzeł ze Sceny" - -#~ msgid "Import assets to the project." -#~ msgstr "Importuj zasoby do projektu." - -#~ msgid "Export the project to many platforms." -#~ msgstr "Eksportuj projekt na inne platformy." - -#~ msgid "Alerts when an external resource has changed." -#~ msgstr "Powiadomienie o zmianie stanu zasobu zewnętrznego." - -#~ msgid "Open https://godotengine.org at tutorials section." -#~ msgstr "Otwórz https://godotengine.org na sekcji poradników." - -#~ msgid "No scene selected to instance!" -#~ msgstr "Nie wybrano sceny do instancjonowania!" - -#, fuzzy -#~ msgid "Instance at Cursor" -#~ msgstr "Instancja w miejscu kursora" - -#~ msgid "Use Default Light" -#~ msgstr "Użyj domyślnego światła" - -#~ msgid "Ambient Light Color:" -#~ msgstr "Kolor światła otoczenia:" - -#~ msgid "Invalid parent class name" -#~ msgstr "Nieprawidłowa nazwa klasy bazowej" - -#~ msgid "Valid chars:" -#~ msgstr "Poprawne znaki:" - -#~ msgid "Valid name" -#~ msgstr "Poprawna nazwa" - -#~ msgid "Class name is invalid!" -#~ msgstr "Nazwa klasy jest niepoprawna!" - -#~ msgid "Parent class name is invalid!" -#~ msgstr "Nazwa klasy nadrzędnej jest niepoprawna!" - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "" -#~ "Żeby zadziałało, pole Path musi wskazywać na istniejący węzeł Particles2D." - -#~ msgid "Surface" -#~ msgstr "Powierzchnia" - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SamplePlayer to play sound." -#~ msgstr "" -#~ "Zasób typu SampleLibrary musi być dodany jako pole Samples, aby " -#~ "SamplePlayer mógł odtwarzać dźwięk." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SpatialSamplePlayer to play sound." -#~ msgstr "" -#~ "Zasób SampleLibrary musi być ustawiony jako wartość właściwości 'samples' " -#~ "żeby SpatialSamplePlayer odtwarzał dźwięk." - -#~ msgid "Replaced %d Ocurrence(s)." -#~ msgstr "Zastąpiono %d wystąpień." - -#~ msgid "Error exporting project!" -#~ msgstr "Błąd przy eksporcie projektu!" - -#~ msgid "No exporter for platform '%s' yet." -#~ msgstr "Brak jeszcze eksportu dla platformy '%s'." - -#, fuzzy -#~ msgid "Create Android keystore" -#~ msgstr "Utwórz nowy zasób" - -#, fuzzy -#~ msgid "Organization" -#~ msgstr "Przejście" - -#, fuzzy -#~ msgid "Password" -#~ msgstr "Hasło:" - -#, fuzzy -#~ msgid "at least 6 characters" -#~ msgstr "Dopuszczalne znaki:" - -#, fuzzy -#~ msgid "File name" -#~ msgstr "Nowa nazwa:" - -#~ msgid "Include" -#~ msgstr "Zawiera" - -#~ msgid "Group name can't be empty!" -#~ msgstr "Nazwa grupy nie może być pusta!" - -#~ msgid "Invalid character in group name!" -#~ msgstr "Nieprawidłowy znak w nazwie grupy!" - -#~ msgid "Add Image Group" -#~ msgstr "Dodaj grupę obrazków" - -#~ msgid "Project Export Settings" -#~ msgstr "Opcje eksportu projektu" - -#~ msgid "Export to Platform" -#~ msgstr "Eksportuj na platformę" - -#~ msgid "Export all files in the project directory." -#~ msgstr "Eksportuj wszystkie pliki w katalogu projektu." - -#~ msgid "Images" -#~ msgstr "Obrazki" - -#~ msgid "Convert Images (*.png):" -#~ msgstr "Konwertuj obrazki (*.png):" - -#~ msgid "Shrink All Images:" -#~ msgstr "Zmniejsz wszystkie obrazki:" - -#~ msgid "Compress Formats:" -#~ msgstr "Format kompresji:" - -#~ msgid "Groups:" -#~ msgstr "Grupy:" - -#~ msgid "Compress RAM" -#~ msgstr "Kompresja RAM" - -#~ msgid "Compress Mode:" -#~ msgstr "Tryb kompresji:" - -#~ msgid "Shrink By:" -#~ msgstr "Zmniejsz o:" - -#~ msgid "Images:" -#~ msgstr "Obrazki:" - -#~ msgid "Compress (RAM - IMA-ADPCM)" -#~ msgstr "Kompresja (RAM - IMA-ADPCM)" - -#~ msgid "Trim" -#~ msgstr "Przytnij" - -#~ msgid "Export Project PCK" -#~ msgstr "Eksport projektu PCK" - -#~ msgid "Project Export" -#~ msgstr "Eksport projektu" - -#~ msgid "Global" -#~ msgstr "Globalne" - -#~ msgid "" -#~ "This item cannot be made visible because the parent is hidden. Unhide the " -#~ "parent first." -#~ msgstr "" -#~ "Ten obiekt nie może być widoczny ponieważ jego rodzic jest ukryty. Odkryj " -#~ "najpierw rodzica." - -#~ msgid "" -#~ "Paths cannot start with '/', absolute paths must start with 'res://', " -#~ "'user://', or 'local://'" -#~ msgstr "" -#~ "Ścieżki nie mogą zaczynać się od '/', ścieżki absolutne muszą zaczynać " -#~ "się od 'res://', 'user://', lub 'local://'" - -#~ msgid "File exists" -#~ msgstr "Plik Istnieje" - -#~ msgid "Valid path" -#~ msgstr "Poprawna ścieżka" - -#~ msgid "Cannot go into subdir:" -#~ msgstr "Nie można iść do podkatalogu:" diff --git a/editor/translations/pr.po b/editor/translations/pr.po index 7d84259d58..1ee3cc1f11 100644 --- a/editor/translations/pr.po +++ b/editor/translations/pr.po @@ -1,6 +1,6 @@ # Pirate translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Calum Knott <calum@calumk.com>, 2017. # Zion Nimchuk <zionnimchuk@gmail.com>, 2016-2017. @@ -2120,15 +2120,31 @@ msgstr "" msgid "Theme Properties" msgstr "Paste yer Node" -#: editor/editor_help.cpp -#, fuzzy -msgid "Enumerations" -msgstr "Yer functions:" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Enumerations" +msgstr "Yer functions:" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "" @@ -8534,18 +8550,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -13308,7 +13312,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -13317,6 +13326,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14319,152 +14343,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "" - -#~ msgid "Set" -#~ msgstr "Set" - -#, fuzzy -#~ msgid "Edit:" -#~ msgstr "Edit" - -#, fuzzy -#~ msgid "Remove Template" -#~ msgstr "Discharge ye' Variable" - -#, fuzzy -#~ msgid "Move to Trash" -#~ msgstr "Forge yer Node!" - -#, fuzzy -#~ msgid "Expand All Properties" -#~ msgstr "Add yer Getter Property" - -#, fuzzy -#~ msgid "Theme File" -#~ msgstr "Paste yer Node" - -#, fuzzy -#~ msgid "Templates" -#~ msgstr "Discharge ye' Variable" - -#, fuzzy -#~ msgid "Move pivot" -#~ msgstr "Discharge ye' Signal" - -#, fuzzy -#~ msgid "Add initial export..." -#~ msgstr "Add Signal" - -#, fuzzy -#~ msgid "Class Description" -#~ msgstr "Yar, Blow th' Selected Down!" - -#~ msgid "Available Nodes:" -#~ msgstr "yer Nodes doing nothin':" - -#, fuzzy -#~ msgid "Theme Properties:" -#~ msgstr "Paste yer Node" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "Yar, Blow th' Selected Down!" - -#, fuzzy -#~ msgid "Select Mode (Q)" -#~ msgstr "Slit th' Node" - -#, fuzzy -#~ msgid "Tool Select" -#~ msgstr "Yar, Blow th' Selected Down!" - -#~ msgid "Error initializing FreeType." -#~ msgstr "Cant Load the FreeType Captain." - -#~ msgid "Unknown font format." -#~ msgstr "Unknown Calligraphy format." - -#~ msgid "Error loading font." -#~ msgstr "Error loading yer Calligraphy Pen." - -#~ msgid "Invalid font size." -#~ msgstr "Yer Calligraphy be wrongly sized." - -#, fuzzy -#~ msgid "Custom Node" -#~ msgstr "Slit th' Node" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "Edit ye Signal Arguments:" - -#~ msgid "Edit Variable:" -#~ msgstr "Edit yer Variable:" - -#, fuzzy -#~ msgid "Add Split" -#~ msgstr "Add Signal" - -#, fuzzy -#~ msgid "Invalid Split: " -#~ msgstr ": Evil arguments: " - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "Discharge ye' Signal" - -#, fuzzy -#~ msgid "Add Node.." -#~ msgstr "Add Node" - -#, fuzzy -#~ msgid "Show current scene file." -#~ msgstr "Slit th' Node" - -#~ msgid "Get" -#~ msgstr "Get" - -#, fuzzy -#~ msgid "Set pivot at mouse position" -#~ msgstr "Discharge ye' Signal" - -#~ msgid "Condition" -#~ msgstr "Condition" - -#~ msgid "Sequence" -#~ msgstr "Sequence" - -#~ msgid "Iterator" -#~ msgstr "Iterator" - -#~ msgid "While" -#~ msgstr "While" - -#~ msgid "Return" -#~ msgstr "Return" - -#~ msgid "Call" -#~ msgstr "Call" - -#~ msgid "Move Add Key" -#~ msgstr "Move yer Add Key" - -#~ msgid "just pressed" -#~ msgstr "just smashed" - -#, fuzzy -#~ msgid "" -#~ "Couldn't read the certificate file. Are the path and password both " -#~ "correct?" -#~ msgstr "" -#~ "Blimey! I can't read th' certificate file! Are yer path n' password " -#~ "trusty?" - -#~ msgid "Error creating the package signature." -#~ msgstr "Blimey! I can't create th' package signature." - -#~ msgid "" -#~ "Paths cannot start with '/', absolute paths must start with 'res://', " -#~ "'user://', or 'local://'" -#~ msgstr "" -#~ "Avast! Ye cannot steer yer ship with a '/'! Yer need t' start wit' " -#~ "'res://', 'user://', or 'local://' ye knave!" diff --git a/editor/translations/pt.po b/editor/translations/pt.po index 58f22f48ae..1d5c948331 100644 --- a/editor/translations/pt.po +++ b/editor/translations/pt.po @@ -1,6 +1,6 @@ # Portuguese translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # António Sarmento <antonio.luis.sarmento@gmail.com>, 2016. # Carlos Vieira <carlos.vieira@gmail.com>, 2017. @@ -2125,14 +2125,31 @@ msgstr "Métodos" msgid "Theme Properties" msgstr "Propriedades do Tema" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Enumerações" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "Cores" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Constantes" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "Fontes" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "Ícones" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Styles" +msgstr "Estilo" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Enumerações" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Descrições da Propriedade" @@ -8570,18 +8587,6 @@ msgid "TextureRegion" msgstr "TextureRegion" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "Cores" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "Fontes" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "Ícones" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "Caixas de Estilo" @@ -13362,8 +13367,17 @@ msgstr "" "\"Usar Compilação Personalizada\" têm de estar ativa para usar os plugins." #: platform/android/export/export_plugin.cpp +#, fuzzy msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" +"\"Rastreamento de Mão\" só é válido quando \"Modo Xr\" é \"Oculus Mobile VR" +"\"." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" "\"Rastreamento de Mão\" só é válido quando \"Modo Xr\" é \"Oculus Mobile VR" "\"." @@ -13375,6 +13389,27 @@ msgstr "" "ativa." #: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" +"\"Exportar AAB\" só é válido quando \"Usar Compilação Personalizada\" está " +"ativa." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" +"\"Exportar AAB\" só é válido quando \"Usar Compilação Personalizada\" está " +"ativa." + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " @@ -14557,1393 +14592,3 @@ msgstr "Atribuição a uniforme." #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Constantes não podem ser modificadas." - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "Criar Pose de Descanso (a partir de Ossos)" - -#~ msgid "Bottom" -#~ msgstr "Fundo" - -#~ msgid "Left" -#~ msgstr "Esquerda" - -#~ msgid "Right" -#~ msgstr "Direita" - -#~ msgid "Front" -#~ msgstr "Frente" - -#~ msgid "Rear" -#~ msgstr "Trás" - -#~ msgid "Nameless gizmo" -#~ msgstr "Bugiganga sem Nome" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "\"Graus de Liberdade\" só é válido quando \"Modo Xr\" é \"Oculus Mobile VR" -#~ "\"." - -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "\"Consciência do Foco\" só é válido quando \"Modo Xr\" é \"Oculus Mobile " -#~ "VR\"." - -#~ msgid "Package Contents:" -#~ msgstr "Conteúdo do Pacote:" - -#~ msgid "Singleton" -#~ msgstr "Instância única" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Substituir perfil '%s'? (não há desfazer)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Ativar Propriedades:" - -#~ msgid "Enabled Features:" -#~ msgstr "Ativar Características:" - -#~ msgid "Unset" -#~ msgstr "Desativar" - -#~ msgid "Class Options" -#~ msgstr "Opções da Classe" - -#~ msgid "Set" -#~ msgstr "Definir" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Guardado(s) %s recurso(s) modificado(s)." - -#~ msgid "Q&A" -#~ msgstr "Perguntas & Respostas" - -#~ msgid "Status:" -#~ msgstr "Estado:" - -#~ msgid "Edit:" -#~ msgstr "Editar:" - -#~ msgid "Redownload" -#~ msgstr "Retransferir" - -#~ msgid "(Installed)" -#~ msgstr "(Instalado)" - -#~ msgid "(Missing)" -#~ msgstr "(Em Falta)" - -#~ msgid "Request Failed." -#~ msgstr "Pedido falhado." - -#~ msgid "Redirect Loop." -#~ msgstr "Redirecionar ciclo." - -#~ msgid "Download Complete." -#~ msgstr "Descarrega completa." - -#~ msgid "Remove Template" -#~ msgstr "Remover Modelo" - -#~ msgid "Download Templates" -#~ msgstr "Transferir Modelos" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "Selecionar servidor da lista: (Shift+Click: Abrir no Navegador)" - -#~ msgid "Move to Trash" -#~ msgstr "Mover para Reciclagem" - -#~ msgid "Expand All Properties" -#~ msgstr "Expandir Todas as Propriedades" - -#~ msgid "Collapse All Properties" -#~ msgstr "Colapsar Todas as Propriedades" - -#~ msgid "Copy Params" -#~ msgstr "Copiar Parâmetros" - -#~ msgid "Open in Help" -#~ msgstr "Abrir em Ajuda" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "Sobreposição de Câmara de Jogo\n" -#~ "Nenhuma instância de jogo em execução." - -#~ msgid "Drag: Rotate" -#~ msgstr "Arrastar: Rotação" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Tecla 'v' para mudar Eixo, 'Shift+v' para arrastar Eixo (durante " -#~ "movimento)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+RMB: seleção da lista de profundidade" - -#~ msgid "Clone Down" -#~ msgstr "Clonar Abaixo" - -#~ msgid "Yaw" -#~ msgstr "Direção" - -#~ msgid "Size" -#~ msgstr "Tamanho" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "Arrastar: Rodar\n" -#~ "Alt+Arrastar: Mover\n" -#~ "Alt+RMB: Seleção lista de profundidade" - -#~ msgid "Sep.:" -#~ msgstr "Sep.:" - -#~ msgid "Add All" -#~ msgstr "Adicionar tudo" - -#~ msgid "Theme editing menu." -#~ msgstr "Menu edição de tema." - -#~ msgid "Create Empty Template" -#~ msgstr "Criar Modelo vazio" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "Criar Modelo Editor vazio" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "Criar a partir de tema Editor atual" - -#~ msgid "Data Type:" -#~ msgstr "Tipo de dados:" - -#~ msgid "Theme File" -#~ msgstr "Ficheiro Tema" - -#~ msgid "Compiled" -#~ msgstr "Compilado" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "Remover %d projetos da lista?\n" -#~ "O conteúdo das pastas não será modificado." - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "Remover este projeto da lista?\n" -#~ "O conteúdo da pasta não será modificado." - -#~ msgid "Templates" -#~ msgstr "Modelos" - -#~ msgid "Add Remapped Path" -#~ msgstr "Adicionar Caminho Remapeado" - -#~ msgid "Can not perform with the root node." -#~ msgstr "Não consigo executar com o nó raiz." - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "Não consigo ler ficheiro de imagem do ecrã de inicialização:" - -#~ msgid "Using default boot splash image." -#~ msgstr "A usar imagem de inicialização predefinida." - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Um reprodutor de animação não se pode animar a ele próprio, apenas a " -#~ "outros reprodutores." - -#~ msgid "Clipboard is empty" -#~ msgstr "Área de Transferência está vazia" - -#~ msgid "" -#~ "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -#~ msgstr "InterpolatedCamerda foi descontinuada e será removida no Godot 4.0." - -#~ msgid "No" -#~ msgstr "Não" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Esta cena nunca foi guardada. Guardar antes de executar?" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "O executável ADB não está configurado nas Configurações do Editor." - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "" -#~ "O jarsigner do OpenJDK não está configurado nas Definições do Editor." - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "" -#~ "Compilação personalizada necessita de um caminho válido para Android SDK " -#~ "no Editor de Configurações." - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(Tempo restante: %d:%02d s)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "A traçar Meshes: " - -#~ msgid "Lighting Meshes: " -#~ msgstr "A iluminar Meshes: " - -#~ msgid "Search complete" -#~ msgstr "Pesquisa completa" - -#~ msgid "No commit message was provided" -#~ msgstr "Nenhuma mensagem de gravação foi fornecida" - -#~ msgid "Add a commit message" -#~ msgstr "Adicionar mensagem de gravação" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "Já existe um ficheiro ou pasta com o mesmo nome nesta localização." - -#~ msgid "Unable to complete APK alignment." -#~ msgstr "Incapaz de completar o alinhamento APK." - -#~ msgid "Unable to delete unaligned APK." -#~ msgstr "Incapaz de apagar o APK não-alinhado." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Erro ao tentar guardar o Modelo!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "O modelo do editor predefinido foi substituído." - -#~ msgid "Move pivot" -#~ msgstr "Mover pivô" - -#~ msgid "Move anchor" -#~ msgstr "Mover âncora" - -#~ msgid "Resize CanvasItem" -#~ msgstr "Redimensionar CanvasItem" - -#~ msgid "Polygon->UV" -#~ msgstr "Polígono->UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV->Polígono" - -#~ msgid "Add initial export..." -#~ msgstr "Adicionar exportação inicial..." - -#~ msgid "Add previous patches..." -#~ msgstr "Aplicar correções anteriores..." - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "Apagar correção '%s' da lista?" - -#~ msgid "Patches" -#~ msgstr "Correções" - -#~ msgid "Make Patch" -#~ msgstr "Fazer Correção" - -#~ msgid "Pack File" -#~ msgstr "Ficheiro Pacote" - -#~ msgid "No build apk generated at: " -#~ msgstr "Nenhum apk gerado em: " - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "Sistema de Ficheiros e Docas de Importação" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "Ao exportar ou distribuir, o executável vai tentar ligar-se ao IP deste " -#~ "computador para depuração." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "" -#~ "A cena atual nunca foi guardada, por favor guarde-a antes de executar." - -#~ msgid "Revert" -#~ msgstr "Reverter" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Esta acção não pode ser desfeita. Reverter na mesma?" - -#~ msgid "Revert Scene" -#~ msgstr "Reverter Cena" - -#~ msgid "Clear Script" -#~ msgstr "Limpar Script" - -#~ msgid "Issue Tracker" -#~ msgstr "Rastreador de Problemas" - -#~ msgid "Request Docs" -#~ msgstr "Requisitar Docs" - -#~ msgid "Help improve the Godot documentation by giving feedback." -#~ msgstr "Dê a sua opinião para ajudar a melhorar a documentação Godot." - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "Substituído %d ocorrência(s)." - -#~ msgid "Create Static Convex Body" -#~ msgstr "Criar corpo estático convexo" - -#~ msgid "Failed creating shapes!" -#~ msgstr "Falha na criação de formas!" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Atualmente não existem tutoriais para esta classe, pode [color=$color]" -#~ "[url=$url]contribuir com um[/url][/color] ou [color=$color][url=" -#~ "$url2]solicitar um[/url][/color]." - -#~ msgid "enum " -#~ msgstr "enum " - -#~ msgid "Brief Description" -#~ msgstr "Breve Descrição" - -#~ msgid "Class Description" -#~ msgstr "Descrição da Classe" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "Exportação do projeto falhou com código de erro %d." - -#~ msgid "Password:" -#~ msgstr "Senha:" - -#~ msgid "Identifier segments must be of non-zero length." -#~ msgstr "" -#~ "Identificador de segmentos devem ser de comprimento diferente de zero." - -#~ msgid "A digit cannot be the first character in a Identifier segment." -#~ msgstr "" -#~ "Um dígito não pode ser o primeiro caráter num segmento de Identificador." - -#~ msgid "" -#~ "The character '%s' cannot be the first character in a Identifier segment." -#~ msgstr "" -#~ "O caráter \"%s\" não pode ser o primeiro caráter num segmento de " -#~ "Identificador." - -#~ msgid "The Identifier must have at least one '.' separator." -#~ msgstr "O identificador deve ter pelo menos um separador \".\"." - -#~ msgid "Pause the scene" -#~ msgstr "Pausa a cena" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Control+" -#~ msgstr "Control+" - -#~ msgid "Snap to Grid" -#~ msgstr "Ajustar à Grelha" - -#~ msgid "Add input +" -#~ msgstr "Adicionar entrada +" - -#~ msgid "Language" -#~ msgstr "Linguagem" - -#~ msgid "Inherits" -#~ msgstr "Herdar" - -#~ msgid "Base Type:" -#~ msgstr "Tipo de Base:" - -#~ msgid "Available Nodes:" -#~ msgstr "Nós Disponíveis:" - -#~ msgid "Input" -#~ msgstr "Entrada" - -#~ msgid "Methods:" -#~ msgstr "Métodos:" - -#~ msgid "Theme Properties:" -#~ msgstr "Propriedades do Tema:" - -#~ msgid "Enumerations:" -#~ msgstr "Enumerações:" - -#~ msgid "Constants:" -#~ msgstr "Constantes:" - -#~ msgid "Class Description:" -#~ msgstr "Descrição da Classe:" - -#~ msgid "Property Descriptions:" -#~ msgstr "Descrições da Propriedade:" - -#~ msgid "Method Descriptions:" -#~ msgstr "Descrições do Método:" - -#~ msgid "" -#~ "This will install the Android project for custom builds.\n" -#~ "Note that, in order to use it, it needs to be enabled per export preset." -#~ msgstr "" -#~ "O projeto Android para compilações personalizadas será instalado.\n" -#~ "Para o utilizar, terá de ser ativado nas predefinições de exportação." - -#~ msgid "Reverse sorting." -#~ msgstr "Inverter ordenação." - -#~ msgid "Delete Node(s)?" -#~ msgstr "Apagar Nó(s)?" - -#~ msgid "No Matches" -#~ msgstr "Sem combinações" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "file_type_cache.cch não for guardada, por não se conseguir abrir para " -#~ "leitura!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "'%s' não foi encontrado no Sistema de Ficheiros!" - -#~ msgid "Error loading image:" -#~ msgstr "Erro ao carregar imagem:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "Sem pixeis com transparência > 128 na imagem..." - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "O parente não tem faces sólidas para povoar." - -#~ msgid "Couldn't map area." -#~ msgstr "Área não pode ser mapeada." - -#~ msgid "Faces contain no area!" -#~ msgstr "As faces não contêm Área!" - -#~ msgid "No faces!" -#~ msgstr "Sem faces!" - -#~ msgid "Error: could not load file." -#~ msgstr "Erro ao carregar ficheiro." - -#~ msgid "Error could not load file." -#~ msgstr "Erro ao carregar ficheiro." - -#~ msgid "Doppler Enable" -#~ msgstr "Doppler Ativo" - -#~ msgid "Select Mode (Q)" -#~ msgstr "Modo seleção (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "Modo mover (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "Modo rodar (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "Modo escalar (R)" - -#~ msgid "Local Coords" -#~ msgstr "Coordenadas Locais" - -#~ msgid "Snap Mode (%s)" -#~ msgstr "Modo Ajuste (%s)" - -#~ msgid "Tool Select" -#~ msgstr "Seleção de ferramenta" - -#~ msgid "Tool Move" -#~ msgstr "Ferramenta Mover" - -#~ msgid "Tool Rotate" -#~ msgstr "Ferramenta Rodar" - -#~ msgid "Tool Scale" -#~ msgstr "Ferramenta escalar" - -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "" -#~ "Remover da lista todos os projeto em falta? (O conteúdo da pasta não será " -#~ "modificado)" - -#~ msgid "Project List" -#~ msgstr "Lista de Projetos" - -#~ msgid "Exit" -#~ msgstr "Sair" - -#~ msgid "Could not execute PVRTC tool:" -#~ msgstr "Impossível executar ferramenta PVRTC:" - -#~ msgid "Can't load back converted image using PVRTC tool:" -#~ msgstr "Impossível carregar imagem convertida com a ferramenta PVRTC:" - -#~ msgid "Error initializing FreeType." -#~ msgstr "Erro ao inicializar FreeType." - -#~ msgid "Unknown font format." -#~ msgstr "Formato de letra inválido." - -#~ msgid "Error loading font." -#~ msgstr "Erro ao carregar letra." - -#~ msgid "Invalid font size." -#~ msgstr "Tamanho de letra inválido." - -#~ msgid "Previous Folder" -#~ msgstr "Pasta Anterior" - -#~ msgid "Next Folder" -#~ msgstr "Próxima Pasta" - -#~ msgid "Automatically Open Screenshots" -#~ msgstr "Abrir Capturas do ecrã automaticamente" - -#~ msgid "Open in an external image editor." -#~ msgstr "Abrir num editor de imagem externo." - -#~ msgid "Reverse" -#~ msgstr "Inverter" - -#~ msgid "Mirror X" -#~ msgstr "Espelho X" - -#~ msgid "Mirror Y" -#~ msgstr "Espelho Y" - -#~ msgid "Generating solution..." -#~ msgstr "A gerar soluções..." - -#~ msgid "Generating C# project..." -#~ msgstr "A gerar projeto C#..." - -#~ msgid "Failed to create solution." -#~ msgstr "Falha ao criar solução." - -#~ msgid "Failed to save solution." -#~ msgstr "Falha ao guardar solução." - -#~ msgid "Failed to create C# project." -#~ msgstr "Falha ao criar projeto C#." - -#~ msgid "Mono" -#~ msgstr "Mono" - -#~ msgid "About C# support" -#~ msgstr "Sobre o suporte C#" - -#~ msgid "Create C# solution" -#~ msgstr "Criar solução C#" - -#~ msgid "Builds" -#~ msgstr "Builds" - -#~ msgid "Build Project" -#~ msgstr "Construir Projeto" - -#~ msgid "View log" -#~ msgstr "Ver log" - -#~ msgid "WorldEnvironment needs an Environment resource." -#~ msgstr "WorldEnvironment precisa de um recurso Environment." - -#~ msgid "Enabled Classes" -#~ msgstr "Ativar Classes" - -#~ msgid "Update Always" -#~ msgstr "Atualizar Sempre" - -#~ msgid "'camera' input parameter for all shader modes." -#~ msgstr "parâmetro de entrada 'camera' para todos os modos shader." - -#~ msgid "'inv_camera' input parameter for all shader modes." -#~ msgstr "parâmetro de entrada 'inv_camera' para todos os modos shader." - -#~ msgid "'inv_projection' input parameter for all shader modes." -#~ msgstr "parâmetro de entrada 'inv_projection' para todos os modos shader." - -#~ msgid "'normal' input parameter for all shader modes." -#~ msgstr "parâmetro de entrada 'normal' para todos os modos shader." - -#~ msgid "'projection' input parameter for all shader modes." -#~ msgstr "parâmetro de entrada 'projection' para todos os modos shader." - -#~ msgid "'time' input parameter for all shader modes." -#~ msgstr "parâmetro de entrada 'time' para todos os modos shader." - -#~ msgid "'viewport_size' input parameter for all shader modes." -#~ msgstr "parâmetro de entrada 'viewport_size' para todos os modos shader." - -#~ msgid "'world' input parameter for all shader modes." -#~ msgstr "parâmetro de entrada 'world' para todos os modos shader." - -#~ msgid "'alpha' input parameter for all shader modes." -#~ msgstr "parâmetro de entrada 'alpha' para todos os modos shader." - -#~ msgid "'color' input parameter for all shader modes." -#~ msgstr "parâmetro de entrada 'color' para todos os modos shader." - -#~ msgid "'texture_pixel_size' input parameter for all shader modes." -#~ msgstr "" -#~ "parâmetro de entrada 'texture_pixel_size' para todos os modos shader." - -#~ msgid "'alpha' input parameter for vertex and fragment shader modes." -#~ msgstr "" -#~ "parâmetro de entrada 'alpha' para os modos shader vertex e fragment." - -#~ msgid "'binormal' input parameter for vertex and fragment shader modes." -#~ msgstr "" -#~ "parâmetro de entrada 'binormal' para os modos shader vertex e fragment." - -#~ msgid "'color' input parameter for vertex and fragment shader modes." -#~ msgstr "" -#~ "parâmetro de entrada 'color' para os modos shader vertex e fragment." - -#~ msgid "'fragcoord' input parameter for fragment and light shader modes." -#~ msgstr "" -#~ "parâmetro de entrada 'fragcoord' para os modos shader fragment e light." - -#~ msgid "'point_coord' input parameter for fragment shader mode." -#~ msgstr "parâmetro de entrada 'point_coord' para o modo shader fragment." - -#~ msgid "'screen_uv' input parameter for fragment shader mode." -#~ msgstr "parâmetro de entrada 'screen_uv' para o modo shader fragment." - -#~ msgid "'tangent' input parameter for vertex and fragment shader modes." -#~ msgstr "" -#~ "parâmetro de entrada 'tangent' para os modos shader vertex e fragment." - -#~ msgid "'uv2' input parameter for vertex and fragment shader modes." -#~ msgstr "parâmetro de entrada 'uv2' para os modos shader vertex e fragment." - -#~ msgid "'vertex' input parameter for vertex and fragment shader modes." -#~ msgstr "" -#~ "parâmetro de entrada 'vertex' para os modos shader vertex e fragment." - -#~ msgid "'albedo' input parameter for light shader mode." -#~ msgstr "parâmetro de entrada 'albedo' para o modo shader light." - -#~ msgid "'attenuation' input parameter for light shader mode." -#~ msgstr "parâmetro de entrada 'attenuation' para o modo shader light." - -#~ msgid "'light' input parameter for light shader mode." -#~ msgstr "parâmetro de entrada 'light' para o modo shader light." - -#~ msgid "'light_color' input parameter for light shader mode." -#~ msgstr "parâmetro de entrada 'light_color' para o modo shader light." - -#~ msgid "'roughness' input parameter for light shader mode." -#~ msgstr "parâmetro de entrada 'roughness' para o modo shader light." - -#~ msgid "'specular' input parameter for light shader mode." -#~ msgstr "parâmetro de entrada 'specular' para o modo shader light." - -#~ msgid "'transmission' input parameter for light shader mode." -#~ msgstr "parâmetro de entrada 'transmission' para o modo shader light." - -#~ msgid "'modelview' input parameter for vertex shader mode." -#~ msgstr "parâmetro de entrada 'modelview' para o modo shader vertex." - -#~ msgid "'point_size' input parameter for vertex shader mode." -#~ msgstr "parâmetro de entrada 'point_size' para o modo shader vertex." - -#~ msgid "'tangent' input parameter for vertex and fragment shader mode." -#~ msgstr "" -#~ "parâmetro de entrada 'tangent' para os modos shader vertex e fragment." - -#~ msgid "'light_pass' input parameter for vertex and fragment shader modes." -#~ msgstr "" -#~ "parâmetro de entrada 'light_pass' para os modos shader vertex e fragment." - -#~ msgid "'point_coord' input parameter for fragment and light shader modes." -#~ msgstr "" -#~ "parâmetro de entrada 'point_coord' para os modos shader fragment e light." - -#~ msgid "'screen_pixel_size' input parameter for fragment shader mode." -#~ msgstr "" -#~ "parâmetro de entrada 'screen_pixel_size' para o modo shader fragment." - -#~ msgid "'screen_uv' input parameter for fragment and light shader modes." -#~ msgstr "" -#~ "parâmetro de entrada 'screen_uv' para modos shader fragment e light." - -#~ msgid "'light_alpha' input parameter for light shader mode." -#~ msgstr "parâmetro de entrada 'light_alpha' para modo shader light." - -#~ msgid "'light_height' input parameter for light shader mode." -#~ msgstr "parâmetro de entrada 'light_height' para modo shader light." - -#~ msgid "'light_uv' input parameter for light shader mode." -#~ msgstr "parâmetro de entrada 'light_uv' para modo shader light." - -#~ msgid "'light_vec' input parameter for light shader mode." -#~ msgstr "parâmetro de entrada 'light_vec' para modo shader light." - -#~ msgid "'normal' input parameter for light shader mode." -#~ msgstr "parâmetro de entrada 'normal' para modo shader light." - -#~ msgid "'shadow_color' input parameter for light shader mode." -#~ msgstr "parâmetro de entrada 'shadow_color' para modo shader light." - -#~ msgid "'extra' input parameter for vertex shader mode." -#~ msgstr "parâmetro de entrada 'extra' para modo shader vertex." - -#~ msgid "'projection' input parameter for vertex shader mode." -#~ msgstr "parâmetro de entrada 'projection' para modo shader vertex." - -#~ msgid "'vertex' input parameter for vertex shader mode." -#~ msgstr "parâmetro de entrada 'vertex' para modo shader vertex." - -#~ msgid "'world' input parameter for vertex shader mode." -#~ msgstr "parâmetro de entrada 'world' para modo shader vertex." - -#~ msgid "'active' input parameter for vertex shader mode." -#~ msgstr "parâmetro de entrada 'active' para modo shader vertex." - -#~ msgid "'alpha' input parameter for vertex shader mode." -#~ msgstr "parâmetro de entrada 'alpha' para modo shader vertex." - -#~ msgid "'color' input parameter for vertex shader mode." -#~ msgstr "parâmetro de entrada 'color' para modo shader vertex." - -#~ msgid "'custom_alpha' input parameter for vertex shader mode." -#~ msgstr "parâmetro de entrada 'custom_alpha' para modo shader vertex." - -#~ msgid "'delta' input parameter for vertex shader mode." -#~ msgstr "parâmetro de entrada 'delta' para modo shader vertex." - -#~ msgid "'emission_transform' input parameter for vertex shader mode." -#~ msgstr "parâmetro de entrada 'emission_transform' para modo shader vertex." - -#~ msgid "'index' input parameter for vertex shader mode." -#~ msgstr "parâmetro de entrada 'index' para modo shader vertex." - -#~ msgid "'lifetime' input parameter for vertex shader mode." -#~ msgstr "parâmetro de entrada 'lifetime' para modo shader vertex." - -#~ msgid "'restart' input parameter for vertex shader mode." -#~ msgstr "parâmetro de entrada 'restart' para modo shader vertex." - -#~ msgid "'time' input parameter for vertex shader mode." -#~ msgstr "parâmetro de entrada 'time' para modo shader vertex." - -#~ msgid "'transform' input parameter for vertex shader mode." -#~ msgstr "parâmetro de entrada 'transform' para modo shader vertex." - -#~ msgid "'velocity' input parameter for vertex shader mode." -#~ msgstr "parâmetro de entrada 'velocity' para modo shader vertex." - -#~ msgid "Raw Mode" -#~ msgstr "Modo Raw" - -#~ msgid "Path to Node:" -#~ msgstr "Caminho para Nó:" - -#~ msgid "Delete selected files?" -#~ msgstr "Apagar arquivos selecionados?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "O Ficheiro 'res://default_bus_layout.tres' não existe." - -#~ msgid "Go to parent folder" -#~ msgstr "Ir para a pasta acima" - -#~ msgid "Open Scene(s)" -#~ msgstr "Abrir Cena(s)" - -#~ msgid "Previous Directory" -#~ msgstr "Diretoria anterior" - -#~ msgid "Next Directory" -#~ msgstr "Diretoria seguinte" - -#~ msgid "Ease in" -#~ msgstr "Ease in" - -#~ msgid "Ease out" -#~ msgstr "Ease out" - -#~ msgid "Create Convex Static Body" -#~ msgstr "Criar corpo estático convexo" - -#~ msgid "CheckBox Radio1" -#~ msgstr "Caixa de seleção Radio1" - -#~ msgid "CheckBox Radio2" -#~ msgstr "Caixa de seleção Radio2" - -#~ msgid "Create folder" -#~ msgstr "Criar pasta" - -#~ msgid "Custom Node" -#~ msgstr "Nó Personalizado" - -#~ msgid "Invalid Path" -#~ msgstr "Caminho inválido" - -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "Seleção duplicada de GridMap" - -#~ msgid "Create Area" -#~ msgstr "Criar Área" - -#~ msgid "Create Exterior Connector" -#~ msgstr "Criar Conector exterior" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "Editar Argumentos do Sinal:" - -#~ msgid "Edit Variable:" -#~ msgstr "Editar Variável:" - -#~ msgid "Snap (s): " -#~ msgstr "Ajuste (s): " - -#~ msgid "Insert keys." -#~ msgstr "Inserir chaves." - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "" -#~ "Instancie a(s) Cena(s) selecionada(s) como filha(s) do Nó selecionado." - -#~ msgid "Font Size:" -#~ msgstr "Tamanho do tipo de letra:" - -#~ msgid "Line:" -#~ msgstr "Linha:" - -#~ msgid "Col:" -#~ msgstr "Coluna:" - -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "" -#~ "OrientedPathFollow apenas funciona quando definido como filho de um Nó " -#~ "Path." - -#~ msgid "Split point with itself." -#~ msgstr "Separar ponto consigo próprio." - -#~ msgid "Split can't form an existing edge." -#~ msgstr "Separação não forma uma aresta existente." - -#~ msgid "Add Split" -#~ msgstr "Adicionar Separação" - -#~ msgid "Remove Split" -#~ msgstr "Remover Separação" - -#~ msgid "Poly" -#~ msgstr "Poli" - -#~ msgid "Splits" -#~ msgstr "Separações" - -#~ msgid "Connect two points to make a split." -#~ msgstr "Conectar dois pontos para fazer uma divisão." - -#~ msgid "Add Node.." -#~ msgstr "Adicionar Nó.." - -#~ msgid "Create from scene?" -#~ msgstr "Criar a partir da Cena?" - -#~ msgid "Create Poly" -#~ msgstr "Criar Polígono" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "Criar um novo Polígono de raíz" - -#~ msgid "Zoom out" -#~ msgstr "Diminuir zoom" - -#~ msgid "Zoom in" -#~ msgstr "Aumentar zoom" - -#~ msgid "Create Poly3D" -#~ msgstr "Criar Poly3D" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "Não há recurso OccluderPolygon2D neste Nó.\n" -#~ "Criar um e associar?" - -#~ msgid "LMB: Move Point." -#~ msgstr "LMB: Mover Ponto." - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl+LMB: Separar segmento." - -#~ msgid "RMB: Erase Point." -#~ msgstr "RMB: Apagar Ponto." - -#~ msgid "New TextFile" -#~ msgstr "Novo TextFile" - -#~ msgid "Save Theme As" -#~ msgstr "Guardar tema como" - -#~ msgid "<None>" -#~ msgstr "<Nenhum>" - -#~ msgid "" -#~ "Select sub-tile to use as icon, this will be also used on invalid " -#~ "autotile bindings." -#~ msgstr "" -#~ "Selecionar sub-tile para usar como ícone, também será usado em ligações " -#~ "autotile inválidas." - -#~ msgid "Zoom:" -#~ msgstr "Zoom:" - -#~ msgid "Are you sure you want to remove all connections from the \"" -#~ msgstr "Está seguro que quer remover todas as conexões de \"" - -#~ msgid "Class List:" -#~ msgstr "Lista de Classes:" - -#~ msgid "Public Methods" -#~ msgstr "Métodos Públicos" - -#~ msgid "Public Methods:" -#~ msgstr "Métodos Públicos:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "Itens do tema GUI:" - -#~ msgid "Property: " -#~ msgstr "Propriedade: " - -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Alternar a pasta de situação como Favorita." - -#~ msgid "Show current scene file." -#~ msgstr "Mostrar o ficheiro da cena atual." - -#~ msgid "Enter tree-view." -#~ msgstr "Ir para Vista de árvore." - -#~ msgid "Whole words" -#~ msgstr "Palavras completas" - -#~ msgid "Match case" -#~ msgstr "Sensível a maiúsculas/minúsculas" - -#~ msgid "Ok" -#~ msgstr "Ok" - -#~ msgid "Show In File System" -#~ msgstr "Mostrar no Sistema de Ficheiros" - -#~ msgid "Search the class hierarchy." -#~ msgstr "Procurar na hierarquia de classe." - -#~ msgid "Search in files" -#~ msgstr "Procurar em ficheiros" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "" -#~ "Scripts incorporados só podem ser editados quando a Cena a que pertencem " -#~ "é carregada" - -#~ msgid "Convert To Uppercase" -#~ msgstr "Converter em maiúsculas" - -#~ msgid "Convert To Lowercase" -#~ msgstr "Converter em minúsculas" - -#~ msgid "Rotate 0 degrees" -#~ msgstr "Rodar 0 graus" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "Rodar 90 graus" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "Rodar 180 graus" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "Rodar 270 graus" - -#~ msgid "Errors:" -#~ msgstr "Erros:" - -#~ msgid "Stack Trace (if applicable):" -#~ msgstr "Stack Trace (se aplicável):" - -#~ msgid "Bake!" -#~ msgstr "Cozinhar!" - -#~ msgid "Bake the navigation mesh." -#~ msgstr "Cozinhar a Malha de navegação." - -#~ msgid "Get" -#~ msgstr "Obter" - -#~ msgid "Change RGB Constant" -#~ msgstr "Mudar constante RGB" - -#~ msgid "Change Vec Scalar Operator" -#~ msgstr "Mudar operador escalar/vetorial" - -#~ msgid "Change RGB Operator" -#~ msgstr "Mudar operador RGB" - -#~ msgid "Toggle Rot Only" -#~ msgstr "Alternar só rotação" - -#~ msgid "Change Vec Function" -#~ msgstr "Mudar Função vetorial" - -#~ msgid "Change Vec Uniform" -#~ msgstr "Mudar uniforme vetorial" - -#~ msgid "Change RGB Uniform" -#~ msgstr "Mudar uniforme RGB" - -#~ msgid "Change Default Value" -#~ msgstr "Mudar valor padrão" - -#~ msgid "Change XForm Uniform" -#~ msgstr "Mudar uniforme XForm" - -#~ msgid "Change Cubemap Uniform" -#~ msgstr "Mudar uniforme Cubemap" - -#~ msgid "Change Comment" -#~ msgstr "Mudar comentário" - -#~ msgid "Add/Remove to Color Ramp" -#~ msgstr "Adicionar/remover da rampa de cores" - -#~ msgid "Modify Color Ramp" -#~ msgstr "Modificar rampa de cores" - -#~ msgid "Add/Remove to Curve Map" -#~ msgstr "Adicionar/remover do mapa de curva" - -#~ msgid "Modify Curve Map" -#~ msgstr "Modificar mapa de curva" - -#~ msgid "Connect Graph Nodes" -#~ msgstr "Conectar Nós do gráfico" - -#~ msgid "Remove Shader Graph Node" -#~ msgstr "Remover Nó Gráfico Shader" - -#~ msgid "Move Shader Graph Node" -#~ msgstr "Mover Nó Gráfico Shader" - -#~ msgid "Duplicate Graph Node(s)" -#~ msgstr "Duplicar Nó(s)" - -#~ msgid "Error: Cyclic Connection Link" -#~ msgstr "Erro: conexão cíclica" - -#~ msgid "Error: Missing Input Connections" -#~ msgstr "Erro: Faltam conexões de entrada" - -#~ msgid "Add Shader Graph Node" -#~ msgstr "Adicionar Nó Gráfico Shader" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Subir Pista de Animação" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Descer Pista de Animação" - -#~ msgid "Set Transitions to:" -#~ msgstr "Definir transições para:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Pista Anim Mudar Interpolação" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Pista Anim Mudar Modo do Valor" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Pista Anim Mudar Modo de Embrulho" - -#~ msgid "Edit Node Curve" -#~ msgstr "Editar curva do Nó" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Editar Curva da Seleção" - -#~ msgid "Anim Add Key" -#~ msgstr "Anim Adicionar Chave" - -#~ msgid "In" -#~ msgstr "Dentro" - -#~ msgid "Out" -#~ msgstr "Fora" - -#~ msgid "In-Out" -#~ msgstr "Dentro-Fora" - -#~ msgid "Out-In" -#~ msgstr "Fora-Dentro" - -#~ msgid "Change Anim Len" -#~ msgstr "Mudar Duração da Animação" - -#~ msgid "Change Anim Loop" -#~ msgstr "Mudar Ciclo da Animação" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Anim Criar Chave de Valor Digitado" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Anim Adicionar Pista de chamada" - -#~ msgid "Length (s):" -#~ msgstr "Duração (s):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "Ajuste do Cursor (em segundos)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Ativar/Desativar repetição na Animação." - -#~ msgid "Add new tracks." -#~ msgstr "Adicionar novas Pistas." - -#~ msgid "Move current track up." -#~ msgstr "Mover Pista atual para cima." - -#~ msgid "Move current track down." -#~ msgstr "Mover Pista atual para baixo." - -#~ msgid "Track tools" -#~ msgstr "Ferramentas da Pista" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Ativar edição de Chaves individuais ao clicar nelas." - -#~ msgid "Key" -#~ msgstr "Chave" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Chamar funções em que Nó?" - -#~ msgid "Thanks!" -#~ msgstr "Obrigado!" - -#~ msgid "I see..." -#~ msgstr "Eu vejo..." - -#~ msgid "Ugh" -#~ msgstr "Ugh" - -#~ msgid "Run Script" -#~ msgstr "Executar Script" - -#~ msgid "Stop Profiling" -#~ msgstr "Parar análise" - -#~ msgid "Start Profiling" -#~ msgstr "Começar análise" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "Padrão (mesmo que o Editor)" - -#~ msgid "Create new animation in player." -#~ msgstr "Criar uma nova Animação no reprodutor." - -#~ msgid "Load animation from disk." -#~ msgstr "Abrir Animação do disco." - -#~ msgid "Load an animation from disk." -#~ msgstr "Carregar uma Animação do disco." - -#~ msgid "Save the current animation" -#~ msgstr "Guardar a Animação atual" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "Editar tempos de mistura do alvo" - -#~ msgid "Copy Animation" -#~ msgstr "Copiar Animação" - -#~ msgid "Fetching:" -#~ msgstr "Em busca:" - -#~ msgid "prev" -#~ msgstr "anterior" - -#~ msgid "next" -#~ msgstr "seguinte" - -#~ msgid "last" -#~ msgstr "último" - -#~ msgid "Edit IK Chain" -#~ msgstr "Editar corrente IK" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "Arrastar Eixo da posição do rato" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "Definir Eixo na posição do rato" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "Adicionar/remover Ponto da rampa de cores" - -#~ msgid "OK :(" -#~ msgstr "OK :(" - -#~ msgid "Skeleton Gizmo visibility" -#~ msgstr "Visibilidade do Skeleton Gizmo" - -#~ msgid "StyleBox Preview:" -#~ msgstr "Pré-visualização StyleBox:" - -#~ msgid "Texture Region Editor" -#~ msgstr "Editor da região de textura" - -#~ msgid "Erase selection" -#~ msgstr "Apagar seleção" - -#~ msgid "Item name or ID:" -#~ msgstr "Nome ou ID do item:" - -#~ msgid "Export templates for this platform are missing/corrupted: " -#~ msgstr "" -#~ "Modelos de exportação para esta plataforma estão ausentes/corrompidos: " - -#~ msgid "Button 8" -#~ msgstr "Botão 8" - -#~ msgid "Button 9" -#~ msgstr "Botão 9" - -#~ msgid "Discard Instancing" -#~ msgstr "Descartar instância" - -#~ msgid "Clear!" -#~ msgstr "Limpo!" - -#~ msgid "Toggle Spatial Visible" -#~ msgstr "Alternar visibilidade espacial" - -#~ msgid "Condition" -#~ msgstr "Condição" - -#~ msgid "Sequence" -#~ msgstr "Sequência" - -#~ msgid "Iterator" -#~ msgstr "Iterador" - -#~ msgid "While" -#~ msgstr "Enquanto" - -#~ msgid "Return" -#~ msgstr "Voltar" - -#~ msgid "Call" -#~ msgstr "Chamar" - -#~ msgid "Edit Variable" -#~ msgstr "Editar variável" - -#~ msgid "Edit Signal" -#~ msgstr "Editar sinal" - -#~ msgid "Invalid action (anything goes but '/' or ':')." -#~ msgstr "Ação inválida (tudo menos '/' ou ':')." - -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "Não pode conter '/' ou ':'" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "Formato de version.txt inválido, dentro dos Modelos. Revisão não é um " -#~ "identificador válido." - -#~ msgid "Can't write file." -#~ msgstr "Impossível escrever o Ficheiro." - -#~ msgid "Couldn't get project.godot in project path." -#~ msgstr "Impossível encontrar project.godot no Caminho do Projeto." - -#~ msgid "Replace By" -#~ msgstr "Substituir por" - -#~ msgid "Backwards" -#~ msgstr "Para trás" - -#~ msgid "Prompt On Replace" -#~ msgstr "Perguntar ao substituir" - -#~ msgid "Skip" -#~ msgstr "Ignorar" - -#~ msgid "" -#~ "Your project will be created in a non empty folder (you might want to " -#~ "create a new folder)." -#~ msgstr "" -#~ "O Projeto será criado numa pasta não vazia (poderá preferir criar uma " -#~ "nova pasta)." - -#~ msgid "That's a BINGO!" -#~ msgstr "É um BINGO!" - -#~ msgid "preview" -#~ msgstr "Pré-visualização" - -#~ msgid "Move Add Key" -#~ msgstr "Mover Adicionar Chave" - -#~ msgid "Create Subscription" -#~ msgstr "Criar subscrição" - -#~ msgid "List:" -#~ msgstr "Lista:" - -#~ msgid "Set Emission Mask" -#~ msgstr "Definir máscara de emissão" - -#~ msgid "Clear Emitter" -#~ msgstr "Limpar emissor" - -#~ msgid "Fold Line" -#~ msgstr "Dobrar linha" - -#~ msgid " " -#~ msgstr " " - -#~ msgid "Sections:" -#~ msgstr "Secções:" diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po index cf6ec219e1..ff0154b281 100644 --- a/editor/translations/pt_BR.po +++ b/editor/translations/pt_BR.po @@ -1,6 +1,6 @@ # Portuguese (Brazil) translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Allyson Souza <allyson_as@outlook.com>, 2017. # Anderson Araujo <anderson.araujoprog@gmail.com>, 2018. @@ -129,13 +129,14 @@ # Henrique Darko <henridark00@gmail.com>, 2021. # Cearaj <pmoraisleal@gmail.com>, 2021. # Alefy San <alefyferreiradeoliveira@outlook.com>, 2021. +# Joel Gomes da Silva <joelgomes1994@hotmail.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: 2016-05-30\n" -"PO-Revision-Date: 2021-11-15 21:14+0000\n" -"Last-Translator: Alefy San <alefyferreiradeoliveira@outlook.com>\n" +"PO-Revision-Date: 2021-12-09 23:13+0000\n" +"Last-Translator: Joel Gomes da Silva <joelgomes1994@hotmail.com>\n" "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/" "godot-engine/godot/pt_BR/>\n" "Language: pt_BR\n" @@ -143,7 +144,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 4.9.1-dev\n" +"X-Generator: Weblate 4.10-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -2234,14 +2235,31 @@ msgstr "Métodos" msgid "Theme Properties" msgstr "Propriedades do Tema" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Enumerações" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "Cores" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Constantes" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "Fontes" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "Ícones" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Styles" +msgstr "Estilo" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Enumerações" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Descrições da Propriedade" @@ -3426,9 +3444,8 @@ msgid "Merge With Existing" msgstr "Fundir Com Existente" #: editor/editor_node.cpp -#, fuzzy msgid "Apply MeshInstance Transforms" -msgstr "Alterar Transformação da Animação" +msgstr "Aplicar transformações da MeshInstance" #: editor/editor_node.cpp msgid "Open & Run a Script" @@ -7372,9 +7389,8 @@ msgid "Flip Portal" msgstr "Virar Portal" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Occluder Set Transform" -msgstr "Limpar Transformação" +msgstr "Aplicar transformação do Occluder" #: editor/plugins/room_manager_editor_plugin.cpp msgid "Center Node" @@ -8011,11 +8027,11 @@ msgstr "Escala" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scaling: " -msgstr "Escala: " +msgstr "Escalonando: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Translating: " -msgstr "Transladar: " +msgstr "Transladando: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -8035,7 +8051,7 @@ msgstr "Tom:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Yaw:" -msgstr "" +msgstr "Guinada:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Size:" @@ -8293,24 +8309,23 @@ msgstr "Visão Direita" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orbit View Down" -msgstr "Vista Órbita Baixo" +msgstr "Orbitar Visão Para Baixo" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orbit View Left" -msgstr "Vista Órbita Esquerda" +msgstr "Orbitar Visão Para Esquerda" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orbit View Right" -msgstr "Vista Órbita Direita" +msgstr "Orbitar Visão Para Direita" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Orbit View Up" -msgstr "Visão Frontal" +msgstr "Orbitar Visão Para Cima" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orbit View 180" -msgstr "Vista Órbita 180" +msgstr "Orbitar Visão Em 180" #: editor/plugins/spatial_editor_plugin.cpp msgid "Switch Perspective/Orthogonal View" @@ -8382,14 +8397,12 @@ msgid "View Grid" msgstr "Ver Grade" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "View Portal Culling" -msgstr "Configurações da Viewport" +msgstr "Ver Ocultação Do Portal" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "View Occlusion Culling" -msgstr "Configurações da Viewport" +msgstr "Ver Ocultação Pela Oclusão" #: editor/plugins/spatial_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp @@ -8457,9 +8470,8 @@ msgid "Post" msgstr "Pós" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Unnamed Gizmo" -msgstr "Projeto Sem Nome" +msgstr "Gizmo Sem Nome" #: editor/plugins/sprite_editor_plugin.cpp msgid "Create Mesh2D" @@ -8711,18 +8723,6 @@ msgid "TextureRegion" msgstr "Região da Textura" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "Cores" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "Fontes" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "Ícones" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "Styleboxes" @@ -8763,9 +8763,8 @@ msgid "{num} stylebox(es)" msgstr "{num} stylebox(es)" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "No styleboxes found." -msgstr "Nenhum sub-recurso encontrado." +msgstr "Nenhuma caixa de estilo encontrada." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} currently selected" @@ -8943,7 +8942,6 @@ msgid "Remove All Icon Items" msgstr "Remover Todos os Itens de Ícone" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All StyleBox Items" msgstr "Remover Todos os Itens de StyleBox" @@ -8972,7 +8970,6 @@ msgid "Add Icon Item" msgstr "Adicionar Item de Ícone" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add Stylebox Item" msgstr "Adicionar Item de Stylebox" @@ -8993,7 +8990,6 @@ msgid "Rename Icon Item" msgstr "Renomear Item de Ícone" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Rename Stylebox Item" msgstr "Renomear Item de Stylebox" @@ -9026,7 +9022,6 @@ msgid "Add Item:" msgstr "Adicionar Item:" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Add StyleBox Item" msgstr "Adicionar Item de Stylebox" @@ -9087,18 +9082,16 @@ msgid "Override Item" msgstr "Sobrescrever Item" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Unpin this StyleBox as a main style." -msgstr "Desafixar essa StyleBox do estilo principal." +msgstr "Desafixar essa StyleBox como um estilo principal." #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "" "Pin this StyleBox as a main style. Editing its properties will update the " "same properties in all other StyleBoxes of this type." msgstr "" -"Fixar essa StyleBox como estilo principal. Editar suas propriedades vai " -"atualizar as mesmas propriedades em todas as outras StyleBoxes desse modelo." +"Fixe este StyleBox como um estilo principal. A edição de suas propriedades " +"atualizará as mesmas propriedades em todos os outros StyleBoxes deste tipo." #: editor/plugins/theme_editor_plugin.cpp msgid "Add Type" @@ -9158,6 +9151,8 @@ msgid "" "Toggle the control picker, allowing to visually select control types for " "edit." msgstr "" +"Alterar o selecionador de controles, permitindo selecionar visualmente os " +"tipos de controles para edição." #: editor/plugins/theme_editor_preview.cpp msgid "Toggle Button" @@ -9192,9 +9187,8 @@ msgid "Checked Radio Item" msgstr "Item Rádio Marcado" #: editor/plugins/theme_editor_preview.cpp -#, fuzzy msgid "Named Separator" -msgstr "Sep. Nomeado." +msgstr "Separador Nomeado" #: editor/plugins/theme_editor_preview.cpp msgid "Submenu" @@ -9878,7 +9872,7 @@ msgstr "Tipo de Entrada de Shader Visual Alterado" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "UniformRef Name Changed" -msgstr "Ref. Uniforme Nome alterado" +msgstr "Nome de UniformRef Alterado" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" @@ -10800,14 +10794,13 @@ msgid "Encrypted (Provide Key Below)" msgstr "Criptografado (Forneça Chave Abaixo)" #: editor/project_export.cpp -#, fuzzy msgid "Invalid Encryption Key (must be 64 hexadecimal characters long)" -msgstr "Chave de Criptografia Inválida (é necessário 64 caracteres)" +msgstr "" +"Chave de Criptografia Inválida (deve conter 64 caracteres hexadecimais)" #: editor/project_export.cpp -#, fuzzy msgid "GDScript Encryption Key (256-bits as hexadecimal):" -msgstr "Chave de Criptografia dos Scripts (256-bit como hex):" +msgstr "Chave de Criptografia do GDScript (256-bits como hexadecimal):" #: editor/project_export.cpp msgid "Export PCK/Zip" @@ -10879,9 +10872,8 @@ msgid "Imported Project" msgstr "Projeto Importado" #: editor/project_manager.cpp -#, fuzzy msgid "Invalid project name." -msgstr "Nome do Projeto Inválido." +msgstr "Nome de projeto inválido." #: editor/project_manager.cpp msgid "Couldn't create folder." @@ -11106,9 +11098,8 @@ msgid "Are you sure to run %d projects at once?" msgstr "Tem certeza de que quer executar %d projetos ao mesmo tempo?" #: editor/project_manager.cpp -#, fuzzy msgid "Remove %d projects from the list?" -msgstr "Remover projetos %d da lista?" +msgstr "Remover %d projetos da lista?" #: editor/project_manager.cpp msgid "Remove this project from the list?" @@ -11162,9 +11153,8 @@ msgid "Edit Project" msgstr "Editar Projeto" #: editor/project_manager.cpp -#, fuzzy msgid "Run Project" -msgstr "Renomear Projeto" +msgstr "Executar Projeto" #: editor/project_manager.cpp msgid "Scan" @@ -11231,16 +11221,14 @@ msgid "Filter projects" msgstr "Filtrar Projetos" #: 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 "" -"A caixa de busca filtra projetos por nome e pelo último componente do " -"caminho.\n" -"Para filtrar projetos por nome e pelo caminho completo, a consulta deve " -"conter pelo menos um caractere `/`." +"Este campo filtra projetos pelo nome e o último componente do caminho.\n" +"Para filtrar projetos por nome e caminho completo, a consulta deve conter " +"pelo menos um caractere `/`." #: editor/project_settings_editor.cpp msgid "Physical Key" @@ -11295,9 +11283,8 @@ msgid "Device" msgstr "Dispositivo" #: editor/project_settings_editor.cpp -#, fuzzy msgid " (Physical)" -msgstr " Físico" +msgstr " (Físico)" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Press a Key..." @@ -11448,14 +11435,12 @@ msgid "Remove Translation" msgstr "Remover Tradução" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Translation Resource Remap: Add %d Path(s)" -msgstr "Remapeamento de Recurso Adicionar Remap" +msgstr "Remapeamento De Recurso De Tradução: Adicionados %d Caminho(s)" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Translation Resource Remap: Add %d Remap(s)" -msgstr "Remapeamento de Recurso Adicionar Remap" +msgstr "Remapeamento de Recurso de Tradução: Adicionados %d Remapeamento(s)" #: editor/project_settings_editor.cpp msgid "Change Resource Remap Language" @@ -11916,6 +11901,10 @@ msgid "" "FileSystem dock context menu\n" "or create an inherited scene using Scene > New Inherited Scene... instead." msgstr "" +"Não é possível salvar o ramo do nó raiz como uma cena instanciada.\n" +"Para criar uma cópia editável da cena atual, duplique-a usando o menu de " +"contexto de Arquivos\n" +"ou crie uma cena herdada usando Cena > Nova Cena Herdada." #: editor/scene_tree_dock.cpp msgid "" @@ -11923,6 +11912,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ão é possível salvar a ramificação de uma cena já instanciada.\n" +"Para criar uma variação de uma cena, você pode criar uma cena herdada " +"baseada na cena instanciada usando Cena > Nova Cena Herdada ... ao invés " +"disso." #: editor/scene_tree_dock.cpp msgid "Save New Scene As..." @@ -12581,24 +12574,20 @@ 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" +msgstr "Definir Posição Do Ponto Da Sala" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Set Portal Point Position" -msgstr "Definir Posição do Ponto da Curva" +msgstr "Definir Posição Do Ponto Do Portal" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Set Occluder Sphere Radius" -msgstr "Alterar o Raio da Forma do Cilindro" +msgstr "Definir Raio Da Esfera Do Oclusor" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Set Occluder Sphere Position" -msgstr "Colocar a Curva na Posição" +msgstr "Definir Posição Da Esfera Do Oclusor" #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" @@ -12711,9 +12700,8 @@ msgid "Object can't provide a length." msgstr "Objeto não pôde fornecer um comprimento." #: modules/gltf/editor_scene_exporter_gltf_plugin.cpp -#, fuzzy msgid "Export Mesh GLTF2" -msgstr "Exportar Biblioteca de Malhas" +msgstr "Exportar Malha GLTF2" #: modules/gltf/editor_scene_exporter_gltf_plugin.cpp msgid "Export GLTF..." @@ -12760,9 +12748,8 @@ msgid "GridMap Paint" msgstr "Pintura GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Selection" -msgstr "Seleção de preenchimento GridMap" +msgstr "Seleção Do GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" @@ -13017,14 +13004,12 @@ msgid "Add Output Port" msgstr "Adicionar porta de saída" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Port Type" -msgstr "Mudar Tipo" +msgstr "Alterar Tipo Da Porta" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Port Name" -msgstr "Alterar nome da porta de entrada" +msgstr "Alterar Nome Da Porta" #: modules/visual_script/visual_script_editor.cpp msgid "Override an existing built-in function." @@ -13418,14 +13403,12 @@ msgid "Uninstalling..." msgstr "Desinstalando..." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Installing to device, please wait..." -msgstr "Carregando, por favor aguarde." +msgstr "Instalando no dispositivo, aguarde..." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Could not install to device: %s" -msgstr "Não foi possível instalar para o dispositivo: %s" +msgstr "Não foi possível instalar no dispositivo: %s" #: platform/android/export/export_plugin.cpp msgid "Running on device..." @@ -13531,8 +13514,16 @@ msgstr "" "utilizar plugins." #: platform/android/export/export_plugin.cpp +#, fuzzy msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" +"\"Hand Tracking\" só é válido quando o \"Xr Mode\" é \"Oculus Mobile VR\"." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" "\"Hand Tracking\" só é válido quando o \"Xr Mode\" é \"Oculus Mobile VR\"." @@ -13543,12 +13534,37 @@ msgstr "" "habilitado." #: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" +"\"Exportar AAB\" só é válido quando \"Usar Compilação Customizada\" está " +"habilitado." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" +"\"Exportar AAB\" só é válido quando \"Usar Compilação Customizada\" está " +"habilitado." + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp 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 "" +"'apksigner' não foi encontrado.\n" +"Verifique se o comando está disponível no diretório do Android SDK build-" +"tools.\n" +"O %s resultante está sem assinatura." #: platform/android/export/export_plugin.cpp msgid "Signing debug %s..." @@ -13559,9 +13575,8 @@ msgid "Signing release %s..." msgstr "Assinando lançamento %s..." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Could not find keystore, unable to export." -msgstr "Não foi possível encontrar a keystore, incapaz de exportar." +msgstr "O keystore não foi encontrado, não foi possível exportar." #: platform/android/export/export_plugin.cpp msgid "'apksigner' returned with error #%d" @@ -13680,6 +13695,10 @@ msgid "" "Please build a template with all required libraries, or uncheck the missing " "architectures in the export preset." msgstr "" +"Faltam bibliotecas no modelo de exportação para as arquiteturas " +"selecionadas: %s.\n" +"Crie um modelo com todas as bibliotecas necessárias ou desmarque as " +"arquiteturas ausentes na predefinição de exportação." #: platform/android/export/export_plugin.cpp msgid "Adding files..." @@ -13695,7 +13714,7 @@ msgstr "Alinhando APK..." #: platform/android/export/export_plugin.cpp msgid "Could not unzip temporary unaligned APK." -msgstr "" +msgstr "Não foi possível descompactar o APK temporário não alinhado." #: platform/iphone/export/export.cpp platform/osx/export/export.cpp msgid "Identifier is missing." @@ -13747,40 +13766,36 @@ msgid "Could not read file:" msgstr "Não foi possível ler o arquivo:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read HTML shell:" -msgstr "Não foi possível ler o shell HTML personalizado:" +msgstr "Não foi possível ler o shell HTML:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not create HTTP server directory:" -msgstr "Não foi possível criar a pasta." +msgstr "Não foi possível criar o diretório do servidor HTTP:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Error starting HTTP server:" -msgstr "Erro iniciando servidor HTTP:" +msgstr "Erro ao iniciar servidor HTTP:" #: platform/osx/export/export.cpp -#, fuzzy msgid "Invalid bundle identifier:" -msgstr "O nome não é um identificador válido:" +msgstr "Identificador de pacote inválido:" #: platform/osx/export/export.cpp msgid "Notarization: code signing required." -msgstr "" +msgstr "Notarização: assinatura de código necessária." #: platform/osx/export/export.cpp msgid "Notarization: hardened runtime required." -msgstr "" +msgstr "Notarização: requer tempo de execução reforçado." #: platform/osx/export/export.cpp msgid "Notarization: Apple ID name not specified." -msgstr "" +msgstr "Notarização: Nome do Apple ID não especificado." #: platform/osx/export/export.cpp msgid "Notarization: Apple ID password not specified." -msgstr "" +msgstr "Notarização: Senha do Apple ID não especificada." #: platform/uwp/export/export.cpp msgid "Invalid package short name." @@ -14211,6 +14226,9 @@ msgid "" "longer has any effect.\n" "To remove this warning, disable the GIProbe's Compress property." msgstr "" +"A propriedade GIProbe Compress se tornou obsoleta devido a bugs conhecidos e " +"não tem mais qualquer efeito.\n" +"Para remover este aviso, desative a propriedade Compress do GIProbe." #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -14232,11 +14250,11 @@ msgstr "" #: scene/3d/occluder.cpp msgid "No shape is set." -msgstr "" +msgstr "Nenhuma forma foi definida." #: scene/3d/occluder.cpp msgid "Only uniform scales are supported." -msgstr "" +msgstr "Apenas escalas uniformes são suportadas." #: scene/3d/particles.cpp msgid "" @@ -14306,7 +14324,7 @@ msgstr "Nó A e Nó B devem ser diferente PhysicsBodies" #: scene/3d/portal.cpp msgid "The RoomManager should not be a child or grandchild of a Portal." -msgstr "" +msgstr "O RoomManager não deve ser filho ou neto de um Portal." #: scene/3d/portal.cpp msgid "A Room should not be a child or grandchild of a Portal." @@ -14341,6 +14359,8 @@ msgid "" "Room convex hull contains a large number of planes.\n" "Consider simplifying the room bound in order to increase performance." msgstr "" +"O formato convexo da sala contém um grande número de planos.\n" +"Considere simplificar o limite da sala para aumentar o desempenho." #: scene/3d/room_group.cpp msgid "The RoomManager should not be placed inside a RoomGroup." @@ -14348,7 +14368,7 @@ msgstr "O RoomManager não deve ser colocado dentro de um RoomGroup." #: scene/3d/room_manager.cpp msgid "The RoomList has not been assigned." -msgstr "" +msgstr "O RoomList não foi atribuído." #: scene/3d/room_manager.cpp msgid "The RoomList node should be a Spatial (or derived from Spatial)." @@ -14359,6 +14379,8 @@ msgid "" "Portal Depth Limit is set to Zero.\n" "Only the Room that the Camera is in will render." msgstr "" +"Limite de profundidade do Portal está definido como zero.\n" +"Apenas a Room em que a Camera está será renderizada." #: scene/3d/room_manager.cpp msgid "There should only be one RoomManager in the SceneTree." @@ -14369,6 +14391,8 @@ msgid "" "RoomList path is invalid.\n" "Please check the RoomList branch has been assigned in the RoomManager." msgstr "" +"O caminho de RoomList é inválido.\n" +"Verifique se a ramificação de RoomList foi atribuída no RoomManager." #: scene/3d/room_manager.cpp msgid "RoomList contains no Rooms, aborting." @@ -14377,28 +14401,39 @@ msgstr "A RoomList não contem Rooms, abortando." #: scene/3d/room_manager.cpp msgid "Misnamed nodes detected, check output log for details. Aborting." msgstr "" +"Nós com nomes incorretos detectados, verifique o log de saída para obter " +"detalhes. Abortando." #: scene/3d/room_manager.cpp msgid "Portal link room not found, check output log for details." msgstr "" +"Sala de link do Portal não encontrada, verifique o log de saída para obter " +"detalhes." #: 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 "" +"Falha no autolink do portal, verifique o log de saída para obter detalhes.\n" +"Verifique se o portal está voltado para fora da sala de origem." #: scene/3d/room_manager.cpp msgid "" "Room overlap detected, cameras may work incorrectly in overlapping area.\n" "Check output log for details." msgstr "" +"Sobreposição de sala detectada, as câmeras podem funcionar incorretamente na " +"área de sobreposição.\n" +"Verifique o log de saída para obter detalhes." #: scene/3d/room_manager.cpp msgid "" "Error calculating room bounds.\n" "Ensure all rooms contain geometry or manual bounds." msgstr "" +"Erro ao calcular os limites da sala.\n" +"Certifique-se de que todos os quartos contenham geometria ou limites manuais." #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." @@ -14463,7 +14498,7 @@ msgstr "Animação não encontrada: '%s'" #: scene/animation/animation_player.cpp msgid "Anim Apply Reset" -msgstr "" +msgstr "Aplicar Redefinição De Animação" #: scene/animation/animation_tree.cpp msgid "In node '%s', invalid animation: '%s'." @@ -14572,6 +14607,10 @@ msgid "" "The GLES2 backend is currently in use, so these modes will act like Stretch " "instead." msgstr "" +"As opções Tile e Tile Fit para as propriedades Axis Stretch só são eficazes " +"ao usar o backend de renderização GLES3.\n" +"O backend GLES2 está atualmente em uso, então esses modos funcionarão como " +"Stretch." #: scene/gui/popup.cpp msgid "" @@ -14617,6 +14656,11 @@ msgid "" "Consider using a script's process loop instead of relying on a Timer for " "very low wait times." msgstr "" +"Tempos de espera muito baixos (<0,05 segundos) podem se comportar de " +"maneiras significativamente diferentes, dependendo da taxa de quadros " +"renderizada ou de física.\n" +"Considere o uso de um loop de processo em um script em vez de depender de um " +"Timer para tempos de espera muito baixos." #: scene/main/viewport.cpp msgid "" @@ -14640,7 +14684,7 @@ msgstr "" #: scene/resources/occluder_shape.cpp msgid "OccluderShapeSphere Set Spheres" -msgstr "" +msgstr "Atribuir esferas do OccluderShapeSphere" #: scene/resources/visual_shader_nodes.cpp msgid "" @@ -14663,21 +14707,24 @@ msgid "Invalid comparison function for that type." msgstr "Função de comparação inválida para esse tipo." #: servers/visual/shader_language.cpp -#, fuzzy msgid "Varying may not be assigned in the '%s' function." -msgstr "Variáveis só podem ser atribuídas na função de vértice." +msgstr "A variação não pode ser atribuída na função '%s'." #: servers/visual/shader_language.cpp msgid "" "Varyings which assigned in 'vertex' function may not be reassigned in " "'fragment' or 'light'." msgstr "" +"As variações atribuídas na função 'vertex' não podem ser reatribuídas em " +"'fragment' ou 'light'." #: servers/visual/shader_language.cpp msgid "" "Varyings which assigned in 'fragment' function may not be reassigned in " "'vertex' or 'light'." msgstr "" +"Variações atribuídas na função 'fragment' não podem ser reatribuídas em " +"'vertex' ou 'light'." #: servers/visual/shader_language.cpp msgid "Fragment-stage varying could not been accessed in custom function!" @@ -14694,2122 +14741,3 @@ msgstr "Atribuição à uniforme." #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Constantes não podem serem modificadas." - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "Faça Resto Pose (De Ossos)" - -#~ msgid "Bottom" -#~ msgstr "Baixo" - -#~ msgid "Left" -#~ msgstr "Esquerda" - -#~ msgid "Right" -#~ msgstr "Direita" - -#~ msgid "Front" -#~ msgstr "Frente" - -#~ msgid "Rear" -#~ msgstr "Traseira" - -#~ msgid "Nameless gizmo" -#~ msgstr "Coisa sem nome" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "\"Degrees Of Freedom\" só é válido quando o \"Xr Mode\" é \"Oculus Mobile " -#~ "VR\"." - -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "\"Focus Awareness\" só é válido quando o \"Oculus Mobile VR\" está no " -#~ "\"Xr Mode\"." - -#~ msgid "Package Contents:" -#~ msgstr "Conteúdo:" - -#~ msgid "Singleton" -#~ msgstr "Singleton" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Apagar perfil '%s'? (sem desfazer)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Propriedades Ativadas:" - -#~ msgid "Enabled Features:" -#~ msgstr "Funcionalidades Ativadas:" - -#~ msgid "Unset" -#~ msgstr "Desmontardo" - -#~ msgid "Class Options" -#~ msgstr "Opções da Classe" - -#~ msgid "Set" -#~ msgstr "Set" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Foram salvos %s recurso(s) modificado(s)." - -#~ msgid "Q&A" -#~ msgstr "Perguntas & Respostas" - -#~ msgid "Status:" -#~ msgstr "Status:" - -#~ msgid "Edit:" -#~ msgstr "Editar:" - -#~ msgid "Redownload" -#~ msgstr "Baixar Novamente" - -#~ msgid "(Installed)" -#~ msgstr "(Instalado)" - -#~ msgid "(Missing)" -#~ msgstr "(Faltando)" - -#~ msgid "Request Failed." -#~ msgstr "A Solicitação Falhou." - -#~ msgid "Redirect Loop." -#~ msgstr "Loop de Redirecionamento." - -#~ msgid "Download Complete." -#~ msgstr "Download completo." - -#~ msgid "Remove Template" -#~ msgstr "Remover Modelo" - -#~ msgid "Download Templates" -#~ msgstr "Baixar Modelos" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "Selecione um espelho da lista: (Shift+Click: Abrir no Navegador)" - -#~ msgid "Move to Trash" -#~ msgstr "Mover para o Lixo" - -#~ msgid "Expand All Properties" -#~ msgstr "Expandir Todas as Propriedades" - -#~ msgid "Collapse All Properties" -#~ msgstr "Recolher Todas as Propriedades" - -#~ msgid "Copy Params" -#~ msgstr "Copiar Parâmetros" - -#~ msgid "Open in Help" -#~ msgstr "Abrir na Ajuda" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "Sobrepor Câmera de Jogo\n" -#~ "Sem instância de jogo em execução." - -#~ msgid "Drag: Rotate" -#~ msgstr "Arrastar: Rotacionar" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Aperte \"v\" para Alterar Pivô, \"Shift+v\" para Arrastar Pivô (enquanto " -#~ "o move)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt + botão direito do mouse: Lista de seleção de profundidade" - -#~ msgid "Clone Down" -#~ msgstr "Clonar Abaixo" - -#~ msgid "Yaw" -#~ msgstr "Guinada" - -#~ msgid "Size" -#~ msgstr "Tamanho" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "Arrastar: Rotacionar\n" -#~ "Alt + Arrastar: Mover\n" -#~ "Alt + botão direito do mouse: Lista de Profundidade" - -#~ msgid "Sep.:" -#~ msgstr "Set .:" - -#~ msgid "Add All" -#~ msgstr "Adicionar Todos" - -#~ msgid "Theme editing menu." -#~ msgstr "Menu de edição de tema." - -#~ msgid "Create Empty Template" -#~ msgstr "Criar Modelo Vazio" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "Criar Modelo de Editor Vazio" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "Criar a Partir do Tema Atual do Editor" - -#~ msgid "Data Type:" -#~ msgstr "Tipo de Dados:" - -#~ msgid "Theme File" -#~ msgstr "Arquivo de Tema" - -#~ msgid "Compiled" -#~ msgstr "Compilado" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "Remover %d projetos da lista?\n" -#~ "O conteúdo das pastas do projeto não será modificado." - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "Remover este projeto da lista?\n" -#~ "O conteúdo da pasta do projeto não será modificado." - -#~ msgid "Templates" -#~ msgstr "Modelos" - -#~ msgid "Add Remapped Path" -#~ msgstr "Adicionar Caminho Remapeado" - -#~ msgid "Can not perform with the root node." -#~ msgstr "Não é possível trabalhar com o nó raiz." - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "Não foi possível ler o arquivo de imagem boot splash:" - -#~ msgid "Using default boot splash image." -#~ msgstr "Usando imagem boot splash padrão." - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Um tocador de animação não pode animar a si mesmo, apenas outros " -#~ "tocadores." - -#~ msgid "Clipboard is empty" -#~ msgstr "Área de transferência vazia" - -#~ msgid "" -#~ "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -#~ msgstr "IntepolatedCamera foi depreciada e será removida no Godot 4.0." - -#~ msgid "No" -#~ msgstr "Não" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Esta cena nunca foi salva. Salvar antes de rodar?" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "Executável ADB não configurado nas opções do Editor." - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "OpenJDK jarsigner não configurado nas opções do Editor." - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "" -#~ "Build personalizada precisa de um caminho Android SDK válido em " -#~ "Configurações do Editor." - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(Tempo Restante: %d:%02d s)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "Planejando Malhas: " - -#~ msgid "Lighting Meshes: " -#~ msgstr "Iluminando Malhas: " - -#~ msgid "Search complete" -#~ msgstr "Pesquisa concluída" - -#~ msgid "No commit message was provided" -#~ msgstr "Nenhuma mensagem de confirmação foi fornecida" - -#~ msgid "Add a commit message" -#~ msgstr "Adicione uma mensagem ao commit" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "Já há uma pasta ou arquivo neste caminho com o nome especificado." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Erro ao salvar o layout!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Layout padrão do editor sobrescrito." - -#~ msgid "Move pivot" -#~ msgstr "Mover Pivô" - -#~ msgid "Move anchor" -#~ msgstr "Mova a âncora" - -#~ msgid "Resize CanvasItem" -#~ msgstr "Redimensionar o CanvasItem" - -#~ msgid "Polygon->UV" -#~ msgstr "Polígono->UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV->Polígono" - -#~ msgid "Add initial export..." -#~ msgstr "Adicionar exportação inicial..." - -#~ msgid "Add previous patches..." -#~ msgstr "Adicionar patches anteriores..." - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "Excluir alteração '%s' da lista?" - -#~ msgid "Patches" -#~ msgstr "Alterações" - -#~ msgid "Make Patch" -#~ msgstr "Criar Alteração" - -#~ msgid "Pack File" -#~ msgstr "Empacotar Arquivo" - -#~ msgid "No build apk generated at: " -#~ msgstr "Nenhuma construção apk gerada em: " - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "Sistema de Arquivos e Importar Docks" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "Quando exportando ou instalando, o programa resultante tentará conectar " -#~ "ao IP deste computador para poder ser depurado." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "A cena atual nunca foi salva. Por favor salve antes de rodá-la." - -#~ msgid "Revert" -#~ msgstr "Reverter" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Esta ação não pode ser desfeita. Reverter mesmo assim?" - -#~ msgid "Revert Scene" -#~ msgstr "Reverter Cena" - -#~ msgid "Clear Script" -#~ msgstr "Remover Script" - -#~ msgid "Issue Tracker" -#~ msgstr "Rastreador de Problemas" - -#~ msgid "Request Docs" -#~ msgstr "Solicitar documentos" - -#~ msgid "Help improve the Godot documentation by giving feedback." -#~ msgstr "Ajude a melhorar a documentação do Godot dando seu feedback." - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "%d ocorrência(s) substituída(s)." - -#~ msgid "Create Static Convex Body" -#~ msgstr "Criar Corpo Convexo Estático" - -#~ msgid "Failed creating shapes!" -#~ msgstr "Falha ao criar formas!" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Atualmente não há tutoriais para essa classe. Você pode [color=$color]" -#~ "[url=$url]contribuir criando um[/url][/color] ou [color=$color][url=" -#~ "$url2]solicitar[/url][/color]." - -#~ msgid "enum " -#~ msgstr "enum " - -#~ msgid "Brief Description" -#~ msgstr "Breve Descrição" - -#~ msgid "Class Description" -#~ msgstr "Descrição da Classe" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "Falha na exportação do projeto com código de erro %d." - -#~ msgid "Password:" -#~ msgstr "Senha:" - -#~ msgid "Identifier segments must be of non-zero length." -#~ msgstr "Segmentos identificadores devem ter comprimento diferente de zero." - -#~ msgid "A digit cannot be the first character in a Identifier segment." -#~ msgstr "" -#~ "Um digito não pode ser o primeiro caractere de um segmento identificador." - -#~ msgid "" -#~ "The character '%s' cannot be the first character in a Identifier segment." -#~ msgstr "" -#~ "O caractere '%s' não pode ser o primeiro caractere de um segmento " -#~ "identificador." - -#~ msgid "The Identifier must have at least one '.' separator." -#~ msgstr "O identificador deve ter pelo menos um separador '.'." - -#~ msgid "Pause the scene" -#~ msgstr "Pausar a cena" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Control+" -#~ msgstr "Control+" - -#~ msgid "Snap to Grid" -#~ msgstr "Encaixar na grade" - -#~ msgid "Add input +" -#~ msgstr "Adicionar Entrada +" - -#~ msgid "Language" -#~ msgstr "Linguagem" - -#~ msgid "Inherits" -#~ msgstr "Herda de" - -#~ msgid "Base Type:" -#~ msgstr "Tipo de Base:" - -#~ msgid "Available Nodes:" -#~ msgstr "Nodes Disponíveis:" - -#~ msgid "Input" -#~ msgstr "Entrada" - -#~ msgid "Methods:" -#~ msgstr "Métodos:" - -#~ msgid "Theme Properties:" -#~ msgstr "Propriedades do Tema:" - -#~ msgid "Enumerations:" -#~ msgstr "Enumerações:" - -#~ msgid "Constants:" -#~ msgstr "Constantes:" - -#~ msgid "Class Description:" -#~ msgstr "Descrição da Classe:" - -#~ msgid "Property Descriptions:" -#~ msgstr "Descrições da Propriedade:" - -#~ msgid "Method Descriptions:" -#~ msgstr "Descrições do Método:" - -#~ msgid "" -#~ "This will install the Android project for custom builds.\n" -#~ "Note that, in order to use it, it needs to be enabled per export preset." -#~ msgstr "" -#~ "Isso instalará o projeto Android para compilações personalizadas.\n" -#~ "Note que, para usá-lo, ele precisa estar habilitado por predefinição de " -#~ "exportação." - -#~ msgid "Reverse sorting." -#~ msgstr "Inverter ordenação." - -#~ msgid "Delete Node(s)?" -#~ msgstr "Excluir Nó(s)?" - -#~ msgid "No Matches" -#~ msgstr "Sem Correspondências" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "Falha ao abrir file_type_cache.cch para escrita, cache de tipos de " -#~ "arquivo não salvo!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "Impossível navegar até '%s' pois não existe no sistema de arquivos!" - -#~ msgid "Error loading image:" -#~ msgstr "Erro ao carregar imagem:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "Nenhum pixel com transparência > 128 na imagem." - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "Pai não tem faces sólidas para popular." - -#~ msgid "Couldn't map area." -#~ msgstr "Não foi possível mapear área." - -#~ msgid "Faces contain no area!" -#~ msgstr "As faces não têm área!" - -#~ msgid "No faces!" -#~ msgstr "Nenhuma face!" - -#~ msgid "Error: could not load file." -#~ msgstr "Erro: Não foi possível carregar o arquivo." - -#~ msgid "Error could not load file." -#~ msgstr "Erro: não pôde carregar o arquivo." - -#~ msgid "Doppler Enable" -#~ msgstr "Habilitar Doppler" - -#~ msgid "Select Mode (Q)" -#~ msgstr "Modo de Seleção (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "Modo Mover (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "Modo Rotacionar" - -#~ msgid "Scale Mode (R)" -#~ msgstr "Modo Escala (R)" - -#~ msgid "Local Coords" -#~ msgstr "Local Coords" - -#~ msgid "Snap Mode (%s)" -#~ msgstr "Modo Encaixe (%s)" - -#~ msgid "Tool Select" -#~ msgstr "Ferramenta Selecionar" - -#~ msgid "Tool Move" -#~ msgstr "Ferramenta Mover" - -#~ msgid "Tool Rotate" -#~ msgstr "Ferramenta Rotacionar" - -#~ msgid "Tool Scale" -#~ msgstr "Ferramenta Escalar" - -#, fuzzy -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "Remover projeto da lista? (O conteúdo da pasta não será modificado)" - -#~ msgid "Project List" -#~ msgstr "Lista de Projetos" - -#~ msgid "Exit" -#~ msgstr "Sair" - -#~ msgid "Could not execute PVRTC tool:" -#~ msgstr "Não se pôde executar a ferramenta PVRTC:" - -#~ msgid "Can't load back converted image using PVRTC tool:" -#~ msgstr "Não se pôde carregar de volta imagem convertida por PVRTC:" - -#~ msgid "Error initializing FreeType." -#~ msgstr "Erro ao inicializar FreeType." - -#~ msgid "Unknown font format." -#~ msgstr "Formato de fonte desconhecido." - -#~ msgid "Error loading font." -#~ msgstr "Erro ao carregar fonte." - -#~ msgid "Invalid font size." -#~ msgstr "Tamanho de fonte inválido." - -#~ msgid "Previous Folder" -#~ msgstr "Pasta Anterior" - -#~ msgid "Next Folder" -#~ msgstr "Próxima Pasta" - -#~ msgid "Automatically Open Screenshots" -#~ msgstr "Abrir Capturas de Tela Automaticamente" - -#~ msgid "Open in an external image editor." -#~ msgstr "Abrir em um editor de imagens externo." - -#~ msgid "Reverse" -#~ msgstr "Reverso" - -#~ msgid "Mirror X" -#~ msgstr "Espelhar X" - -#~ msgid "Mirror Y" -#~ msgstr "Espelhar Y" - -#~ msgid "Generating solution..." -#~ msgstr "Gerando solução..." - -#~ msgid "Generating C# project..." -#~ msgstr "Gerando projeto C#..." - -#~ msgid "Failed to create solution." -#~ msgstr "Falha ao criar solução." - -#~ msgid "Failed to save solution." -#~ msgstr "Falha ao salvar solução." - -#~ msgid "Failed to create C# project." -#~ msgstr "Falha ao criar projeto C#." - -#~ msgid "Mono" -#~ msgstr "Mono" - -#~ msgid "About C# support" -#~ msgstr "Sobre o suporte ao C#" - -#~ msgid "Create C# solution" -#~ msgstr "Criar solução C#" - -#~ msgid "Builds" -#~ msgstr "Compilações" - -#~ msgid "Build Project" -#~ msgstr "Compilar Projeto" - -#~ msgid "View log" -#~ msgstr "Ver registro" - -#~ msgid "WorldEnvironment needs an Environment resource." -#~ msgstr "WorldEnvironment precisa de um recurso Environment." - -#~ msgid "Enabled Classes" -#~ msgstr "Classes Ativadas" - -#~ msgid "Update Always" -#~ msgstr "Atualizar Sempre" - -#~ msgid "Raw Mode" -#~ msgstr "Modo Bruto" - -#~ msgid "Path to Node:" -#~ msgstr "Caminho para o Nó:" - -#~ msgid "Delete selected files?" -#~ msgstr "Excluir arquivos selecionados?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "Não há nenhum arquivo 'res://default_bus_layout.tres'." - -#~ msgid "Go to parent folder" -#~ msgstr "Ir para pasta pai" - -#~ msgid "Open Scene(s)" -#~ msgstr "Abrir Cena(s)" - -#~ msgid "Previous Directory" -#~ msgstr "Diretório Anterior" - -#~ msgid "Next Directory" -#~ msgstr "Próximo Diretório" - -#~ msgid "Ease in" -#~ msgstr "Suavizar início" - -#~ msgid "Ease out" -#~ msgstr "Suavizar final" - -#~ msgid "Create Convex Static Body" -#~ msgstr "Criar um Corpo Estático Convexo" - -#~ msgid "CheckBox Radio1" -#~ msgstr "CheckBox Rádio1" - -#~ msgid "CheckBox Radio2" -#~ msgstr "CheckBox Rádio2" - -#~ msgid "Create folder" -#~ msgstr "Criar Pasta" - -#~ msgid "Custom Node" -#~ msgstr "Nó personalizado" - -#~ msgid "Invalid Path" -#~ msgstr "Caminho Inválido" - -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "Duplicar Seleção do GridMap" - -#~ msgid "Create Area" -#~ msgstr "Criar Área" - -#~ msgid "Create Exterior Connector" -#~ msgstr "Criar Conector de Exterior" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "Editar Argumentos do Sinal:" - -#~ msgid "Edit Variable:" -#~ msgstr "Editar Variável:" - -#~ msgid "Snap (s): " -#~ msgstr "Snap (s): " - -#~ msgid "Insert keys." -#~ msgstr "Inserir chaves." - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "Instanciar a(s) cena(s) selecionada como filho do nó selecionado." - -#~ msgid "Font Size:" -#~ msgstr "Tamanho da Fonte:" - -#~ msgid "Line:" -#~ msgstr "Linha:" - -#~ msgid "Col:" -#~ msgstr "Coluna:" - -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "" -#~ "OrientedPathFollow só funciona quando definido como filho de um nó Path." - -#, fuzzy -#~ msgid "Add Split" -#~ msgstr "Adicionar ponto" - -#, fuzzy -#~ msgid "Invalid Split: " -#~ msgstr "Caminho inválido!" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "Remover ponto" - -#, fuzzy -#~ msgid "Poly" -#~ msgstr "Editar Polígono" - -#, fuzzy -#~ msgid "Splits" -#~ msgstr "Dividir Caminho" - -#~ msgid "Add Node.." -#~ msgstr "Adicionar Nó.." - -#~ msgid "Create from scene?" -#~ msgstr "Criar a partir de cena?" - -#~ msgid "Create Poly" -#~ msgstr "Criar Polígono" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "Criar um novo polígono do zero" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "Ampliar Menos" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "Ampliar Mais" - -#~ msgid "Create Poly3D" -#~ msgstr "Criar Polígono 3D" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "Nenhum recurso OccluderPolygon2D neste nó.\n" -#~ "Criar e atribuir um?" - -#~ msgid "LMB: Move Point." -#~ msgstr "LMB: Mover Ponto." - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl+LMB: Dividir Segmento." - -#~ msgid "RMB: Erase Point." -#~ msgstr "RMB: Apagar Ponto." - -#, fuzzy -#~ msgid "New TextFile" -#~ msgstr "Ver Arquivos" - -#~ msgid "Save Theme As" -#~ msgstr "Salvar Tema Como" - -#~ msgid "<None>" -#~ msgstr "<Nenhum>" - -#~ msgid "" -#~ "Select sub-tile to use as icon, this will be also used on invalid " -#~ "autotile bindings." -#~ msgstr "" -#~ "Selecione o sub-tile para usar como ícone, isso também vai ser usado em " -#~ "vinculamentos de autotiles inválidos." - -#~ msgid "Zoom:" -#~ msgstr "Ampliação:" - -#~ msgid "Are you sure you want to remove all connections from the \"" -#~ msgstr "Tem certeza que quer remover todas conexões do \"" - -#~ msgid "Class List:" -#~ msgstr "Lista de Classes:" - -#~ msgid "Public Methods" -#~ msgstr "Métodos Públicos" - -#~ msgid "Public Methods:" -#~ msgstr "Métodos Públicos:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "Itens do Tema de GUI:" - -#~ msgid "Property: " -#~ msgstr "Propriedade: " - -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Alternar status Favorito da pasta." - -#~ msgid "Show current scene file." -#~ msgstr "Mostrar o arquivo da cena atual." - -#~ msgid "Enter tree-view." -#~ msgstr "Entrar em visualização em árvore." - -#, fuzzy -#~ msgid "Whole words" -#~ msgstr "Palavras inteiras" - -#~ msgid "Match case" -#~ msgstr "Corresponder Caso" - -#~ msgid "Ok" -#~ msgstr "Ok" - -#~ msgid "Show In File System" -#~ msgstr "Mostrar no Sistema de Arquivos" - -#~ msgid "Search the class hierarchy." -#~ msgstr "Pesquise na hierarquia da classe." - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "Pesquisar Classes" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "" -#~ "Scripts embutidos só podem ser editados quando a cena a qual pertencem " -#~ "está carregada" - -#~ msgid "Convert To Uppercase" -#~ msgstr "Converter para Maíusculo" - -#~ msgid "Convert To Lowercase" -#~ msgstr "Converter Para Minúsculo" - -#~ msgid "Rotate 0 degrees" -#~ msgstr "Rotacionar 0 degraus" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "Rotacionar 90 degraus" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "Rotacionar 180 degraus" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "Rotacionar 270 degraus" - -#~ msgid "Errors:" -#~ msgstr "Erros:" - -#~ msgid "Stack Trace (if applicable):" -#~ msgstr "Pilha de Rastreamento (se aplicável):" - -#~ msgid "Bake!" -#~ msgstr "Precalcular!" - -#~ msgid "Bake the navigation mesh." -#~ msgstr "Preparar a malha de navegação." - -#~ msgid "Get" -#~ msgstr "Obter" - -#~ msgid "Change RGB Constant" -#~ msgstr "Alterar Constante RGB" - -#~ msgid "Change Vec Scalar Operator" -#~ msgstr "Alterar Operador Vet Escalar" - -#~ msgid "Change RGB Operator" -#~ msgstr "Alterar Operador RGB" - -#~ msgid "Toggle Rot Only" -#~ msgstr "Alternar Rotação Somente" - -#~ msgid "Change Vec Function" -#~ msgstr "Alterar Função Vet" - -#~ msgid "Change Vec Uniform" -#~ msgstr "Alterar Uniforme Vet" - -#~ msgid "Change RGB Uniform" -#~ msgstr "Alterar Uniforme RGB" - -#~ msgid "Change Default Value" -#~ msgstr "Alterar Valor Padrão" - -#~ msgid "Change XForm Uniform" -#~ msgstr "Alterar Uniforme XForm" - -#~ msgid "Change Cubemap Uniform" -#~ msgstr "Alterar Uniforme do Cubemap" - -#~ msgid "Change Comment" -#~ msgstr "Alterar Comentário" - -#~ msgid "Add/Remove to Color Ramp" -#~ msgstr "Adicionar/Remover para Curva de Cores" - -#~ msgid "Modify Color Ramp" -#~ msgstr "Modificar Curva de Cores" - -#~ msgid "Add/Remove to Curve Map" -#~ msgstr "Adicionar/Remover para Curve Map" - -#~ msgid "Modify Curve Map" -#~ msgstr "Modificar Curve Map" - -#~ msgid "Connect Graph Nodes" -#~ msgstr "Conectar Nodes de Grafos" - -#~ msgid "Remove Shader Graph Node" -#~ msgstr "Remover Nó de Shader Graph" - -#~ msgid "Move Shader Graph Node" -#~ msgstr "Mover Nó de Shader Graph" - -#~ msgid "Duplicate Graph Node(s)" -#~ msgstr "Duplicar Nó(s) de Grafo(s)" - -#~ msgid "Error: Cyclic Connection Link" -#~ msgstr "Erro: Vínculo de Conexão Cíclico" - -#~ msgid "Error: Missing Input Connections" -#~ msgstr "Erro: Faltando as Conexões da Entrada" - -#~ msgid "Add Shader Graph Node" -#~ msgstr "Adicionar Nó de Shader Graph" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Mover Trilha para cima" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Mover Trilha para Baixo" - -#~ msgid "Set Transitions to:" -#~ msgstr "Definir Transições para:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Alterar Interpolação da Trilha" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Alterar Modo de Valor da Trilha" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Alterar Modo de Loop da Trilha de Animação" - -#~ msgid "Edit Node Curve" -#~ msgstr "Editar Curva do Nó" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Editar Curva da Seleção" - -#~ msgid "Anim Add Key" -#~ msgstr "Adicionar Chave na Anim" - -#~ msgid "In" -#~ msgstr "Em" - -#~ msgid "Out" -#~ msgstr "Out" - -#~ msgid "In-Out" -#~ msgstr "In-Out" - -#~ msgid "Out-In" -#~ msgstr "Out-In" - -#~ msgid "Change Anim Len" -#~ msgstr "Alterar Comprimento da Animação" - -#~ msgid "Change Anim Loop" -#~ msgstr "Alterar Loop da Animação" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Criar Chave com Valor Definido" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Adicionar Trilha de Chamada" - -#~ msgid "Length (s):" -#~ msgstr "Duração (s):" - -#~ msgid "Step (s):" -#~ msgstr "Passo (s):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "Passo de snap do cursor (em segundos)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Habilitar/Desabilitar loop de animação." - -#~ msgid "Add new tracks." -#~ msgstr "Adicionar novas trilhas." - -#~ msgid "Move current track up." -#~ msgstr "Mover a trilha atual para cima." - -#~ msgid "Move current track down." -#~ msgstr "Mover a trilha atual para baixo." - -#~ msgid "Track tools" -#~ msgstr "Ferramentas de trilha" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Habilitar edição de chaves individuais clicando nelas." - -#~ msgid "Key" -#~ msgstr "Chave" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Chamar Funções em Qual Nó?" - -#~ msgid "Thanks!" -#~ msgstr "Obrigado!" - -#~ msgid "I see..." -#~ msgstr "Entendo..." - -#~ msgid "Ugh" -#~ msgstr "Ugh" - -#~ msgid "Run Script" -#~ msgstr "Rodar Script" - -#~ msgid "Stop Profiling" -#~ msgstr "Parar Profiling" - -#~ msgid "Start Profiling" -#~ msgstr "Iniciar Profiling" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "Padrão (Mesma do Editor)" - -#~ msgid "Create new animation in player." -#~ msgstr "Criar nova animação no player." - -#~ msgid "Load animation from disk." -#~ msgstr "Carregar uma animação do disco." - -#~ msgid "Load an animation from disk." -#~ msgstr "Carregar uma animação do disco." - -#~ msgid "Save the current animation" -#~ msgstr "Salvar a animação atual" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "Editar alvos dos tempos de mistura" - -#~ msgid "Copy Animation" -#~ msgstr "Copiar Animação" - -#~ msgid "Fetching:" -#~ msgstr "Procurando:" - -#~ msgid "prev" -#~ msgstr "ant" - -#~ msgid "next" -#~ msgstr "prox" - -#~ msgid "last" -#~ msgstr "ult" - -#~ msgid "Edit IK Chain" -#~ msgstr "Editar Cadeia de IK" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "Arrastar o pivô para a posição do mouse" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "Colocar o pivô na posição do mouse" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "Adicionar/Remover Ponto na Curva de Cor" - -#~ msgid "OK :(" -#~ msgstr "OK :(" - -#~ msgid "Skeleton Gizmo visibility" -#~ msgstr "Visibilidade do Gizmo de Esqueleto" - -#~ msgid "StyleBox Preview:" -#~ msgstr "Pré-Visualização do StyleBox:" - -#~ msgid "Texture Region Editor" -#~ msgstr "Editor de Região da Textura" - -#~ msgid "Erase selection" -#~ msgstr "Apagar Seleção" - -#~ msgid "Item name or ID:" -#~ msgstr "Nome ou ID do item:" - -#~ msgid "Export templates for this platform are missing/corrupted: " -#~ msgstr "" -#~ "Modelos de exportação para esta plataforma não foram encontrados/estão " -#~ "corrompidos: " - -#~ msgid "Button 8" -#~ msgstr "Botão 8" - -#~ msgid "Button 9" -#~ msgstr "Botão 9" - -#~ msgid "Discard Instancing" -#~ msgstr "Descartar Instanciação" - -#~ msgid "Makes Sense!" -#~ msgstr "Faz Sentido!" - -#~ msgid "Clear!" -#~ msgstr "Limpar!" - -#~ msgid "Toggle Spatial Visible" -#~ msgstr "Alternar Spatial Visível" - -#~ msgid "Condition" -#~ msgstr "Condição" - -#~ msgid "Sequence" -#~ msgstr "Sequence" - -#~ msgid "Switch" -#~ msgstr "Switch" - -#~ msgid "Iterator" -#~ msgstr "Iterator" - -#~ msgid "While" -#~ msgstr "While" - -#~ msgid "Return" -#~ msgstr "Return" - -#~ msgid "Call" -#~ msgstr "Call" - -#~ msgid "Edit Variable" -#~ msgstr "Editar Variável" - -#~ msgid "Edit Signal" -#~ msgstr "Editar Sinal" - -#~ msgid "Invalid action (anything goes but '/' or ':')." -#~ msgstr "Ação Inválida (qualquer coisa serve, exceto '/' ou ':')." - -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "Não pode conter '/' ou ':'" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "Formato do version.txt dentro dos modelos é inválido. A revisão não é um " -#~ "identificador válido." - -#~ msgid "Can't write file." -#~ msgstr "Não foi possível escrever o arquivo." - -#~ msgid "Couldn't get project.godot in project path." -#~ msgstr "Não foi possível encontrar project.godot no caminho do projeto." - -#~ msgid "Replace By" -#~ msgstr "Substituir Por" - -#~ msgid "Backwards" -#~ msgstr "Para trás" - -#~ msgid "Prompt On Replace" -#~ msgstr "Perguntar ao Substituir" - -#~ msgid "Skip" -#~ msgstr "Pular" - -#~ msgid "" -#~ "Your project will be created in a non empty folder (you might want to " -#~ "create a new folder)." -#~ msgstr "" -#~ "Seu projeto será criado em uma pasta não vazia (você pode querer criar " -#~ "uma nova pasta)." - -#~ msgid "That's a BINGO!" -#~ msgstr "É um BINGO!" - -#~ msgid "preview" -#~ msgstr "previsualizar" - -#~ msgid "Move Add Key" -#~ msgstr "Mover Adicionar Chave" - -#~ msgid "Create Subscription" -#~ msgstr "Criar Conexão" - -#~ msgid "List:" -#~ msgstr "Lista:" - -#~ msgid "Set Emission Mask" -#~ msgstr "Definir Máscara de Emissão" - -#~ msgid "Clear Emitter" -#~ msgstr "Limpar Emissor" - -#~ msgid "Fold Line" -#~ msgstr "Esconder Linha" - -#~ msgid " " -#~ msgstr " " - -#~ msgid "Sections:" -#~ msgstr "Seções:" - -#~ msgid "Cannot navigate to '" -#~ msgstr "Não é possível navegar para '" - -#~ msgid "" -#~ "\n" -#~ "Source: " -#~ msgstr "" -#~ "\n" -#~ "Origem: " - -#~ msgid "Remove Point from Line2D" -#~ msgstr "Remover Ponto de Line2D" - -#~ msgid "Add Point to Line2D" -#~ msgstr "Adicionar Ponto ao Line2D" - -#~ msgid "Move Point in Line2D" -#~ msgstr "Mover Ponto em Line2D" - -#~ msgid "Split Segment (in line)" -#~ msgstr "Dividir Segmento (em linha)" - -#~ msgid "Meta+" -#~ msgstr "Meta+" - -#~ msgid "Setting '" -#~ msgstr "Configuração '" - -#~ msgid "Remote Inspector" -#~ msgstr "Inspetor Remoto" - -#~ msgid "Live Scene Tree:" -#~ msgstr "Árvore de Cena ao vivo:" - -#~ msgid "Remote Object Properties: " -#~ msgstr "Propriedades do Objeto Remoto: " - -#~ msgid "Prev Level (%sDown Wheel)" -#~ msgstr "Nível anterior (" - -#~ msgid "Next Level (%sUp Wheel)" -#~ msgstr "Nível seguinte (" - -#~ msgid "Selection -> Duplicate" -#~ msgstr "Seleção -> Duplicar" - -#~ msgid "Selection -> Clear" -#~ msgstr "Seleção -> Limpar" - -#~ msgid "" -#~ "Path property must point to a valid Viewport node to work. Such Viewport " -#~ "must be set to 'render target' mode." -#~ msgstr "" -#~ "A propriedade \"Caminho\" deve apontar a um nó Viewport para funcionar. " -#~ "Tal Viewport deve estar no modo \"Destino de Render\"." - -#~ msgid "" -#~ "The Viewport set in the path property must be set as 'render target' in " -#~ "order for this sprite to work." -#~ msgstr "" -#~ "O nó Viewport definido na propriedade \"Caminho\" deve ser marcado como " -#~ "\"destino de render\" para que este sprite funcione." - -#~ msgid "' parsing of config failed." -#~ msgstr "' falha no processamento de configurações." - -#~ msgid "Method List For '%s':" -#~ msgstr "Lista de Métodos para \"%s\":" - -#~ msgid "Arguments:" -#~ msgstr "Argumentos:" - -#~ msgid "Return:" -#~ msgstr "Retornar:" - -#~ msgid "Added:" -#~ msgstr "Adicionado:" - -#~ msgid "Could not save atlas subtexture:" -#~ msgstr "Não foi possível salvar Subtextura do Atlas:" - -#~ msgid "Setting Up..." -#~ msgstr "Ajustando..." - -#~ msgid "Error loading scene." -#~ msgstr "Erro ao carregar cena." - -#~ msgid "Re-Import" -#~ msgstr "Reimportar" - -#~ msgid "Please wait for scan to complete." -#~ msgstr "Por favor aguarde a verificação completar." - -#~ msgid "Current scene must be saved to re-import." -#~ msgstr "Cena Atual só deve ser salva para re-importação." - -#~ msgid "Re-Importing" -#~ msgstr "Re-Importando" - -#~ msgid "Re-Import Changed Resources" -#~ msgstr "Re-Importar Recursos Alterados" - -#~ msgid "" -#~ "\n" -#~ "Status: Needs Re-Import" -#~ msgstr "" -#~ "\n" -#~ "Status: Necessita Re-Importação" - -#~ msgid "Same source and destination files, doing nothing." -#~ msgstr "Mesmos arquivos de destino e origem, nada a fazer." - -#~ msgid "Target file exists, can't overwrite. Delete first." -#~ msgstr "" -#~ "Arquivo alvo existe, não é possível sobrescrever. Delete-o primeiro." - -#~ msgid "Same source and destination paths, doing nothing." -#~ msgstr "Mesmo caminhos de destino e origem, nada a fazer." - -#~ msgid "Can't move directories to within themselves." -#~ msgstr "Não é possível mover diretórios para dentro de si mesmos." - -#~ msgid "Can't rename deps for:\n" -#~ msgstr "Não foi possível renomear dependências para:\n" - -#~ msgid "Pick New Name and Location For:" -#~ msgstr "Escolha Novo Nome e Localização Para:" - -#~ msgid "Info" -#~ msgstr "Informação" - -#~ msgid "No bit masks to import!" -#~ msgstr "Sem máscaras de bits para importar!" - -#~ msgid "Target path is empty." -#~ msgstr "Caminho destino está vazio." - -#~ msgid "Target path must be a complete resource path." -#~ msgstr "Caminho destino deve ser um caminho completo a um recurso." - -#~ msgid "Target path must exist." -#~ msgstr "Caminho destino deve existir." - -#~ msgid "Import BitMasks" -#~ msgstr "Importar Máscara de Bits" - -#~ msgid "Source Texture(s):" -#~ msgstr "Textura(s) de Origem:" - -#~ msgid "Target Path:" -#~ msgstr "Caminho Destino:" - -#~ msgid "Accept" -#~ msgstr "Aceitar" - -#~ msgid "Bit Mask" -#~ msgstr "Máscara de Bits" - -#~ msgid "No source font file!" -#~ msgstr "Falta arquivo de fonte origem!" - -#~ msgid "No target font resource!" -#~ msgstr "Falta recurso de fonte destino!" - -#~ msgid "" -#~ "Invalid file extension.\n" -#~ "Please use .font." -#~ msgstr "" -#~ "Extensão de arquivo inválida.\n" -#~ "Por favor use .font." - -#~ msgid "Couldn't save font." -#~ msgstr "Não se pôde salvar fonte." - -#~ msgid "Source Font:" -#~ msgstr "Fonte Origem:" - -#~ msgid "Dest Resource:" -#~ msgstr "Recurso Destino:" - -#~ msgid "The quick brown fox jumps over the lazy dog." -#~ msgstr "" -#~ "À noite, vovô Kowalsky vê o ímã cair no pé do pinguim queixoso e vovó põe " -#~ "açúcar no chá de tâmaras do jabuti feliz." - -#~ msgid "Test:" -#~ msgstr "Teste:" - -#~ msgid "Options:" -#~ msgstr "Opções:" - -#~ msgid "Font Import" -#~ msgstr "Importar Fonte" - -#~ msgid "" -#~ "This file is already a Godot font file, please supply a BMFont type file " -#~ "instead." -#~ msgstr "" -#~ "Este arquivo já é um arquivo de fonte Godot, por favor forneça um arquivo " -#~ "BMFont." - -#~ msgid "Failed opening as BMFont file." -#~ msgstr "Falha ao abrir como arquivo BMFont." - -#~ msgid "Invalid font custom source." -#~ msgstr "Origem personalizada da fonte inválida." - -#~ msgid "No meshes to import!" -#~ msgstr "Sem meshes para importar!" - -#~ msgid "Single Mesh Import" -#~ msgstr "Importar Única Mesh" - -#~ msgid "Source Mesh(es):" -#~ msgstr "Origem de Mesh(es):" - -#~ msgid "Surface %d" -#~ msgstr "Superfície %d" - -#~ msgid "No samples to import!" -#~ msgstr "Sem amostras para importar!" - -#~ msgid "Import Audio Samples" -#~ msgstr "Importar Amostras de Áudio" - -#~ msgid "Source Sample(s):" -#~ msgstr "Amostra(s) de Origem:" - -#~ msgid "Audio Sample" -#~ msgstr "Amostra de Áudio" - -#~ msgid "New Clip" -#~ msgstr "Novo Clipe" - -#~ msgid "Flags" -#~ msgstr "Flags" - -#~ msgid "Bake FPS:" -#~ msgstr "Precalcular FPS:" - -#~ msgid "Optimizer" -#~ msgstr "Otimizador" - -#~ msgid "Max Linear Error" -#~ msgstr "Erro Linear Máximo" - -#~ msgid "Max Angular Error" -#~ msgstr "Erro Angular Máximo" - -#~ msgid "Max Angle" -#~ msgstr "Ângulo Máximo" - -#~ msgid "Start(s)" -#~ msgstr "Início(s)" - -#~ msgid "Source path is empty." -#~ msgstr "Caminho de origem está vazio." - -#~ msgid "Couldn't load post-import script." -#~ msgstr "Não se pôde carregar script pós-importação." - -#~ msgid "Invalid/broken script for post-import." -#~ msgstr "Script pós-importação inválido/quebrado." - -#~ msgid "Error importing scene." -#~ msgstr "Erro ao importar cena." - -#~ msgid "Import 3D Scene" -#~ msgstr "Importar Cena 3D" - -#~ msgid "Source Scene:" -#~ msgstr "Cena de Origem:" - -#~ msgid "Same as Target Scene" -#~ msgstr "Mesma da Cena Destino" - -#~ msgid "Shared" -#~ msgstr "Compartilhado" - -#~ msgid "Target Texture Folder:" -#~ msgstr "Pasta Destino para Textura:" - -#~ msgid "Custom Root Node Type:" -#~ msgstr "Tipo Personalizado de Nó Raiz:" - -#~ msgid "Auto" -#~ msgstr "Auto" - -#~ msgid "The Following Files are Missing:" -#~ msgstr "Os Seguintes Arquivos estão Faltando:" - -#~ msgid "Import Anyway" -#~ msgstr "Importar Mesmo Assim" - -#~ msgid "Edited scene has not been saved, open imported scene anyway?" -#~ msgstr "A cena editada não foi salva, abrir cena importada ainda assim?" - -#~ msgid "Import Image:" -#~ msgstr "Importar Imagem:" - -#~ msgid "Couldn't localize path: %s (already local)" -#~ msgstr "Caminho não pôde ser localizado: %s (já é local)" - -#~ msgid "3D Scene Animation" -#~ msgstr "Animação Cena 3D" - -#~ msgid "Uncompressed" -#~ msgstr "Não comprimido" - -#~ msgid "Compress Lossless (PNG)" -#~ msgstr "Comprimido Sem Perdas (PNG)" - -#~ msgid "Compress Lossy (WebP)" -#~ msgstr "Comprido Com Perdas (WebP)" - -#~ msgid "Compress (VRAM)" -#~ msgstr "Comprimido (VRAM)" - -#~ msgid "Texture Format" -#~ msgstr "Formato da Textura" - -#~ msgid "Texture Compression Quality (WebP):" -#~ msgstr "Qualidade da Compressão da Textura (WebP):" - -#~ msgid "Please specify some files!" -#~ msgstr "Por favor especifique alguns arquivos!" - -#~ msgid "At least one file needed for Atlas." -#~ msgstr "Pelo menos um arquivo é preciso para o Atlas." - -#~ msgid "Error importing:" -#~ msgstr "Erro ao importar:" - -#~ msgid "Max Texture Size:" -#~ msgstr "Tamanho Máximo de Textura:" - -#~ msgid "Import Textures for Atlas (2D)" -#~ msgstr "Importar Texturas para Atlas (2D)" - -#~ msgid "Large Texture" -#~ msgstr "Textura Grande" - -#~ msgid "Import Large Textures (2D)" -#~ msgstr "Importar Texturas Grandes (2D)" - -#~ msgid "Source Texture" -#~ msgstr "Textura Origem" - -#~ msgid "Base Atlas Texture" -#~ msgstr "Textura Base do Atlas" - -#~ msgid "Source Texture(s)" -#~ msgstr "Textura(s) Origem(ns)" - -#~ msgid "Import Textures for 2D" -#~ msgstr "Importar Texturas para 2D" - -#~ msgid "Import Textures for 3D" -#~ msgstr "Importar Texturas para 3D" - -#~ msgid "Import Textures" -#~ msgstr "Importar Textura" - -#~ msgid "2D Texture" -#~ msgstr "Textura 2D" - -#~ msgid "3D Texture" -#~ msgstr "Textura 3D" - -#~ msgid "Atlas Texture" -#~ msgstr "Textura Atlas" - -#~ msgid "" -#~ "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files " -#~ "to the project." -#~ msgstr "" -#~ "AVISO: Importar texturas 2D não é obrigatório. Apenas copie arquivos png/" -#~ "jpg para o projeto." - -#~ msgid "Crop empty space." -#~ msgstr "Aparar espaço vazio." - -#~ msgid "Texture" -#~ msgstr "Textura" - -#~ msgid "Import Large Texture" -#~ msgstr "Importar Textura Grande" - -#~ msgid "Load Source Image" -#~ msgstr "Carregar Imagem Origem" - -#~ msgid "Slicing" -#~ msgstr "Fatiando" - -#~ msgid "Saving" -#~ msgstr "Salvando" - -#~ msgid "Couldn't save large texture:" -#~ msgstr "Não se pôde salvar textura grande:" - -#~ msgid "Build Atlas For:" -#~ msgstr "Montar Atlas Para:" - -#~ msgid "Loading Image:" -#~ msgstr "Carregando Imagem:" - -#~ msgid "Converting Images" -#~ msgstr "Convertendo Imagens" - -#~ msgid "Cropping Images" -#~ msgstr "Aparando Imagens" - -#~ msgid "Couldn't save atlas image:" -#~ msgstr "Não se pôde salva imagem de atlas:" - -#~ msgid "Invalid translation source!" -#~ msgstr "Origem de tradução inválida!" - -#~ msgid "Column" -#~ msgstr "Coluna" - -#~ msgid "No items to import!" -#~ msgstr "Nenhum item a importar!" - -#~ msgid "No target path!" -#~ msgstr "Nenhum caminho destino!" - -#~ msgid "Import Translations" -#~ msgstr "Importar Traduções" - -#~ msgid "Couldn't import!" -#~ msgstr "Não foi possível importar!" - -#~ msgid "Import Translation" -#~ msgstr "Importar Tradução" - -#~ msgid "Source CSV:" -#~ msgstr "Arquivo CSV Origem:" - -#~ msgid "Ignore First Row" -#~ msgstr "Ignorar Primeira Linha" - -#~ msgid "Compress" -#~ msgstr "Comprimir" - -#~ msgid "Add to Project (project.godot)" -#~ msgstr "Adicionar ao Projeto (project.godot)" - -#~ msgid "Import Languages:" -#~ msgstr "Importar Idiomas:" - -#~ msgid "Translation" -#~ msgstr "Tradução" - -#~ msgid "Triangle #" -#~ msgstr "Triângulo nº" - -#~ msgid "Light Baker Setup:" -#~ msgstr "Configurar Baker de Luz:" - -#~ msgid "Fixing Lights" -#~ msgstr "Consertando Luzes" - -#~ msgid "Making BVH" -#~ msgstr "Fazendo BVH" - -#~ msgid "Allocating Texture #" -#~ msgstr "Alocando Textura nº" - -#~ msgid "Baking Triangle #" -#~ msgstr "Precalculando Triângulo nº" - -#~ msgid "Post-Processing Texture #" -#~ msgstr "Pós-Processando Textura nº" - -#~ msgid "Reset the lightmap octree baking process (start over)." -#~ msgstr "Redefinir o processo \"octree baking\" do lightmap (recomeçar)." - -#~ msgid "Zoom Set..." -#~ msgstr "Definir Ampliação..." - -#~ msgid "Parse BBCode" -#~ msgstr "Analisar BBCode" - -#~ msgid "Length:" -#~ msgstr "Duração:" - -#~ msgid "Open Sample File(s)" -#~ msgstr "Abrir Arquivo(s) de Amostra" - -#~ msgid "ERROR: Couldn't load sample!" -#~ msgstr "ERRO: Não é possível carregar a amostra!" - -#~ msgid "Add Sample" -#~ msgstr "Adicionar Amostra" - -#~ msgid "Rename Sample" -#~ msgstr "Renomear Amostra" - -#~ msgid "Delete Sample" -#~ msgstr "Excluir Amostra" - -#~ msgid "16 Bits" -#~ msgstr "16 bits" - -#~ msgid "8 Bits" -#~ msgstr "8 Bits" - -#~ msgid "Stereo" -#~ msgstr "Estéreo" - -#~ msgid "Scaling to %s%%." -#~ msgstr "Escalonando para %s%%." - -#~ msgid "Bucket" -#~ msgstr "Balde" - -#~ msgid "Invalid project path, the path must exist!" -#~ msgstr "Caminho de projeto inválido, o caminho deve existir!" - -#, fuzzy -#~ msgid "Invalid project path, project.godot must not exist." -#~ msgstr "Caminho de projeto inválido, engine.cfg não deve existir." - -#, fuzzy -#~ msgid "Invalid project path, project.godot must exist." -#~ msgstr "Caminho de projeto inválido, engine.cfg deve existir." - -#~ msgid "Project Path (Must Exist):" -#~ msgstr "Caminho do Projeto (Deve Existir):" - -#~ msgid "Create New Resource" -#~ msgstr "Criar Novo Recurso" - -#~ msgid "Open Resource" -#~ msgstr "Abrir Recurso" - -#~ msgid "Save Resource" -#~ msgstr "Salvar Recurso" - -#~ msgid "Resource Tools" -#~ msgstr "Ferramentas de Recurso" - -#~ msgid "Edit Groups" -#~ msgstr "Editar Grupos" - -#, fuzzy -#~ msgid "Tiles" -#~ msgstr " Arquivos" - -#~ msgid "Areas" -#~ msgstr "Áreas" - -#~ msgid "Ctrl+" -#~ msgstr "Ctrl+" - -#~ msgid "Down Wheel)" -#~ msgstr "Rodar para Baixo)" - -#, fuzzy -#~ msgid "Up Wheel)" -#~ msgstr "Rodar para Cima" - -#~ msgid "Close scene? (Unsaved changes will be lost)" -#~ msgstr "Fechar cena? (Mudanças não salvas serão perdidas)" - -#~ msgid "" -#~ "Open Project Manager? \n" -#~ "(Unsaved changes will be lost)" -#~ msgstr "" -#~ "Abrir Gerenciador de Projetos?\n" -#~ "(Mudanças não salvas serão perdidas)" - -#~ msgid "Close Goto Prev. Scene" -#~ msgstr "Ir a Cena Fechada Anterior" - -#~ msgid "Del" -#~ msgstr "Del" - -#~ msgid "" -#~ "Couldn't read the certificate file. Are the path and password both " -#~ "correct?" -#~ msgstr "" -#~ "Não foi possível ler o arquivo de certificado. Ambos o caminho e senha " -#~ "estão corretos?" - -#, fuzzy -#~ msgid "RAW Mode" -#~ msgstr "Modo RAW" - -#~ msgid "Node From Scene" -#~ msgstr "Nó a Partir de Cena" - -#~ msgid "Import assets to the project." -#~ msgstr "Importar assets ao projeto." - -#~ msgid "Export the project to many platforms." -#~ msgstr "Exportar o projeto para diversas plataformas." - -#~ msgid "Alerts when an external resource has changed." -#~ msgstr "Alerta quando um recurso externo foi alterado." - -#~ msgid "Open https://godotengine.org at tutorials section." -#~ msgstr "Abre https://godotengine.org na seção tutoriais." - -#~ msgid "No scene selected to instance!" -#~ msgstr "Nenhuma cena selecionada para instanciar!" - -#~ msgid "Instance at Cursor" -#~ msgstr "Instanciar no Cursor" - -#~ msgid "Use Default Light" -#~ msgstr "Usar Luz Padrão" - -#~ msgid "Default Light Normal:" -#~ msgstr "Luz Normal Padrão:" - -#~ msgid "Ambient Light Color:" -#~ msgstr "Cor de Luz Ambiente:" - -#~ msgid "Invalid parent class name" -#~ msgstr "Nome de classe pai inválido" - -#~ msgid "Valid chars:" -#~ msgstr "Caracteres válidos:" - -#~ msgid "Valid name" -#~ msgstr "Nome Válido" - -#~ msgid "Class name is invalid!" -#~ msgstr "O nome da classe é inválido!" - -#~ msgid "Parent class name is invalid!" -#~ msgstr "O nome da classe pai é inválido!" - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "" -#~ "A propriedade Caminho deve apontar a um nó Particles2D para funcionar." - -#~ msgid "Surface" -#~ msgstr "Superfície" - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SamplePlayer to play sound." -#~ msgstr "" -#~ "Um recurso do tipo SampleLibrary deve ser criado ou definido na " -#~ "propriedade 'amostras' para que o SamplePlayer possa tocar algum som." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SpatialSamplePlayer to play sound." -#~ msgstr "" -#~ "Um recurso do tipo SampleLibrary deve ser criado ou definido na " -#~ "propriedade 'amostras' para que o SpatialSamplePlayer possa tocar algum " -#~ "som." - -#~ msgid "Replaced %d Ocurrence(s)." -#~ msgstr "Substituída(s) %d Ocorrência(s)." - -#~ msgid "Save Translatable Strings" -#~ msgstr "Salvar Strings Traduzíveis" - -#~ msgid "Edit Script Options" -#~ msgstr "Editar Opções de Script" - -#~ msgid "Error exporting project!" -#~ msgstr "Erro ao exportar o projeto!" - -#~ msgid "Error writing the project PCK!" -#~ msgstr "Erro ao escrever o PCK do projeto!" - -#~ msgid "No exporter for platform '%s' yet." -#~ msgstr "Ainda não há exportador para a plataforma \"%s\"." - -#, fuzzy -#~ msgid "Create Android keystore" -#~ msgstr "Criar Novo Recurso" - -#, fuzzy -#~ msgid "Organization" -#~ msgstr "Transição" - -#, fuzzy -#~ msgid "Password" -#~ msgstr "Senha:" - -#, fuzzy -#~ msgid "at least 6 characters" -#~ msgstr "Caracteres válidos:" - -#, fuzzy -#~ msgid "File name" -#~ msgstr "Novo nome:" - -#~ msgid "Include" -#~ msgstr "Incluir" - -#~ msgid "Group name can't be empty!" -#~ msgstr "O nome do grupo não pode estar vazio!" - -#~ msgid "Invalid character in group name!" -#~ msgstr "Caractere inválido no nome do grupo!" - -#~ msgid "Add Image Group" -#~ msgstr "Adicionar Grupo de Imagens" - -#~ msgid "Project Export Settings" -#~ msgstr "Configurações de Exportação de Projeto" - -#~ msgid "Export to Platform" -#~ msgstr "Exportar para Plataforma" - -#~ msgid "Export all files in the project directory." -#~ msgstr "Exportar todos os arquivos no diretório do projeto." - -#~ msgid "Convert text scenes to binary on export." -#~ msgstr "Converter cenas em formato texto para binário ao exportar." - -#~ msgid "Images" -#~ msgstr "Imagens" - -#~ msgid "Keep Original" -#~ msgstr "Manter Original" - -#~ msgid "Compress for Disk (Lossy, WebP)" -#~ msgstr "Comprimir para Disco (Com perdas, WebP)" - -#~ msgid "Compress for RAM (BC/PVRTC/ETC)" -#~ msgstr "Comprimir para RAM (BC/PVRTC/ETC)" - -#~ msgid "Convert Images (*.png):" -#~ msgstr "Converter Imagens (*.png):" - -#~ msgid "Compress for Disk (Lossy) Quality:" -#~ msgstr "Qualidade da Compressão para Disco (com perdas):" - -#~ msgid "Shrink All Images:" -#~ msgstr "Encolher Todas as Imagens:" - -#~ msgid "Compress Formats:" -#~ msgstr "Formatos de Compressão:" - -#~ msgid "Groups:" -#~ msgstr "Grupos:" - -#~ msgid "Compress Disk" -#~ msgstr "Comprimir para Disco" - -#~ msgid "Compress RAM" -#~ msgstr "Comprimir para RAM" - -#~ msgid "Compress Mode:" -#~ msgstr "Modo de Compressão:" - -#~ msgid "Lossy Quality:" -#~ msgstr "Qualidade com Perdas:" - -#~ msgid "Shrink By:" -#~ msgstr "Encolher por:" - -#~ msgid "Images:" -#~ msgstr "Imagens:" - -#~ msgid "Sample Conversion Mode: (.wav files):" -#~ msgstr "Modo de Conversão de Amostras (arquivos .wav):" - -#~ msgid "Compress (RAM - IMA-ADPCM)" -#~ msgstr "Comprimir (RAM - IMA-ADPCM)" - -#~ msgid "Sampling Rate Limit (Hz):" -#~ msgstr "Limite da Taxa de Amostragem (Hz):" - -#~ msgid "Trim" -#~ msgstr "Cortar" - -#~ msgid "Trailing Silence:" -#~ msgstr "Silêncio no Fim:" - -#~ msgid "Export Project PCK" -#~ msgstr "Exportar PCK do Projeto" - -#~ msgid "Project Export" -#~ msgstr "Exportação de Projeto" - -#~ msgid "BakedLightInstance does not contain a BakedLight resource." -#~ msgstr "BakedLightInstance não contém um recurso BakedLight ." - -#~ msgid "Lighting" -#~ msgstr "Iluminação" - -#~ msgid "Global" -#~ msgstr "Global" - -#~ msgid "" -#~ "This item cannot be made visible because the parent is hidden. Unhide the " -#~ "parent first." -#~ msgstr "" -#~ "Este item não pode se tornar visível porque o pai está escondido. Reexiba " -#~ "o pai primeiro." - -#~ msgid "File exists" -#~ msgstr "O arquivo existe" - -#~ msgid "Valid path" -#~ msgstr "Caminho válido" - -#~ msgid "Cannot go into subdir:" -#~ msgstr "Não é possível ir ao subdiretório:" - -#~ msgid "Top (Num7)" -#~ msgstr "Cima (Num7)" - -#~ msgid "Bottom (Shift+Num7)" -#~ msgstr "Baixo (Shift+Num7)" - -#~ msgid "Left (Num3)" -#~ msgstr "Esquerda (Num3)" - -#~ msgid "Right (Shift+Num3)" -#~ msgstr "Direita (Shift+Num3)" - -#~ msgid "Front (Num1)" -#~ msgstr "Frente (Num1)" - -#~ msgid "Rear (Shift+Num1)" -#~ msgstr "Traseira (Shift+Num1)" - -#~ msgid "Perspective (Num5)" -#~ msgstr "Perspectiva (Num5)" - -#~ msgid "Orthogonal (Num5)" -#~ msgstr "Ortogonal (Num5)" - -#~ msgid "Selection (F)" -#~ msgstr "Seleção (F)" - -#~ msgid "Align with view (Ctrl+Shift+F)" -#~ msgstr "Alinhar com Visão (Ctrl+Shift+F)" - -#~ msgid "Enable/Disable interpolation when looping animation." -#~ msgstr "Habilitar/Desabilitar interpolação quando repetindo a animação." - -#~ msgid "Load Layout" -#~ msgstr "Carregar Layout" - -#~ msgid "Scale Region Editor" -#~ msgstr "Editor de Região de Escala" - -#~ msgid "Inherit Scene" -#~ msgstr "Herdar Cena" - -#~ msgid "Binds (Extra Params):" -#~ msgstr "Ligações (Parâmetros Extra):" - -#~ msgid "Method In Node:" -#~ msgstr "Método no Nó:" - -#~ msgid "Reload Tool Script (Soft)" -#~ msgstr "Recarregar Tool Script (suave)" - -#~ msgid "Set Params" -#~ msgstr "Definir Parâmetros" - -#~ msgid "Live Editing" -#~ msgstr "Edição ao vivo" - -#~ msgid "File Server" -#~ msgstr "Servidor de Arquivos" - -#~ msgid "Deploy File Server Clients" -#~ msgstr "Instalar Clientes do Servidor de Arquivos" - -#~ msgid "Overwrite Existing, Keep Materials" -#~ msgstr "Sobrescrever Existente, Manter Materiais" - -#~ msgid "Keep Existing, Merge with New" -#~ msgstr "Manter Existente, Fundir com Novo" - -#~ msgid "Keep Existing, Ignore New" -#~ msgstr "Manter Existente, Ignorar Novo" - -#~ msgid "This Time:" -#~ msgstr "This Time:" - -#~ msgid "Next Time:" -#~ msgstr "Next Time:" - -#~ msgid "%d frames" -#~ msgstr "%d quadros" - -#~ msgid "" -#~ "NOTICE: You are not forced to import textures for 2D projects. Just copy " -#~ "your .jpg or .png files to your project, and change export options later. " -#~ "Atlases can be generated on export too." -#~ msgstr "" -#~ "AVISO: Você não é forçado a importar texturas para projetos 2D. Apenas " -#~ "copie seus arquivos .jpg ou .png para o projeto e mude as opções de " -#~ "exportação mais tarde. Também é possível gerar Atlases ao exportar." - -#~ msgid "Source Texture:" -#~ msgstr "Textura de Origem:" - -#~ msgid "Merging..." -#~ msgstr "Fundindo..." diff --git a/editor/translations/ro.po b/editor/translations/ro.po index 9a45a6ca63..f76a7fbec2 100644 --- a/editor/translations/ro.po +++ b/editor/translations/ro.po @@ -1,6 +1,6 @@ # Romanian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Calin Sopterean <csopterean@gmail.com>, 2018. # Filip <filipanton@tutanota.com>, 2018, 2020. @@ -16,13 +16,14 @@ # Gigel2 <mihalacher02@gmail.com>, 2020. # R3ktGamerRO <bluegamermc1@gmail.com>, 2021. # FlooferLand <yunaflarf@gmail.com>, 2021. +# N3mEee <n3mebusiness@gmail.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-11-11 16:02+0000\n" -"Last-Translator: FlooferLand <yunaflarf@gmail.com>\n" +"PO-Revision-Date: 2021-12-14 15:28+0000\n" +"Last-Translator: N3mEee <n3mebusiness@gmail.com>\n" "Language-Team: Romanian <https://hosted.weblate.org/projects/godot-engine/" "godot/ro/>\n" "Language: ro\n" @@ -31,7 +32,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " "20)) ? 1 : 2;\n" -"X-Generator: Weblate 4.9.1-dev\n" +"X-Generator: Weblate 4.10-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -54,7 +55,8 @@ msgstr "Intrare invalida %i (nu a fost transmisă) in expresie" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" -msgstr "insuși nu poate fi folosit deoarece instanța este nulă (nu a trecut)" +msgstr "" +"self nu poate fi folosit deoarece instanța este nulă (nu a fost trecută)" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." @@ -2131,14 +2133,30 @@ msgstr "Metode" msgid "Theme Properties" msgstr "Proprietățile Temei" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Enumerări" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Constante" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Enumerări" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Descrieri Proprietate" @@ -8736,18 +8754,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -13533,7 +13539,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -13542,6 +13553,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14556,589 +14582,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "" - -#~ msgid "Package Contents:" -#~ msgstr "Conținutul pachetului:" - -#~ msgid "Singleton" -#~ msgstr "Singleton (Unicat)" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Ștergeți profilul '%s'?(ireversibil)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Proprietăți Activate:" - -#~ msgid "Unset" -#~ msgstr "Nesetat(ă)" - -#~ msgid "Class Options" -#~ msgstr "Opțiuni Clase" - -#~ msgid "Set" -#~ msgstr "Stabilește" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Resurse modificate %s salvate." - -#~ msgid "Q&A" -#~ msgstr "Întrebări și Răspunsuri" - -#~ msgid "Status:" -#~ msgstr "Stare:" - -#~ msgid "Edit:" -#~ msgstr "Editare:" - -#~ msgid "Redownload" -#~ msgstr "Descarcă din nou" - -#~ msgid "(Installed)" -#~ msgstr "(Instalat)" - -#~ msgid "(Missing)" -#~ msgstr "(Lipsește)" - -#~ msgid "Request Failed." -#~ msgstr "Cerere Eșuată." - -#~ msgid "Redirect Loop." -#~ msgstr "Buclă de Redirecționare." - -#~ msgid "Download Complete." -#~ msgstr "Descărcare Completă." - -#~ msgid "Remove Template" -#~ msgstr "Elimină Șablon" - -#~ msgid "Download Templates" -#~ msgstr "Descarcă Șabloane" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "Selectează oglinda din listă: (Shift+Click: Deschide in Browser)" - -#, fuzzy -#~ msgid "Move to Trash" -#~ msgstr "Mutați Autoload" - -#~ msgid "Expand All Properties" -#~ msgstr "Extindeți toate proprietățile" - -#~ msgid "Copy Params" -#~ msgstr "Copie Parametrii" - -#~ msgid "Open in Help" -#~ msgstr "Deschideți în Ajutor" - -#~ msgid "Drag: Rotate" -#~ msgstr "Trage: Rotire" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Apasă 'v' pentru a Schimba Pivotul, 'Shift+v' pentru a Trage Pivotul (în " -#~ "timpul mișcării)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+RMB: Selecție adâncime listă" - -#, fuzzy -#~ msgid "Theme File" -#~ msgstr "Deschideți un Fișier" - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Un player de animatie nu se poate anima insusi, doar alti playeri de " -#~ "animatie." - -#~ msgid "Clipboard is empty" -#~ msgstr "Clip-board de resurse gol" - -#~ msgid "No" -#~ msgstr "Nu" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "" -#~ "Această scenă nu a fost salvată niciodata. Salvați înainte de rulare?" - -#~ msgid "Search complete" -#~ msgstr "Căutare completă" - -#, fuzzy -#~ msgid "No commit message was provided" -#~ msgstr "Niciun nume furnizat" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "" -#~ "Există deja un fișier sau un dosar cu același nume în această locație." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Eroare la încercarea de a salva schema!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Schemă implicită de editor suprascrisă." - -#, fuzzy -#~ msgid "Move pivot" -#~ msgstr "Mută Pivot" - -#, fuzzy -#~ msgid "Move anchor" -#~ msgstr "Acțiune de Mutare" - -#, fuzzy -#~ msgid "Resize CanvasItem" -#~ msgstr "Editează ObiectulPânză" - -#~ msgid "Polygon->UV" -#~ msgstr "Poligon->UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV->Poligon" - -#~ msgid "Add initial export..." -#~ msgstr "Adăugare export inițial..." - -#~ msgid "Pack File" -#~ msgstr "Împachetează Fișierul" - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "Sistemul De Fișiere și încărcare Bare" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "Când exporți sau lansezi, executabilul rezultat va încerca să se " -#~ "conecteze la IP-ul acestui computer pentru a putea fi depanat." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "" -#~ "Scena curentă nu a fost salvată niciodată, salvați-o înainte de rulare." - -#~ msgid "Revert" -#~ msgstr "Întoarcere" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Această acțiune nu poate fi recuperată. Te reîntorci oricum?" - -#~ msgid "Revert Scene" -#~ msgstr "Restabilește Scena" - -#~ msgid "Issue Tracker" -#~ msgstr "Agent de Monitorizare al Problemelor" - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "Înlocuit %d potriviri." - -#~ msgid "Create Static Convex Body" -#~ msgstr "Creează un Corp Static Convex" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Nu există în prezent nici un tutorial pentru această clasă, puteţi " -#~ "[culoare = $color] [url = $url] contribui unul [/ URL] [/ color] sau " -#~ "[culoare = $color] [url = $url2] cerere unul[/ URL] [/ color]." - -#~ msgid "enum " -#~ msgstr "enum " - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "Descriere Scurtă:" - -#, fuzzy -#~ msgid "Class Description" -#~ msgstr "Descriere" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "Exportul de proiect nu a reuşit cu un cod de eroare %d." - -#~ msgid "Password:" -#~ msgstr "Parola:" - -#~ msgid "Pause the scene" -#~ msgstr "Întrerupe scena" - -#, fuzzy -#~ msgid "Snap to Grid" -#~ msgstr "Snap pe grilă" - -#, fuzzy -#~ msgid "Add input +" -#~ msgstr "Adaugă Intrare(Input)" - -#, fuzzy -#~ msgid "Input" -#~ msgstr "Adaugă Intrare(Input)" - -#, fuzzy -#~ msgid "Methods:" -#~ msgstr "Metode" - -#, fuzzy -#~ msgid "Theme Properties:" -#~ msgstr "Proprietăți" - -#~ msgid "Constants:" -#~ msgstr "Constante:" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "Descriere:" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "Descriere Proprietate:" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "Descrierea metodei:" - -#, fuzzy -#~ msgid "Reverse sorting." -#~ msgstr "Se Solicită..." - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "Nu se poate deschide file_type_cache.cch pentru scriere, nu se salvează " -#~ "fișierul tip cache!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "" -#~ "Nu se poate naviga către '%s' pentru că nu a fost găsit în sistemul de " -#~ "fișiere!" - -#~ msgid "Error loading image:" -#~ msgstr "Eroare la încărcarea imaginii:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "Nici un pixel cu transparența > 128 în imagine..." - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "Părintele nu are fețe solide pentru a fi populate." - -#~ msgid "Couldn't map area." -#~ msgstr "Nu s-a putut mapa zona." - -#~ msgid "Faces contain no area!" -#~ msgstr "Unele fețe nu conțin zonă!" - -#~ msgid "No faces!" -#~ msgstr "Nici o zonă!" - -#, fuzzy -#~ msgid "Error: could not load file." -#~ msgstr "Directorul nu a putut fi creat." - -#~ msgid "Doppler Enable" -#~ msgstr "Activare mod Doppler" - -#~ msgid "Scale Mode (R)" -#~ msgstr "Mod Redimensionare (R)" - -#~ msgid "Tool Scale" -#~ msgstr "Unealtă Dimensiune" - -#, fuzzy -#~ msgid "Previous Folder" -#~ msgstr "Fila anterioară" - -#, fuzzy -#~ msgid "Next Folder" -#~ msgstr "Creați Director" - -#, fuzzy -#~ msgid "Open in an external image editor." -#~ msgstr "Deschide Editorul următor" - -#~ msgid "Reverse" -#~ msgstr "Revers" - -#~ msgid "View log" -#~ msgstr "Vizualizează fișiere log" - -#, fuzzy -#~ msgid "Enabled Classes" -#~ msgstr "Căutare Clase" - -#~ msgid "Update Always" -#~ msgstr "Actualizează Întotdeauna" - -#~ msgid "Path to Node:" -#~ msgstr "Drum la Nod:" - -#~ msgid "Delete selected files?" -#~ msgstr "Ştergeți fişierele selectate?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "Nu există nici un fişier 'res://default_bus_layout.tres'." - -#~ msgid "Go to parent folder" -#~ msgstr "Accesați Directorul Părinte" - -#~ msgid "Open Scene(s)" -#~ msgstr "Deschide Scena(ele)" - -#~ msgid "Previous Directory" -#~ msgstr "Directorul Anterior" - -#~ msgid "Next Directory" -#~ msgstr "Directorul Urmator" - -#~ msgid "Ease in" -#~ msgstr "Facilitare în" - -#~ msgid "Ease out" -#~ msgstr "Facilitare din" - -#~ msgid "Create Convex Static Body" -#~ msgstr "Creează un Corp Static Convex" - -#, fuzzy -#~ msgid "Snap (s): " -#~ msgstr "Pas (s):" - -#, fuzzy -#~ msgid "Insert keys." -#~ msgstr "Inserează Note" - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "Instanțiază scena(ele) selectată ca un copil al nodului selectat." - -#~ msgid "Line:" -#~ msgstr "Linie:" - -#~ msgid "Col:" -#~ msgstr "Col:" - -#, fuzzy -#~ msgid "Add Split" -#~ msgstr "Adaugă punct" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "Elimină punct" - -#, fuzzy -#~ msgid "Poly" -#~ msgstr "Editează Poligon" - -#, fuzzy -#~ msgid "Splits" -#~ msgstr "Divizare cale" - -#~ msgid "Create Poly" -#~ msgstr "Crează Poligon" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "Crează un nou poligon de la zero" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "Zoom-ați Afară" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "Zoom-ați În" - -#~ msgid "Create Poly3D" -#~ msgstr "Creează Poligon3D" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "Nicio resursă OccluderPolygon2D în acest nod.\n" -#~ "Vrei să creezi și să atribui una?" - -#~ msgid "LMB: Move Point." -#~ msgstr "LMB: Mișcă Punctul." - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl+LMB: Despică Segmentul." - -#~ msgid "RMB: Erase Point." -#~ msgstr "RMB: Șterge Punctul." - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "Zoom-ați În" - -#~ msgid "Class List:" -#~ msgstr "Listă de Clase:" - -#~ msgid "Public Methods" -#~ msgstr "Metode Publice" - -#~ msgid "Public Methods:" -#~ msgstr "Metode Publice:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "Obiecte Tema Interfața Grafică:" - -#, fuzzy -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Marchează statutul directorului ca Favorit" - -#, fuzzy -#~ msgid "Whole words" -#~ msgstr "Cuvinte Complete" - -#, fuzzy -#~ msgid "Match case" -#~ msgstr "Potrivește Caz-ul" - -#~ msgid "Ok" -#~ msgstr "Bine" - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "Căutare Clase" - -#~ msgid "Bake!" -#~ msgstr "Coacere!" - -#~ msgid "Bake the navigation mesh." -#~ msgstr "Procesează mesh-ul de navigare." - -#~ msgid "Modify Color Ramp" -#~ msgstr "Modifică Rampa de Culori" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Mută Pista Anim Sus" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Mută Pista Anim Jos" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Anim Schimbați Interpolarea Pistei" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Anim Schimbați Modul Valorii Pistei" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Anim Schimbați Modul Învelirii Pistei" - -#~ msgid "Edit Node Curve" -#~ msgstr "Editați Curba Nodului" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Editați Curba Selecției" - -#~ msgid "Anim Add Key" -#~ msgstr "Anim Adaugați Cheie" - -#~ msgid "In" -#~ msgstr "În" - -#~ msgid "Out" -#~ msgstr "Afară" - -#~ msgid "In-Out" -#~ msgstr "Înăuntru-Afară" - -#~ msgid "Out-In" -#~ msgstr "Afară-Înăuntru" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Anim Creați Cheie Valoare Typed" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Anim Adăugați Pistă Chemare" - -#~ msgid "Length (s):" -#~ msgstr "Lungime (s):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "Pas de Cursor Snap (în secunde)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Activați / Dezactivați Repetiția în Animație." - -#~ msgid "Add new tracks." -#~ msgstr "Adăugați piste noi." - -#~ msgid "Move current track up." -#~ msgstr "Mișcați pista curentă sus." - -#~ msgid "Move current track down." -#~ msgstr "Mișcați pista curentă jos." - -#~ msgid "Track tools" -#~ msgstr "Unelte Pistă" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Activați editarea de chei individuale prin clic." - -#~ msgid "Key" -#~ msgstr "Cheie" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Chemați Funcții în Care Nod?" - -#~ msgid "Thanks!" -#~ msgstr "Mulţumiri!" - -#~ msgid "I see..." -#~ msgstr "Am înțeles..." - -#~ msgid "Ugh" -#~ msgstr "Uh" - -#~ msgid "Stop Profiling" -#~ msgstr "Oprește Profilarea" - -#~ msgid "Start Profiling" -#~ msgstr "Pornește Profilarea" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "Implicit (Asemănător ca Editor)" - -#~ msgid "Create new animation in player." -#~ msgstr "Creează o nouă animație în player." - -#~ msgid "Load animation from disk." -#~ msgstr "Încarcă animație de pe disc." - -#~ msgid "Load an animation from disk." -#~ msgstr "Încarcă o animație de pe disc." - -#~ msgid "Save the current animation" -#~ msgstr "Salvează actuala animație" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "Editează Timpul de Amestecare al Țintei" - -#~ msgid "Copy Animation" -#~ msgstr "Copiză Animație" - -#~ msgid "Fetching:" -#~ msgstr "Se Preia(u):" - -#~ msgid "prev" -#~ msgstr "anterior" - -#~ msgid "next" -#~ msgstr "următorul" - -#~ msgid "last" -#~ msgstr "ultimul" - -#~ msgid "Edit IK Chain" -#~ msgstr "Editează Lanț IK" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "Trage pivotul de la poziția mouse-ului" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "Setează pivotul la poziția mouse-ului" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "Adaugă/Elimină Punctul Rampei de Culori" - -#~ msgid "Clear!" -#~ msgstr "Curăță!" diff --git a/editor/translations/ru.po b/editor/translations/ru.po index 0d7bd238ed..0796e32dee 100644 --- a/editor/translations/ru.po +++ b/editor/translations/ru.po @@ -1,6 +1,6 @@ # Russian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Аркадий Авас <savvot@gmail.com>, 2018. # Artem Varaksa <aymfst@gmail.com>, 2018. @@ -100,13 +100,14 @@ # Anna Malinovskaia <tacitcoast@gmail.com>, 2021. # mrvladus <mrvladus@yandex.ru>, 2021. # DΞLTΛ <craftercrafter43@gmail.com>, 2021. +# AngryPhilomel <an.aries@icloud.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-11-07 09:45+0000\n" -"Last-Translator: DΞLTΛ <craftercrafter43@gmail.com>\n" +"PO-Revision-Date: 2021-12-14 15:28+0000\n" +"Last-Translator: Danil Alexeev <danil@alexeev.xyz>\n" "Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/" "godot/ru/>\n" "Language: ru\n" @@ -115,17 +116,18 @@ 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.9-dev\n" +"X-Generator: Weblate 4.10-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." msgstr "" -"Недопустимый аргумент type для convert(), используйте константы TYPE_*." +"Недопустимое значение аргумента type для convert(), используйте константы " +"TYPE_*." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp msgid "Expected a string of length 1 (a character)." -msgstr "Ожидалась строка длиной 1 (т. е. 1 символ)." +msgstr "Ожидалась строка длиной 1 (символ)." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/mono/glue/gd_glue.cpp @@ -338,7 +340,7 @@ msgstr "Аудиодорожки:" #: editor/animation_track_editor.cpp msgid "Anim Clips:" -msgstr "Дорожки анимации:" +msgstr "Анимационные клипы:" #: editor/animation_track_editor.cpp msgid "Change Track Path" @@ -2207,14 +2209,30 @@ msgstr "Методы" msgid "Theme Properties" msgstr "Свойства темы" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Перечисления" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "Цвета" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Константы" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "Шрифты" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "Иконки" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "Стили" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Перечисления" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Описания свойств" @@ -8658,18 +8676,6 @@ msgid "TextureRegion" msgstr "Область текстуры" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "Цвета" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "Шрифты" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "Иконки" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "Стили" @@ -13459,10 +13465,17 @@ msgstr "«Use Custom Build» должен быть включен для исп #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" +"«Hand Tracking» действителен только тогда, когда «Xr Mode» установлен в " +"«Oculus Mobile VrApi» или «OpenXR»." + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" -"«Отслеживание рук» действует только тогда, когда «Xr Mode» - это «Oculus " -"Mobile VR»." +"«Passthrough» действителен только тогда, когда «Xr Mode» установлен в " +"«OpenXR»." #: platform/android/export/export_plugin.cpp msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." @@ -13472,6 +13485,25 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" +"Изменение «Min Sdk» действительно только если включён параметр «Использовать " +"пользовательскую сборку»." + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" +"Изменение «Target Sdk» действительно только если включён параметр " +"«Использовать пользовательскую сборку»." + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "Версия «Target Sdk» должна быть больше или равна версии «Min Sdk»." + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14654,2142 +14686,3 @@ msgstr "Назначить форму." #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Константы не могут быть изменены." - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "Сделать позу покоя (из костей)" - -#~ msgid "Bottom" -#~ msgstr "Низ" - -#~ msgid "Left" -#~ msgstr "Лево" - -#~ msgid "Right" -#~ msgstr "Право" - -#~ msgid "Front" -#~ msgstr "Перед" - -#~ msgid "Rear" -#~ msgstr "Зад" - -#~ msgid "Nameless gizmo" -#~ msgstr "Безымянный гизмо" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "«Степени свободы» действительны только тогда, когда «Xr Mode» - это " -#~ "«Oculus Mobile VR»." - -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "«Осведомленность о фокусе» действительна только в том случае, если «Режим " -#~ "Xr» - это «Oculus Mobile VR»." - -#~ msgid "Package Contents:" -#~ msgstr "Содержимое пакета:" - -#~ msgid "Singleton" -#~ msgstr "Синглтон" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Стереть профиль «%s»? (нельзя отменить)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Доступные свойства:" - -#~ msgid "Enabled Features:" -#~ msgstr "Доступные функции:" - -#~ msgid "Unset" -#~ msgstr "Сбросить" - -#~ msgid "Class Options" -#~ msgstr "Параметры класса" - -#~ msgid "Set" -#~ msgstr "Задать" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "%s измененных ресурсов сохранено." - -#~ msgid "Q&A" -#~ msgstr "Вопросы и ответы" - -#~ msgid "Status:" -#~ msgstr "Статус:" - -#~ msgid "Edit:" -#~ msgstr "Редактировать:" - -#~ msgid "Redownload" -#~ msgstr "Перезагрузить" - -#~ msgid "(Installed)" -#~ msgstr "(Установлено)" - -#~ msgid "(Missing)" -#~ msgstr "(Отсутствует)" - -#~ msgid "Request Failed." -#~ msgstr "Не удалось выполнить запрос." - -#~ msgid "Redirect Loop." -#~ msgstr "Циклическое перенаправление." - -#~ msgid "Download Complete." -#~ msgstr "Загрузка завершена." - -#~ msgid "Remove Template" -#~ msgstr "Удалить шаблон" - -#~ msgid "Download Templates" -#~ msgstr "Загрузить шаблоны" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "Выберите зеркало из списка: (Shift+Click: Открыть в браузере)" - -#~ msgid "Move to Trash" -#~ msgstr "Удалить в корзину" - -#~ msgid "Expand All Properties" -#~ msgstr "Развернуть все свойства" - -#~ msgid "Collapse All Properties" -#~ msgstr "Свернуть все свойства" - -#~ msgid "Copy Params" -#~ msgstr "Копировать параметры" - -#~ msgid "Open in Help" -#~ msgstr "Открыть в справке" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "Переопределение игровой камеры\n" -#~ "Нет запущенного экземпляра игры." - -#~ msgid "Drag: Rotate" -#~ msgstr "Тащить: Поворот" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Нажмите «V» чтобы изменить точку вращения, «Shift+V» чтобы перемещать " -#~ "точку вращения." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+ПКМ: Список выбора глубины" - -#~ msgid "Clone Down" -#~ msgstr "Продублировать вниз" - -#~ msgid "Yaw" -#~ msgstr "Рыскание" - -#~ msgid "Size" -#~ msgstr "Размер" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "Тянуть: Вращение\n" -#~ "Alt+Тянуть: Перемещение\n" -#~ "Alt+ПКМ: Выбор по списку" - -#~ msgid "Sep.:" -#~ msgstr "Разделитель:" - -#~ msgid "Add All" -#~ msgstr "Добавить все" - -#~ msgid "Theme editing menu." -#~ msgstr "Меню редактирования тем." - -#~ msgid "Create Empty Template" -#~ msgstr "Создать пустой шаблон" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "Создать пустой шаблон редактора" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "Создать из текущей темы редактора" - -#~ msgid "Data Type:" -#~ msgstr "Тип информации:" - -#~ msgid "Theme File" -#~ msgstr "Файл темы" - -#~ msgid "Compiled" -#~ msgstr "Компилированный" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "Удалить %d проектов из списка?\n" -#~ "Содержимое папок проектов не будет изменено." - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "Удалить данный проект из списка?\n" -#~ "Содержимое папки проекта не будет изменено." - -#~ msgid "Templates" -#~ msgstr "Шаблоны" - -#~ msgid "Add Remapped Path" -#~ msgstr "Добавить путь перенаправления" - -#~ msgid "Can not perform with the root node." -#~ msgstr "Невозможно выполнить с корнем." - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "Не удалось прочитать файл изображения заставки:" - -#~ msgid "Using default boot splash image." -#~ msgstr "Использовать изображения заставки по умолчанию." - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Проигрыватель анимации не может анимировать сам себя, только других." - -#~ msgid "Clipboard is empty" -#~ msgstr "Буфер обмена пуст" - -#~ msgid "" -#~ "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -#~ msgstr "InterpolatedCamera устарела и будет удалена в Godot 4.0." - -#~ msgid "No" -#~ msgstr "Нет" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Эта сцена никогда не была сохранена. Сохранить перед запуском?" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "Исполняемый файл ADB не сконфигурирован в настройках редактора." - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "OpenJDK jarsigner не настроен в Настройках Редактора." - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "" -#~ "Пользовательская сборка требует наличия правильного пути к Android SDK в " -#~ "настройках редактора." - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(Осталось: %d:%02d сек)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "Построение полисетки: " - -#~ msgid "Lighting Meshes: " -#~ msgstr "Освещение полисетки: " - -#~ msgid "Search complete" -#~ msgstr "Поиск завершен" - -#~ msgid "No commit message was provided" -#~ msgstr "Не указано сообщение коммита" - -#~ msgid "Add a commit message" -#~ msgstr "Добавьте сообщение коммита" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "По этому пути уже существует файл или папка с указанным именем." - -#~ msgid "Unable to complete APK alignment." -#~ msgstr "Невозможно завершить выравнивание APK." - -#~ msgid "Unable to delete unaligned APK." -#~ msgstr "Не удалось удалить невыровненный APK." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Ошибка при попытке сохранить макет!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Переопределить макет по умолчанию." - -#~ msgid "Move pivot" -#~ msgstr "Переместить опорную точку" - -#~ msgid "Move anchor" -#~ msgstr "Переместить якорь" - -#~ msgid "Resize CanvasItem" -#~ msgstr "Изменить размер CanvasItem" - -#~ msgid "Polygon->UV" -#~ msgstr "Полигон -> UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV -> Полигон" - -#~ msgid "Add initial export..." -#~ msgstr "Добавить начальный экспорт..." - -#~ msgid "Add previous patches..." -#~ msgstr "Добавить предыдущие патчи..." - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "Удалить патч «%s» из списка?" - -#~ msgid "Patches" -#~ msgstr "Патчи" - -#~ msgid "Make Patch" -#~ msgstr "Создать патч" - -#~ msgid "Pack File" -#~ msgstr "Файл пакета" - -#~ msgid "No build apk generated at: " -#~ msgstr "Нет сборки apk в: " - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "Панели «Файловая система» и «Импорт»" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "При экспорте или развёртывании, полученный исполняемый файл будет " -#~ "пытаться подключиться к IP этого компьютера с целью отладки." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "" -#~ "Текущая сцена никогда не была сохранена, сохраните её перед запуском." - -#~ msgid "Revert" -#~ msgstr "Восстановить" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Это действие нельзя отменить. Восстановить в любом случае?" - -#~ msgid "Revert Scene" -#~ msgstr "Восстановить сцену" - -#~ msgid "Clear Script" -#~ msgstr "Убрать скрипт" - -#~ msgid "Issue Tracker" -#~ msgstr "Система отслеживания ошибок" - -#~ msgid "Request Docs" -#~ msgstr "Проблема" - -#~ msgid "Help improve the Godot documentation by giving feedback." -#~ msgstr "Помогите улучшить документацию Godot, оставьте сообщение об ошибке." - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "Заменено %d совпадений." - -#~ msgid "Create Static Convex Body" -#~ msgstr "Создать выпуклое статичное тело" - -#~ msgid "Failed creating shapes!" -#~ msgstr "Не удалось создать форму!" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "В настоящее время отсутствуют учебники для этого класса, вы можете его " -#~ "[color=$color][url=$url]добавить[/url][/color] или [color=$color][url=" -#~ "$url2]запросить[/url][/color]." - -#~ msgid "enum " -#~ msgstr "перечисление " - -#~ msgid "Brief Description" -#~ msgstr "Краткое описание" - -#~ msgid "Class Description" -#~ msgstr "Описание класса" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "Экспорт проекта не удался, код %d." - -#~ msgid "Password:" -#~ msgstr "Пароль:" - -#~ msgid "Identifier segments must be of non-zero length." -#~ msgstr "Идентифицированные сегменты не должны быть пустыми." - -#~ msgid "A digit cannot be the first character in a Identifier segment." -#~ msgstr "Цифра не может быть первым символом идентификатора сегмента." - -#~ msgid "" -#~ "The character '%s' cannot be the first character in a Identifier segment." -#~ msgstr "Символ '%s' не может быть первым символом идентификатора сегмента." - -#~ msgid "The Identifier must have at least one '.' separator." -#~ msgstr "Идентификатор должен иметь хотя бы один '.' разделитель." - -#~ msgid "Pause the scene" -#~ msgstr "Приостановить сцену" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Control+" -#~ msgstr "Control+" - -#~ msgid "Snap to Grid" -#~ msgstr "Привязка к сетке" - -#~ msgid "Add input +" -#~ msgstr "Добавить вход +" - -#~ msgid "Language" -#~ msgstr "Язык" - -#~ msgid "Inherits" -#~ msgstr "Наследует" - -#~ msgid "Base Type:" -#~ msgstr "Базовый тип:" - -#~ msgid "Available Nodes:" -#~ msgstr "Доступные узлы:" - -#~ msgid "Input" -#~ msgstr "Вход" - -#~ msgid "Methods:" -#~ msgstr "Методы:" - -#~ msgid "Theme Properties:" -#~ msgstr "Свойства темы:" - -#~ msgid "Enumerations:" -#~ msgstr "Перечисления:" - -#~ msgid "Constants:" -#~ msgstr "Константы:" - -#~ msgid "Class Description:" -#~ msgstr "Описание класса:" - -#~ msgid "Property Descriptions:" -#~ msgstr "Описание свойств:" - -#~ msgid "Method Descriptions:" -#~ msgstr "Описание методов:" - -#~ msgid "" -#~ "This will install the Android project for custom builds.\n" -#~ "Note that, in order to use it, it needs to be enabled per export preset." -#~ msgstr "" -#~ "Данный процесс установит Android проект для пользовательских сборок.\n" -#~ "Обратите внимание, что для его работы, необходимо включить его в каждом " -#~ "пресете экспорта." - -#~ msgid "Reverse sorting." -#~ msgstr "Обратная сортировка." - -#~ msgid "Delete Node(s)?" -#~ msgstr "Удалить узел(узлы)?" - -#~ msgid "No Matches" -#~ msgstr "Нет совпадений" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "Невозможно открыть file_type_cache.cch для записи. Не будет сохранён кэш " -#~ "типов файлов!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "" -#~ "Не удается перейти к '%s', так как он не был найден в файловой системе!" - -#~ msgid "Error loading image:" -#~ msgstr "Ошибка при загрузке изображения:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "Никаких пикселей с прозрачностью > 128 в изображении..." - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "Родитель не имеет твёрдых граней для заполнения." - -#~ msgid "Couldn't map area." -#~ msgstr "Не удалось отобразить область." - -#~ msgid "Faces contain no area!" -#~ msgstr "Грани не содержат зоны!" - -#~ msgid "No faces!" -#~ msgstr "Нет граней!" - -#~ msgid "Error: could not load file." -#~ msgstr "Ошибка: Не удалось загрузить файл." - -#~ msgid "Error could not load file." -#~ msgstr "Не удалось загрузить файл." - -#~ msgid "Doppler Enable" -#~ msgstr "Доплеровский режим" - -#~ msgid "Select Mode (Q)" -#~ msgstr "Режим выделения (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "Режим перемещения (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "Режим поворота (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "Режим масштабирования (R)" - -#~ msgid "Local Coords" -#~ msgstr "Локальные координаты" - -#~ msgid "Snap Mode (%s)" -#~ msgstr "Режим привязки (%s)" - -#~ msgid "Tool Select" -#~ msgstr "Инструмент выбора" - -#~ msgid "Tool Move" -#~ msgstr "Инструмент перемещения" - -#~ msgid "Tool Rotate" -#~ msgstr "Инструмент поворот" - -#~ msgid "Tool Scale" -#~ msgstr "Инструмент масштаб" - -#, fuzzy -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "Удалить проект из списка? (Содержимое папки не будет изменено)" - -#~ msgid "Project List" -#~ msgstr "Список проектов" - -#~ msgid "Exit" -#~ msgstr "Выход" - -#~ msgid "Could not execute PVRTC tool:" -#~ msgstr "Невозможно запустить PVRTC инструмент:" - -#~ msgid "Can't load back converted image using PVRTC tool:" -#~ msgstr "" -#~ "Не возможно загрузить обратно конвертированное изображение используя " -#~ "PVRTC инструмент:" - -#~ msgid "Error initializing FreeType." -#~ msgstr "Ошибка инициализации FreeType." - -#~ msgid "Unknown font format." -#~ msgstr "Неизвестный формат шрифта." - -#~ msgid "Error loading font." -#~ msgstr "Ошибка загрузки шрифта." - -#~ msgid "Invalid font size." -#~ msgstr "Недопустимый размер шрифта." - -#~ msgid "Previous Folder" -#~ msgstr "Предыдущая папка" - -#~ msgid "Next Folder" -#~ msgstr "Следующая папка" - -#~ msgid "Automatically Open Screenshots" -#~ msgstr "Автоматически открывать скриншоты" - -#, fuzzy -#~ msgid "Open in an external image editor." -#~ msgstr "Открыть следующий редактор" - -#~ msgid "Reverse" -#~ msgstr "Обратно" - -#~ msgid "Mirror X" -#~ msgstr "Зеркально по X" - -#~ msgid "Mirror Y" -#~ msgstr "Зеркально по Y" - -#~ msgid "Generating solution..." -#~ msgstr "Генерация решения..." - -#~ msgid "Generating C# project..." -#~ msgstr "Создание C# проекта..." - -#~ msgid "Failed to create solution." -#~ msgstr "Не удалось создать решение." - -#~ msgid "Failed to save solution." -#~ msgstr "Не удалось сохранить решение." - -#~ msgid "Failed to create C# project." -#~ msgstr "Не удалось создать C# проект." - -#~ msgid "Mono" -#~ msgstr "Моно" - -#~ msgid "About C# support" -#~ msgstr "О C# поддержке" - -#~ msgid "Create C# solution" -#~ msgstr "Создать C# решение" - -#~ msgid "Builds" -#~ msgstr "Билды" - -#~ msgid "Build Project" -#~ msgstr "Собрать проект" - -#~ msgid "View log" -#~ msgstr "Просмотр журнала" - -#~ msgid "WorldEnvironment needs an Environment resource." -#~ msgstr "WorldEnvironment необходим Environment ресурс." - -#, fuzzy -#~ msgid "Enabled Classes" -#~ msgstr "Поиск классов" - -#~ msgid "Update Always" -#~ msgstr "Обновлять всегда" - -#~ msgid "Raw Mode" -#~ msgstr "RAW режим" - -#~ msgid "Path to Node:" -#~ msgstr "Путь к Узлу:" - -#~ msgid "Delete selected files?" -#~ msgstr "Удалить выбранные файлы?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "Отсутствует файл «res://default_bus_layout.tres»." - -#~ msgid "Go to parent folder" -#~ msgstr "Перейти к родительской папке" - -#~ msgid "Open Scene(s)" -#~ msgstr "Открыть сцену(ны)" - -#~ msgid "Previous Directory" -#~ msgstr "Предыдущий каталог" - -#~ msgid "Next Directory" -#~ msgstr "Следующий каталог" - -#~ msgid "Ease in" -#~ msgstr "Переход В" - -#~ msgid "Ease out" -#~ msgstr "Переход ИЗ" - -#~ msgid "Create Convex Static Body" -#~ msgstr "Создать выпуклое статичное тело" - -#~ msgid "CheckBox Radio1" -#~ msgstr "Чекбокс 1" - -#~ msgid "CheckBox Radio2" -#~ msgstr "Чекбокс 2" - -#~ msgid "Create folder" -#~ msgstr "Создать папку" - -#~ msgid "Custom Node" -#~ msgstr "Пользовательский узел" - -#~ msgid "Invalid Path" -#~ msgstr "Неверный путь" - -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "Дублировать выделенную сетку" - -#~ msgid "Create Area" -#~ msgstr "Создать область" - -#~ msgid "Create Exterior Connector" -#~ msgstr "Создать внешний коннектор" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "Редактирование аргументов сигнала:" - -#~ msgid "Edit Variable:" -#~ msgstr "Редактировать переменную:" - -#~ msgid "Snap (s): " -#~ msgstr "Привязка (сек): " - -#~ msgid "Insert keys." -#~ msgstr "Вставить ключи." - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "Добавить выбранную сцену(ы), в качестве потомка выбранного узла." - -#~ msgid "Font Size:" -#~ msgstr "Размер шрифта:" - -#~ msgid "Line:" -#~ msgstr "Строка:" - -#~ msgid "Col:" -#~ msgstr "Стлб:" - -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "OrientedPathFollow работает только если она дочь узла Path." - -#~ msgid "Split point with itself." -#~ msgstr "Точка разделения." - -#~ msgid "Split can't form an existing edge." -#~ msgstr "Нельзя отделить от существующего края." - -#~ msgid "Add Split" -#~ msgstr "Добавить разрез" - -#~ msgid "Invalid Split: " -#~ msgstr "Недопустимое Разбиение: " - -#~ msgid "Remove Split" -#~ msgstr "Удалить разрез" - -#~ msgid "Poly" -#~ msgstr "Полигон" - -#~ msgid "Splits" -#~ msgstr "Разделение" - -#~ msgid "Connect two points to make a split." -#~ msgstr "Соединить две точки, чтобы создать разделение." - -#~ msgid "Add Node.." -#~ msgstr "Добавить Узел.." - -#~ msgid "Create from scene?" -#~ msgstr "Создать из сцены?" - -#~ msgid "Create Poly" -#~ msgstr "Создан полигон" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "Создать новый полигон с нуля" - -#~ msgid "Zoom out" -#~ msgstr "Уменьшить" - -#~ msgid "Zoom in" -#~ msgstr "Увеличить" - -#~ msgid "Create Poly3D" -#~ msgstr "Создан Poly3D" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "Нет OccluderPolygon2D ресурса у этого узла.\n" -#~ "Создать и назначить?" - -#~ msgid "LMB: Move Point." -#~ msgstr "ЛКМ: Передвинуть точку." - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl+ЛКМ: Разделить сегмент." - -#~ msgid "RMB: Erase Point." -#~ msgstr "ПКМ: Удалить точку." - -#~ msgid "New TextFile" -#~ msgstr "Новый текстовый файл" - -#~ msgid "Save Theme As" -#~ msgstr "Сохранить тему как" - -#~ msgid "<None>" -#~ msgstr "<Нет>" - -#~ msgid "" -#~ "Select sub-tile to use as icon, this will be also used on invalid " -#~ "autotile bindings." -#~ msgstr "" -#~ "Выберите плитку для использования в качестве значка, она также будет " -#~ "использоваться при неверных привязках автотайлов." - -#~ msgid "Zoom:" -#~ msgstr "Приближение:" - -#~ msgid "Are you sure you want to remove all connections from the \"" -#~ msgstr "Вы уверены, что хотите удалить все подключения от \"" - -#~ msgid "Class List:" -#~ msgstr "Список классов:" - -#~ msgid "Public Methods" -#~ msgstr "Публичные методы" - -#~ msgid "Public Methods:" -#~ msgstr "Список методов:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "Тема элементов GUI:" - -#~ msgid "Property: " -#~ msgstr "Параметр: " - -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Добавить папку в Избранное." - -#~ msgid "Show current scene file." -#~ msgstr "Показать текущий файл сцены." - -#~ msgid "Enter tree-view." -#~ msgstr "Войти в древовидное представление." - -#~ msgid "Whole words" -#~ msgstr "Слова целиком" - -#~ msgid "Match case" -#~ msgstr "Учитывать регистр" - -#~ msgid "Ok" -#~ msgstr "Ок" - -#~ msgid "Show In File System" -#~ msgstr "Показать в файловой системе" - -#~ msgid "Search the class hierarchy." -#~ msgstr "Поиск в классовой иерархии." - -#~ msgid "Search in files" -#~ msgstr "Искать в файлах" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "" -#~ "Встроенные скрипты могут быть изменены только, когда сцена, которой они " -#~ "принадлежат, загружена" - -#~ msgid "Convert To Uppercase" -#~ msgstr "Конвертировать в ВЕРХНИЙ РЕГИСТР" - -#~ msgid "Convert To Lowercase" -#~ msgstr "Конвертировать в нижний регистр" - -#~ msgid "Rotate 0 degrees" -#~ msgstr "Поворот на 0 градусов" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "Поворот на 90 градусов" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "Поворот на 180 градусов" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "Поворот на 270 градусов" - -#~ msgid "Errors:" -#~ msgstr "Ошибки:" - -#~ msgid "Stack Trace (if applicable):" -#~ msgstr "Трассировка стека (если применимо):" - -#~ msgid "Bake!" -#~ msgstr "Запечь!" - -#~ msgid "Bake the navigation mesh." -#~ msgstr "Создать полисетку навигации." - -#~ msgid "Get" -#~ msgstr "Получить" - -#~ msgid "Change RGB Constant" -#~ msgstr "Изменить RGB константу" - -#~ msgid "Change Vec Scalar Operator" -#~ msgstr "Изменить векторно-числовой оператор" - -#~ msgid "Change RGB Operator" -#~ msgstr "Изменить RGB оператор" - -#~ msgid "Toggle Rot Only" -#~ msgstr "Переключить - только поворот" - -#~ msgid "Change Vec Function" -#~ msgstr "Изменить векторную функцию" - -#~ msgid "Change Vec Uniform" -#~ msgstr "Изменить векторную единицу" - -#~ msgid "Change RGB Uniform" -#~ msgstr "Изменить RGB единицу" - -#~ msgid "Change Default Value" -#~ msgstr "Изменить значение по умолчанию" - -#~ msgid "Change XForm Uniform" -#~ msgstr "Изменить XForm единицу" - -#~ msgid "Change Cubemap Uniform" -#~ msgstr "Изменить единицу кубической карты" - -#~ msgid "Change Comment" -#~ msgstr "Изменить комментарий" - -#~ msgid "Add/Remove to Color Ramp" -#~ msgstr "Добавить/Удалить в Color Ramp" - -#~ msgid "Modify Color Ramp" -#~ msgstr "Редактировать Color Ramp" - -#~ msgid "Add/Remove to Curve Map" -#~ msgstr "Добавить/Удалить в Curve Map" - -#~ msgid "Modify Curve Map" -#~ msgstr "Редактировать карту кривой" - -#~ msgid "Connect Graph Nodes" -#~ msgstr "Соединить узлы графа" - -#~ msgid "Remove Shader Graph Node" -#~ msgstr "Удалить узел графа шейдера" - -#~ msgid "Move Shader Graph Node" -#~ msgstr "Передвинуть узел графа шейдера" - -#~ msgid "Duplicate Graph Node(s)" -#~ msgstr "Дублировать узел(ы) графа" - -#~ msgid "Error: Cyclic Connection Link" -#~ msgstr "Ошибка: Циклическое подключение" - -#~ msgid "Error: Missing Input Connections" -#~ msgstr "Ошибка: Отсутствует входное подключение" - -#~ msgid "Add Shader Graph Node" -#~ msgstr "Добавить узел графа шейдера" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Передвинуть дорожку вверх" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Передвинуть дорожку вниз" - -#~ msgid "Set Transitions to:" -#~ msgstr "Установить переход на:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Изменить интерполяцию" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Изменить режим значений" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Изменить режим цикла" - -#~ msgid "Edit Node Curve" -#~ msgstr "Редактировать кривую узла" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Редактировать выбранную кривую" - -#~ msgid "Anim Add Key" -#~ msgstr "Добавить ключ" - -#~ msgid "In" -#~ msgstr "Вход" - -#~ msgid "Out" -#~ msgstr "Выход" - -#~ msgid "In-Out" -#~ msgstr "В-Из" - -#~ msgid "Out-In" -#~ msgstr "Из-В" - -#~ msgid "Change Anim Len" -#~ msgstr "Изменить длину анимации" - -#~ msgid "Change Anim Loop" -#~ msgstr "Изменить зацикливание анимации" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Создать ключ с вводимым значением" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Добавить дорожку вызова" - -#~ msgid "Length (s):" -#~ msgstr "Длина (сек.):" - -#~ msgid "Step (s):" -#~ msgstr "Шаг (сек.):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "Шаг привязки курсора (в секундах)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Включить/отключить зацикливание в анимации." - -#~ msgid "Add new tracks." -#~ msgstr "Добавить новые дорожки." - -#~ msgid "Move current track up." -#~ msgstr "Передвинуть текущую дорожку вверх." - -#~ msgid "Move current track down." -#~ msgstr "Передвинуть текущую дорожку вниз." - -#~ msgid "Track tools" -#~ msgstr "Инструменты дорожек" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Включить редактирование ключей, кликая по ним." - -#~ msgid "Key" -#~ msgstr "Ключ" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Из какого узла вызвать функцию?" - -#~ msgid "Thanks!" -#~ msgstr "Спасибо!" - -#~ msgid "I see..." -#~ msgstr "Ясно..." - -#~ msgid "Ugh" -#~ msgstr "Ясно" - -#~ msgid "Run Script" -#~ msgstr "Запустить скрипт" - -#~ msgid "Stop Profiling" -#~ msgstr "Остановить профилирование" - -#~ msgid "Start Profiling" -#~ msgstr "Запустить профилирование" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "По умолчанию (как редактор)" - -#~ msgid "Create new animation in player." -#~ msgstr "Создать новую анимацию." - -#~ msgid "Load animation from disk." -#~ msgstr "Загрузить анимацию с диска." - -#~ msgid "Load an animation from disk." -#~ msgstr "Загрузить эту анимацию с диска." - -#~ msgid "Save the current animation" -#~ msgstr "Сохранить текущую анимацию" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "Редактировать время \"смешивания\"" - -#~ msgid "Copy Animation" -#~ msgstr "Копировать анимацию" - -#~ msgid "Fetching:" -#~ msgstr "Извлечение:" - -#~ msgid "prev" -#~ msgstr "предыдущий" - -#~ msgid "next" -#~ msgstr "далее" - -#~ msgid "last" -#~ msgstr "последний" - -#~ msgid "Edit IK Chain" -#~ msgstr "Редактировать цепь ИК" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "Перетащить точку вращения из положения мыши" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "Установить точку вращения на месте указателя мыши" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "Добавить/Удалить точку Color Ramp" - -#~ msgid "OK :(" -#~ msgstr "Ок :(" - -#~ msgid "Skeleton Gizmo visibility" -#~ msgstr "Видимость гизмо скелета" - -#~ msgid "StyleBox Preview:" -#~ msgstr "Предпросмотр StyleBox:" - -#~ msgid "Texture Region Editor" -#~ msgstr "Редактор области текстуры" - -#~ msgid "Erase selection" -#~ msgstr "Очистить выделенное" - -#~ msgid "Item name or ID:" -#~ msgstr "ID или имя элемента:" - -#~ msgid "Export templates for this platform are missing/corrupted: " -#~ msgstr "Шаблоны экспорта для этой платформы отсутствуют/повреждены: " - -#~ msgid "Button 8" -#~ msgstr "Кнопка 8" - -#~ msgid "Button 9" -#~ msgstr "Кнопка 9" - -#~ msgid "Discard Instancing" -#~ msgstr "Отбросить инстансинг" - -#~ msgid "Makes Sense!" -#~ msgstr "Имеет смысл!" - -#~ msgid "Clear!" -#~ msgstr "Очистить!" - -#~ msgid "Toggle Spatial Visible" -#~ msgstr "Переключить видимость Spatial" - -#~ msgid "Condition" -#~ msgstr "Условие" - -#~ msgid "Sequence" -#~ msgstr "Последовательность" - -#~ msgid "Switch" -#~ msgstr "Переключатель" - -#~ msgid "Iterator" -#~ msgstr "Итератор" - -#~ msgid "While" -#~ msgstr "Пока" - -#~ msgid "Return" -#~ msgstr "Возвращение" - -#~ msgid "Call" -#~ msgstr "Вызов" - -#~ msgid "Edit Variable" -#~ msgstr "Редактировать переменную" - -#~ msgid "Edit Signal" -#~ msgstr "Редактировать сигнал" - -#~ msgid "Invalid action (anything goes but '/' or ':')." -#~ msgstr "Недопустимое название действия (подойдёт всё кроме '/' или ':')." - -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "Не может содержать '/' или ':'" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "Неверный формат version.txt файла внутри шаблонов. Идентификатор ревизии " -#~ "не верен." - -#~ msgid "Can't write file." -#~ msgstr "Не удалось записать файл." - -#~ msgid "Couldn't get project.godot in project path." -#~ msgstr "Отсутствует project.godot в папке проекта." - -#~ msgid "Replace By" -#~ msgstr "Заменить на" - -#~ msgid "Backwards" -#~ msgstr "В обратном направлении" - -#~ msgid "Prompt On Replace" -#~ msgstr "Подтверждение замены" - -#~ msgid "Skip" -#~ msgstr "Пропустить" - -#~ msgid "" -#~ "Your project will be created in a non empty folder (you might want to " -#~ "create a new folder)." -#~ msgstr "" -#~ "Ваш проект будет создан не в пустой папке (лучше создать новую папку)." - -#~ msgid "That's a BINGO!" -#~ msgstr "Бинго!" - -#~ msgid "preview" -#~ msgstr "предпросмотр" - -#~ msgid "Move Add Key" -#~ msgstr "Подвинуть ключ" - -#~ msgid "Create Subscription" -#~ msgstr "Создать подписку" - -#~ msgid "List:" -#~ msgstr "Список:" - -#~ msgid "Set Emission Mask" -#~ msgstr "Установлена маска выброса" - -#~ msgid "Clear Emitter" -#~ msgstr "Очистить излучатель" - -#~ msgid "Fold Line" -#~ msgstr "Свернуть строку" - -#~ msgid " " -#~ msgstr " " - -#~ msgid "Sections:" -#~ msgstr "Разделы:" - -#~ msgid "Cannot navigate to '" -#~ msgstr "Не удалось перейти к '" - -#~ msgid "" -#~ "\n" -#~ "Source: " -#~ msgstr "" -#~ "\n" -#~ "Источник: " - -#~ msgid "Remove Point from Line2D" -#~ msgstr "Удалить точку с кривой" - -#~ msgid "Add Point to Line2D" -#~ msgstr "Добавить точку к кривой" - -#~ msgid "Move Point in Line2D" -#~ msgstr "Двигать точку в кривой" - -#~ msgid "Split Segment (in line)" -#~ msgstr "Разделить сегмент (в кривой)" - -#~ msgid "Meta+" -#~ msgstr "Meta+" - -#~ msgid "Setting '" -#~ msgstr "Настройки '" - -#~ msgid "Remote Inspector" -#~ msgstr "Удалённый отладчик" - -#~ msgid "Live Scene Tree:" -#~ msgstr "Дерево сцены в реальном времени:" - -#~ msgid "Remote Object Properties: " -#~ msgstr "Параметры объекта: " - -#~ msgid "Prev Level (%sDown Wheel)" -#~ msgstr "Пред уровень (%sКолесико вниз)" - -#~ msgid "Next Level (%sUp Wheel)" -#~ msgstr "Следующий уровень (%sКолесико вверх)" - -#~ msgid "Selection -> Duplicate" -#~ msgstr "Выбор -> Дублировать" - -#~ msgid "Selection -> Clear" -#~ msgstr "Выбор -> Очистить" - -#~ msgid "" -#~ "Path property must point to a valid Viewport node to work. Such Viewport " -#~ "must be set to 'render target' mode." -#~ msgstr "" -#~ "Для корректной работы свойство Path должно указывать на действующий узел " -#~ "Viewport. Такой Viewport должен быть установлен в режим 'цель рендеринга'." - -#~ msgid "" -#~ "The Viewport set in the path property must be set as 'render target' in " -#~ "order for this sprite to work." -#~ msgstr "" -#~ "Области просмотра установленная в свойстве path должна быть назначена " -#~ "\"целью визуализации\" для того, чтобы этот спрайт работал." - -#~ msgid "' parsing of config failed." -#~ msgstr "' анализ конфигурации не удался." - -#~ msgid "Method List For '%s':" -#~ msgstr "Список методов для '%s':" - -#~ msgid "Arguments:" -#~ msgstr "Аргументы:" - -#~ msgid "Return:" -#~ msgstr "Возвращение:" - -#~ msgid "Added:" -#~ msgstr "Добавлено:" - -#~ msgid "Could not save atlas subtexture:" -#~ msgstr "Невозможно сохранить текстуру атласа:" - -#~ msgid "Setting Up..." -#~ msgstr "Настройка..." - -#~ msgid "Error loading scene." -#~ msgstr "Ошибка загрузки сцены." - -#~ msgid "Re-Import" -#~ msgstr "Переимпортировать" - -#~ msgid "Please wait for scan to complete." -#~ msgstr "Пожалуйста дождитесь окончания сканирования." - -#~ msgid "Current scene must be saved to re-import." -#~ msgstr "Текущая сцена должна быть сохранена для повторного импорта." - -#~ msgid "Re-Importing" -#~ msgstr "Переимпортировать" - -#~ msgid "Re-Import Changed Resources" -#~ msgstr "Переимпортировать изменённые ресурсы" - -#~ msgid "" -#~ "\n" -#~ "Status: Needs Re-Import" -#~ msgstr "" -#~ "\n" -#~ "Статус: требуется ре-импорт" - -#~ msgid "Same source and destination files, doing nothing." -#~ msgstr "Файл назначения и исходный файлы совпадают, нечего делать." - -#~ msgid "Target file exists, can't overwrite. Delete first." -#~ msgstr "Конечный файл существует, нельзя перезаписать. Сначала удалите." - -#~ msgid "Same source and destination paths, doing nothing." -#~ msgstr "Путь назначения и исходный пути совпадают, нечего делать." - -#~ msgid "Can't move directories to within themselves." -#~ msgstr "Невозможно переместить каталоги внутрь себя." - -#~ msgid "Can't rename deps for:\n" -#~ msgstr "Не могу переименовать зависимости для:\n" - -#~ msgid "Pick New Name and Location For:" -#~ msgstr "Выберете новое имя и расположение для:" - -#~ msgid "Info" -#~ msgstr "Информация" - -#~ msgid "No bit masks to import!" -#~ msgstr "Нет битовой маски для импорта!" - -#~ msgid "Target path is empty." -#~ msgstr "Конечный путь пуст." - -#~ msgid "Target path must be a complete resource path." -#~ msgstr "Конечный путь должен быть полным путём к ресурсу." - -#~ msgid "Target path must exist." -#~ msgstr "Конечный путь должен существовать." - -#~ msgid "Import BitMasks" -#~ msgstr "Импорт битовой маски" - -#~ msgid "Source Texture(s):" -#~ msgstr "Исходные текстура(ы):" - -#~ msgid "Target Path:" -#~ msgstr "Целевой путь:" - -#~ msgid "Accept" -#~ msgstr "Принять" - -#~ msgid "Bit Mask" -#~ msgstr "Битовая маска" - -#~ msgid "No source font file!" -#~ msgstr "Нет исходного файл шрифта!" - -#~ msgid "No target font resource!" -#~ msgstr "Нет целевого ресурса шрифта!" - -#~ msgid "" -#~ "Invalid file extension.\n" -#~ "Please use .font." -#~ msgstr "" -#~ "Недопустимое расширение файла.\n" -#~ "Пожалуйста, используйте .font." - -#~ msgid "Couldn't save font." -#~ msgstr "Невозможно сохранить шрифт." - -#~ msgid "Source Font:" -#~ msgstr "Исходный шрифт:" - -#~ msgid "Dest Resource:" -#~ msgstr "Ресурс назначения:" - -#~ msgid "The quick brown fox jumps over the lazy dog." -#~ msgstr "" -#~ "Съешь ещё этих мягких французских булок да выпей чаю. \n" -#~ "The quick brown fox jumps over the lazy dog.\n" -#~ "0123456789`!@#$%^&*()_+-=\\/." - -#~ msgid "Test:" -#~ msgstr "Проверка:" - -#~ msgid "Options:" -#~ msgstr "Опции:" - -#~ msgid "Font Import" -#~ msgstr "Импортирование шрифта" - -#~ msgid "" -#~ "This file is already a Godot font file, please supply a BMFont type file " -#~ "instead." -#~ msgstr "" -#~ "Это итак файл шрифта Godot, пожалуйста используйте BitMapFont вместо него." - -#~ msgid "Failed opening as BMFont file." -#~ msgstr "Ошибка открытия BitMapFont файла." - -#~ msgid "Invalid font custom source." -#~ msgstr "Неверный пользовательский источник для шрифта." - -#~ msgid "No meshes to import!" -#~ msgstr "Нет полисетки для импортирования!" - -#~ msgid "Single Mesh Import" -#~ msgstr "Импорт одиночной полисетки" - -#~ msgid "Source Mesh(es):" -#~ msgstr "Исходная полисетка(и):" - -#~ msgid "Surface %d" -#~ msgstr "Поверхностей %d" - -#~ msgid "No samples to import!" -#~ msgstr "Нет сэмплов для импорта!" - -#~ msgid "Import Audio Samples" -#~ msgstr "Импорт аудио сэмплов" - -#~ msgid "Source Sample(s):" -#~ msgstr "Исходный сэмпл(ы):" - -#~ msgid "Audio Sample" -#~ msgstr "Аудио сэмпл" - -#~ msgid "New Clip" -#~ msgstr "Новая дорожка" - -#~ msgid "Flags" -#~ msgstr "Флаги" - -#~ msgid "Bake FPS:" -#~ msgstr "FPS:" - -#~ msgid "Optimizer" -#~ msgstr "Оптимизатор" - -#~ msgid "Max Linear Error" -#~ msgstr "Макс. линейная погрешность" - -#~ msgid "Max Angular Error" -#~ msgstr "Макс. угловая погрешность" - -#~ msgid "Max Angle" -#~ msgstr "Макс. угол" - -#~ msgid "Start(s)" -#~ msgstr "Нач(с.)" - -#~ msgid "Source path is empty." -#~ msgstr "Путь к источнику пуст." - -#~ msgid "Couldn't load post-import script." -#~ msgstr "Не могу загрузить скрипт пост-процесса." - -#~ msgid "Invalid/broken script for post-import." -#~ msgstr "Некорректный/поврежденный сценарий для пост-импорта." - -#~ msgid "Error importing scene." -#~ msgstr "Ошибка импортирования сцены." - -#~ msgid "Import 3D Scene" -#~ msgstr "Импорт 3D сцены" - -#~ msgid "Source Scene:" -#~ msgstr "Исходная сцена:" - -#~ msgid "Same as Target Scene" -#~ msgstr "Та же, что и у целевой сцены" - -#~ msgid "Shared" -#~ msgstr "Общий" - -#~ msgid "Target Texture Folder:" -#~ msgstr "Целевая папка текстуры:" - -#~ msgid "Custom Root Node Type:" -#~ msgstr "Пользовательский тип корневого узла:" - -#~ msgid "Auto" -#~ msgstr "Авто" - -#~ msgid "The Following Files are Missing:" -#~ msgstr "Отсутствуют следующие файлы:" - -#~ msgid "Import Anyway" -#~ msgstr "Импортировать в любом случае" - -#~ msgid "Edited scene has not been saved, open imported scene anyway?" -#~ msgstr "" -#~ "Редактируемая сцена не была сохранена, открыть импортированную сцену в " -#~ "любом случае?" - -#~ msgid "Import Image:" -#~ msgstr "Импорт изображения:" - -#~ msgid "Couldn't localize path: %s (already local)" -#~ msgstr "Невозможно локализовать путь: %s (уже локальный)" - -#~ msgid "3D Scene Animation" -#~ msgstr "Анимация 3D сцены" - -#~ msgid "Uncompressed" -#~ msgstr "Несжатый" - -#~ msgid "Compress Lossless (PNG)" -#~ msgstr "Сжатие без потери качества (PNG)" - -#~ msgid "Compress Lossy (WebP)" -#~ msgstr "Сжатие с потерями (WebP)" - -#~ msgid "Compress (VRAM)" -#~ msgstr "Сжатие (VRAM)" - -#~ msgid "Texture Format" -#~ msgstr "Формат текстуры" - -#~ msgid "Texture Compression Quality (WebP):" -#~ msgstr "Качество сжатия текстур (WebP):" - -#~ msgid "Please specify some files!" -#~ msgstr "Пожалуйста, укажите некоторые файлы!" - -#~ msgid "At least one file needed for Atlas." -#~ msgstr "Для атласа нужен хотя бы 1 файл." - -#~ msgid "Error importing:" -#~ msgstr "Ошибка импортирования:" - -#~ msgid "Max Texture Size:" -#~ msgstr "Максимальный размер текстуры:" - -#~ msgid "Import Textures for Atlas (2D)" -#~ msgstr "Импортировать текстуры для атласа (2D)" - -#~ msgid "Large Texture" -#~ msgstr "Большая текстура" - -#~ msgid "Import Large Textures (2D)" -#~ msgstr "Импорт больших текстур (2D)" - -#~ msgid "Source Texture" -#~ msgstr "Исходная текстура" - -#~ msgid "Base Atlas Texture" -#~ msgstr "Базовая текстура атласа" - -#~ msgid "Source Texture(s)" -#~ msgstr "Исходная текстура(ы)" - -#~ msgid "Import Textures for 2D" -#~ msgstr "Импорт текстур для 2D" - -#~ msgid "Import Textures for 3D" -#~ msgstr "Импорт текстур для 3D" - -#~ msgid "Import Textures" -#~ msgstr "Импорт текстур" - -#~ msgid "2D Texture" -#~ msgstr "2D текстура" - -#~ msgid "3D Texture" -#~ msgstr "3D текстура" - -#~ msgid "Atlas Texture" -#~ msgstr "Текстура атласа" - -#~ msgid "" -#~ "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files " -#~ "to the project." -#~ msgstr "" -#~ "ВНИМАНИЕ: Импортирование 2D текстур не обязательно. Просто скопируйте png/" -#~ "jpg файлы в папку проекта." - -#~ msgid "Crop empty space." -#~ msgstr "Обрезать пустое пространство." - -#~ msgid "Texture" -#~ msgstr "Текстура" - -#~ msgid "Import Large Texture" -#~ msgstr "Импорт большой текстуры" - -#~ msgid "Load Source Image" -#~ msgstr "Загрузка исходного изображения" - -#~ msgid "Slicing" -#~ msgstr "Нарезка" - -#~ msgid "Saving" -#~ msgstr "Сохранение" - -#~ msgid "Couldn't save large texture:" -#~ msgstr "Невозможно сохранить большую текстуру:" - -#~ msgid "Build Atlas For:" -#~ msgstr "Построение атласа для:" - -#~ msgid "Loading Image:" -#~ msgstr "Загрузка изображения:" - -#~ msgid "Converting Images" -#~ msgstr "Преобразование изображений" - -#~ msgid "Cropping Images" -#~ msgstr "Обрезка изображений" - -#~ msgid "Couldn't save atlas image:" -#~ msgstr "Невозможно сохранить изображение атласа:" - -#~ msgid "Invalid translation source!" -#~ msgstr "Неверный источник перевода!" - -#~ msgid "Column" -#~ msgstr "Колонка" - -#~ msgid "No items to import!" -#~ msgstr "Нет элементов для импорта!" - -#~ msgid "No target path!" -#~ msgstr "Нет конечного пути!" - -#~ msgid "Import Translations" -#~ msgstr "Импорт переводов" - -#~ msgid "Couldn't import!" -#~ msgstr "Не удалось импортировать!" - -#~ msgid "Import Translation" -#~ msgstr "Импортирование перевода" - -#~ msgid "Source CSV:" -#~ msgstr "Исходный CSV:" - -#~ msgid "Ignore First Row" -#~ msgstr "Игнорировать первую строку" - -#~ msgid "Compress" -#~ msgstr "Сжимать" - -#~ msgid "Add to Project (project.godot)" -#~ msgstr "Добавить к проекту (project.godot)" - -#~ msgid "Import Languages:" -#~ msgstr "Импортировать языки:" - -#~ msgid "Translation" -#~ msgstr "Перевод" - -#~ msgid "Triangle #" -#~ msgstr "Треугольник #" - -#~ msgid "Light Baker Setup:" -#~ msgstr "Параметры запекания света:" - -#~ msgid "Fixing Lights" -#~ msgstr "Исправление света" - -#~ msgid "Making BVH" -#~ msgstr "Создание BVH" - -#~ msgid "Allocating Texture #" -#~ msgstr "Выделение текстуры #" - -#~ msgid "Baking Triangle #" -#~ msgstr "Запекание треугольников #" - -#~ msgid "Post-Processing Texture #" -#~ msgstr "Пост-обработка текстуры #" - -#~ msgid "Reset the lightmap octree baking process (start over)." -#~ msgstr "Сброс запекания света (начать сначала)." - -#~ msgid "Zoom Set..." -#~ msgstr "Установить масштаб..." - -#~ msgid "Parse BBCode" -#~ msgstr "Парсить BB Код" - -#~ msgid "Length:" -#~ msgstr "Длинна:" - -#~ msgid "Open Sample File(s)" -#~ msgstr "Открыть сэмпл(ы)" - -#~ msgid "ERROR: Couldn't load sample!" -#~ msgstr "ОШИБКА: Не удалось загрузить сэмпл!" - -#~ msgid "Add Sample" -#~ msgstr "Добавить сэмпл" - -#~ msgid "Rename Sample" -#~ msgstr "Переименовать сэмпл" - -#~ msgid "Delete Sample" -#~ msgstr "Удалить сэмпл" - -#~ msgid "16 Bits" -#~ msgstr "16 Бит" - -#~ msgid "8 Bits" -#~ msgstr "8 Бит" - -#~ msgid "Stereo" -#~ msgstr "Стерео" - -#~ msgid "Scaling to %s%%." -#~ msgstr "Масштабирование до %s%%." - -#~ msgid "Bucket" -#~ msgstr "Заливка" - -#~ msgid "Invalid project path, the path must exist!" -#~ msgstr "Неверный путь к проекту, путь должен существовать!" - -#~ msgid "Invalid project path, project.godot must not exist." -#~ msgstr "Недопустимый путь, project.godot не должен присутствовать." - -#~ msgid "Invalid project path, project.godot must exist." -#~ msgstr "Недопустимый путь, project.godot должен присутствовать." - -#~ msgid "Project Path (Must Exist):" -#~ msgstr "Путь к проекту (должен существовать):" - -#~ msgid "Create New Resource" -#~ msgstr "Создать новый ресурс" - -#~ msgid "Open Resource" -#~ msgstr "Открыть ресурс" - -#~ msgid "Save Resource" -#~ msgstr "Сохранить ресурс" - -#~ msgid "Resource Tools" -#~ msgstr "Инструменты ресурсов" - -#~ msgid "Edit Groups" -#~ msgstr "Редактировать группы" - -#~ msgid "Tiles" -#~ msgstr "Тайлы" - -#~ msgid "Areas" -#~ msgstr "Области" - -#~ msgid "Ctrl+" -#~ msgstr "Ctrl+" - -#~ msgid "Down Wheel)" -#~ msgstr "Колесо мыши вниз" - -#~ msgid "Up Wheel)" -#~ msgstr "Колесо мыши вверх" - -#~ msgid "Close scene? (Unsaved changes will be lost)" -#~ msgstr "Закрыть сцену? (Несохранённые изменения будут потеряны.)" - -#~ msgid "" -#~ "Open Project Manager? \n" -#~ "(Unsaved changes will be lost)" -#~ msgstr "" -#~ "Открыть менеджер проектов? \n" -#~ "(Несохранённые изменения будут потеряны.)" - -#~ msgid "Close Goto Prev. Scene" -#~ msgstr "Закрыть и перейти к предыдущей сцене" - -#~ msgid "Del" -#~ msgstr "Удалить" - -#~ msgid "just pressed" -#~ msgstr "просто нажата" - -#~ msgid "" -#~ "Couldn't read the certificate file. Are the path and password both " -#~ "correct?" -#~ msgstr "" -#~ "Не могу прочитать файл сертификата. Уверены, что путь и пароль верны?" - -#~ msgid "Error creating the package signature." -#~ msgstr "Ошибка при создании подписи пакета." - -#~ msgid "RAW Mode" -#~ msgstr "Грубый режим" - -#~ msgid "Node From Scene" -#~ msgstr "Узел со сцены" - -#~ msgid "Import assets to the project." -#~ msgstr "Импортировать ассеты в проект." - -#~ msgid "Export the project to many platforms." -#~ msgstr "Экспортировать проект на многие платформы." - -#~ msgid "Alerts when an external resource has changed." -#~ msgstr "Оповещения, когда внешний ресурс был изменён." - -#~ msgid "Open https://godotengine.org at tutorials section." -#~ msgstr "Открыть https://godotengine.org с разделом уроков." - -#~ msgid "No scene selected to instance!" -#~ msgstr "Не выбрана сцена!" - -#~ msgid "Instance at Cursor" -#~ msgstr "Экземпляр на курсор" - -#~ msgid "Use Default Light" -#~ msgstr "Использовать стандартный свет" - -#~ msgid "Default Light Normal:" -#~ msgstr "Образец стандартного освещения:" - -#~ msgid "Ambient Light Color:" -#~ msgstr "Цвет окружающего света:" - -#~ msgid "Invalid parent class name" -#~ msgstr "Недопустимое имя вышестоящего класса" - -#~ msgid "Valid chars:" -#~ msgstr "Допустимые символы:" - -#~ msgid "Valid name" -#~ msgstr "Допустимое имя" - -#~ msgid "Class name is invalid!" -#~ msgstr "Имя класса является недействительным!" - -#~ msgid "Parent class name is invalid!" -#~ msgstr "Имя вышестоящего класса является недействительным!" - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "" -#~ "Для корректной работы свойство Path должно указывать на действующий узел " -#~ "Particles2D." - -#~ msgid "Surface" -#~ msgstr "Поверхность" - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SamplePlayer to play sound." -#~ msgstr "" -#~ "Чтобы SamplePlayer воспроизводил звук, нужно создать или установить " -#~ "ресурс SampleLibrary в параметре 'samples'." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SpatialSamplePlayer to play sound." -#~ msgstr "" -#~ "Чтобы SpatialSamplePlayer воспроизводил звук, нужно создать или " -#~ "установить ресурс SampleLibrary в параметре 'samples'." - -#~ msgid "Replaced %d Ocurrence(s)." -#~ msgstr "Заменено %d совпадений." - -#~ msgid "Save Translatable Strings" -#~ msgstr "Сохранить переводимые строки" - -#~ msgid "Edit Script Options" -#~ msgstr "Редактировать параметры скрипта" - -#~ msgid "Error exporting project!" -#~ msgstr "Ошибка экспортирования проекта!" - -#~ msgid "Error writing the project PCK!" -#~ msgstr "Ошибка записи PCK файла!" - -#~ msgid "No exporter for platform '%s' yet." -#~ msgstr "Платформа '%s' пока не поддерживается." - -#~ msgid "Create Android keystore" -#~ msgstr "Создать keystore для Android" - -#~ msgid "Organizational unit" -#~ msgstr "Подразделение" - -#~ msgid "Organization" -#~ msgstr "Организация" - -#~ msgid "City" -#~ msgstr "Город" - -#~ msgid "2 letter country code" -#~ msgstr "Двух буквенный код страны" - -#~ msgid "User alias" -#~ msgstr "Псевдоним пользователя" - -#~ msgid "Password" -#~ msgstr "Пароль" - -#~ msgid "at least 6 characters" -#~ msgstr "минимум 6 символов" - -#~ msgid "File name" -#~ msgstr "Имя файла" - -#~ msgid "Path : (better to save outside of project)" -#~ msgstr "Путь: (лучше сохранить за пределами проекта)" - -#~ msgid "" -#~ "Release keystore is not set.\n" -#~ "Do you want to create one?" -#~ msgstr "" -#~ "Релизный keystore не задан.\n" -#~ "Хотите создать новый?" - -#~ msgid "Fill Keystore/Release User and Release Password" -#~ msgstr "Заполните раздел Keystore" - -#~ msgid "Include" -#~ msgstr "Включить" - -#~ msgid "Group name can't be empty!" -#~ msgstr "Название группы не может быть пустым!" - -#~ msgid "Invalid character in group name!" -#~ msgstr "Недопустимый символ в названии группы!" - -#~ msgid "Add Image Group" -#~ msgstr "Добавлено изображение группы" - -#~ msgid "Project Export Settings" -#~ msgstr "Параметры экспорта проекта" - -#~ msgid "Export to Platform" -#~ msgstr "Платформа для экспорта" - -#~ msgid "Export all files in the project directory." -#~ msgstr "Экспортировать все файлы в папке проекта." - -#~ msgid "Convert text scenes to binary on export." -#~ msgstr "Преобразовать текстовые сцены в двоичные при экспорте." - -#~ msgid "Images" -#~ msgstr "Изображения" - -#~ msgid "Keep Original" -#~ msgstr "Оставить исходными" - -#~ msgid "Compress for Disk (Lossy, WebP)" -#~ msgstr "Сжать для диска (с потерями, WebP)" - -#~ msgid "Compress for RAM (BC/PVRTC/ETC)" -#~ msgstr "Сжать для RAM (BC/PVRTC/ETC)" - -#~ msgid "Convert Images (*.png):" -#~ msgstr "Преобразовать изображения (*.png):" - -#~ msgid "Compress for Disk (Lossy) Quality:" -#~ msgstr "Качество сжатия для диска (с потерями):" - -#~ msgid "Shrink All Images:" -#~ msgstr "Уменьшить все изображения (1 - оригинал, 2 - сжать в два раза...):" - -#~ msgid "Compress Formats:" -#~ msgstr "Формат для сжатия:" - -#~ msgid "Groups:" -#~ msgstr "Группы:" - -#~ msgid "Compress Disk" -#~ msgstr "Сжать для Диска" - -#~ msgid "Compress RAM" -#~ msgstr "Сжать для RAM" - -#~ msgid "Compress Mode:" -#~ msgstr "Режим сжатия:" - -#~ msgid "Lossy Quality:" -#~ msgstr "Потеря качества:" - -#~ msgid "Shrink By:" -#~ msgstr "Степень сжатия:" - -#~ msgid "Images:" -#~ msgstr "Изображения:" - -#~ msgid "Sample Conversion Mode: (.wav files):" -#~ msgstr "Режим преобразования сэмплов (.wav файлы):" - -#~ msgid "Compress (RAM - IMA-ADPCM)" -#~ msgstr "Сжать (RAM - IMA-ADPCM)" - -#~ msgid "Sampling Rate Limit (Hz):" -#~ msgstr "Ограничение частоты сэмплов (Гц):" - -#~ msgid "Trim" -#~ msgstr "Обрезать" - -#~ msgid "Trailing Silence:" -#~ msgstr "Удаление тишины:" - -#~ msgid "Export Project PCK" -#~ msgstr "Экспортировать PCK проекта" - -#~ msgid "Project Export" -#~ msgstr "Экспортирование проекта" - -#~ msgid "BakedLightInstance does not contain a BakedLight resource." -#~ msgstr "BakedLightInstance не содержит BakedLight ресурс." - -#~ msgid "Lighting" -#~ msgstr "Освещение" - -#~ msgid "Global" -#~ msgstr "Глобальные" - -#~ msgid "" -#~ "This item cannot be made visible because the parent is hidden. Unhide the " -#~ "parent first." -#~ msgstr "" -#~ "Этот объект не может быть отображён, потому что его родитель скрыт. " -#~ "Отобразите сначала родительский узел." - -#~ msgid "" -#~ "Paths cannot start with '/', absolute paths must start with 'res://', " -#~ "'user://', or 'local://'" -#~ msgstr "" -#~ "Путь не может начинаться с '/', абсолютные пути должны начинаться с " -#~ "'res://', 'user://' или 'local://'" - -#~ msgid "File exists" -#~ msgstr "Файл существует" - -#~ msgid "Valid path" -#~ msgstr "Допустимый путь" - -#~ msgid "" -#~ "Custom node has no _get_output_port_unsequenced(idx,wmem), but " -#~ "unsequenced ports were specified." -#~ msgstr "" -#~ "Пользовательский узел не имеет _get_output_port_unsequenced(idx,wmem), но " -#~ "неупорядоченные порты были указаны." - -#~ msgid "Cannot go into subdir:" -#~ msgstr "Невозможно перейти в подпапку:" - -#~ msgid "Top (Num7)" -#~ msgstr "Вид сверху (Num 7)" - -#~ msgid "Bottom (Shift+Num7)" -#~ msgstr "Вид снизу (Shift+Num7)" - -#~ msgid "Left (Num3)" -#~ msgstr "Вид слева (Num3)" - -#~ msgid "Right (Shift+Num3)" -#~ msgstr "Вид справа (Shift+)" - -#~ msgid "Front (Num1)" -#~ msgstr "Вид спереди (Num1)" - -#~ msgid "Rear (Shift+Num1)" -#~ msgstr "Вид сзади (Shift+Num1)" - -#~ msgid "Perspective (Num5)" -#~ msgstr "Перспектива (Num5)" - -#~ msgid "Orthogonal (Num5)" -#~ msgstr "Ортогонально (Num5)" - -#~ msgid "Selection (F)" -#~ msgstr "Показать выбранный узел (F)" - -#~ msgid "Align with view (Ctrl+Shift+F)" -#~ msgstr "Совместите с видом (Ctrl+Shift+F)" - -#~ msgid "Enable/Disable interpolation when looping animation." -#~ msgstr "Включить/отключить интерполяцию при зацикливании анимации." - -#~ msgid "Load Layout" -#~ msgstr "Загрузить макет" - -#~ msgid "Scale Region Editor" -#~ msgstr "Редактор масштабируемой области текстуры" - -#~ msgid "Inherit Scene" -#~ msgstr "Унаследовать сцену" - -#~ msgid "Binds (Extra Params):" -#~ msgstr "Связи (необязательные параметры):" - -#~ msgid "Method In Node:" -#~ msgstr "Название метода:" - -#~ msgid "Reload Tool Script (Soft)" -#~ msgstr "Перезагрузить инструм. скрипт (мягко)" - -#~ msgid "Set Params" -#~ msgstr "Назначить параметры" - -#~ msgid "Live Editing" -#~ msgstr "Редактирование в реальном времени" - -#~ msgid "File Server" -#~ msgstr "Файловый сервер" - -#~ msgid "Deploy File Server Clients" -#~ msgstr "Развернуть файловый сервер для клиентов" - -#~ msgid "Overwrite Existing, Keep Materials" -#~ msgstr "Перезаписать существующую сцену с сохранением материалов" - -#~ msgid "Keep Existing, Merge with New" -#~ msgstr "Сохранить существующую сцену и объединить с новой" - -#~ msgid "Keep Existing, Ignore New" -#~ msgstr "Сохранить существующую и игнорировать новую" - -#~ msgid "This Time:" -#~ msgstr "В этот раз:" - -#~ msgid "Next Time:" -#~ msgstr "В следующий раз:" diff --git a/editor/translations/si.po b/editor/translations/si.po index a6c6eb5ab3..1215e975e1 100644 --- a/editor/translations/si.po +++ b/editor/translations/si.po @@ -1,6 +1,6 @@ # Sinhala translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Yohan Sandun <Yohan99ysk@gmail.com>, 2018. # thushariii <thusharipahalage@gmail.com>, 2021. @@ -2072,14 +2072,30 @@ msgstr "" msgid "Theme Properties" msgstr "" -#: editor/editor_help.cpp -msgid "Enumerations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "" @@ -8312,18 +8328,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -12905,7 +12909,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12914,6 +12923,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" diff --git a/editor/translations/sk.po b/editor/translations/sk.po index 70488a8dae..cdc67412d3 100644 --- a/editor/translations/sk.po +++ b/editor/translations/sk.po @@ -1,6 +1,6 @@ # Slovak translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # J08nY <johnenter@gmail.com>, 2016. # MineGame 159 <minegame459@gmail.com>, 2018. @@ -2127,14 +2127,30 @@ msgstr "Metódy" msgid "Theme Properties" msgstr "Vlastnosti Témy" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Výpočty" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Konštanty" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Výpočty" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Popisok Vlastnosti" @@ -8645,18 +8661,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -13443,7 +13447,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -13452,6 +13461,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14480,289 +14504,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "" - -#~ msgid "Singleton" -#~ msgstr "Singleton" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Vymazať profil '%s'? (Nedá sa vrátiť späť)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Povolené Vlastnosti:" - -#~ msgid "Unset" -#~ msgstr "Unset" - -#~ msgid "Class Options" -#~ msgstr "Možnosti pre Class" - -#~ msgid "Set" -#~ msgstr "Nastaviť" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Uložené %s upravené zdroje." - -#~ msgid "Q&A" -#~ msgstr "Q&A" - -#~ msgid "Status:" -#~ msgstr "Status:" - -#~ msgid "Edit:" -#~ msgstr "Edit:" - -#~ msgid "Redownload" -#~ msgstr "Preinštalovať" - -#~ msgid "(Installed)" -#~ msgstr "(Nainštalované)" - -#~ msgid "(Missing)" -#~ msgstr "(Chýba)" - -#~ msgid "Request Failed." -#~ msgstr "Žiadosť Zlihala." - -#~ msgid "Redirect Loop." -#~ msgstr "Presmerovanie \"Loop-u\"." - -#~ msgid "Download Complete." -#~ msgstr "Inštalácia je Dokončená." - -#~ msgid "Remove Template" -#~ msgstr "Vymazať Šablónu" - -#~ msgid "Download Templates" -#~ msgstr "Stiahnuť Šablónu" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "Vybrať zrkadlo z listu: (Shift+Click: Open in Browser)" - -#~ msgid "Move to Trash" -#~ msgstr "Presunúť do odpadkov" - -#~ msgid "Expand All Properties" -#~ msgstr "Expandovať Všetky Vlastnosti" - -#~ msgid "Copy Params" -#~ msgstr "Skopírovať Parametre" - -#~ msgid "Open in Help" -#~ msgstr "Otvoriť v Pomoci" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "Prepísanie Hernej Kamery\n" -#~ "Nieje spustená žiadna herná inštancia." - -#~ msgid "Drag: Rotate" -#~ msgstr "Potiahnutím: Otáčenie" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Stačte 'v' pre Zmenu Pivot-a, 'Shift+v' pre hýbanie s Pivot-om (keď sa " -#~ "hýbe)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+RMB: Výber hĺbkového zoznamu" - -#, fuzzy -#~ msgid "Size" -#~ msgstr "Veľkosť: " - -#, fuzzy -#~ msgid "Theme File" -#~ msgstr "Otvoriť súbor" - -#, fuzzy -#~ msgid "Templates" -#~ msgstr "Všetky vybrané" - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "Animation player sa nemôže naanimovať sám, iba ostatné player-y." - -#~ msgid "Clipboard is empty" -#~ msgstr "Schránka je prázdna" - -#~ msgid "No" -#~ msgstr "Nie" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "" -#~ "Táto scéna ešte nikdy nebola uložená. Chcete ju uložiť predtým ako ju " -#~ "zapnete?" - -#~ msgid "Search complete" -#~ msgstr "Vyhľadávanie bolo dokončené" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "Už tu je súbor alebo priečinok pomenovaný rovnako." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Error pri ukladaní layout-i!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Predvolený editor layout je prepísaný." - -#~ msgid "Move pivot" -#~ msgstr "Presunúť pivot" - -#~ msgid "Move anchor" -#~ msgstr "Presunúť kovadlinu" - -#~ msgid "Resize CanvasItem" -#~ msgstr "Zmeniť Veľkosť CanvasItem-u" - -#, fuzzy -#~ msgid "Add initial export..." -#~ msgstr "Signály:" - -#, fuzzy -#~ msgid "Pack File" -#~ msgstr "Súbor:" - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "Systém súborov a Import Dock-y" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "Pri exportovaní alebo deploy-ovaní, súbor resulting executable sa pokúsi " -#~ "o pripojenie do IP vášho počítača aby mohol byť debugg-ovaný." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "Aktuálna scéna sa nikdy neuložila, prosím uložte ju pred spustením." - -#~ msgid "Revert" -#~ msgstr "Revert" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Túto akciu nie je možné vrátiť späť. Chcete Revertovatť aj tak?" - -#, fuzzy -#~ msgid "Clear Script" -#~ msgstr "Popis:" - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "Popis:" - -#, fuzzy -#~ msgid "Class Description" -#~ msgstr "Popis:" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#, fuzzy -#~ msgid "Theme Properties:" -#~ msgstr "Filter:" - -#, fuzzy -#~ msgid "Enumerations:" -#~ msgstr "Popis:" - -#~ msgid "Constants:" -#~ msgstr "Konštanty:" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "Popis:" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "Popis:" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "Popis:" - -#, fuzzy -#~ msgid "Tool Select" -#~ msgstr "Všetky vybrané" - -#~ msgid "Invalid font size." -#~ msgstr "Nesprávna veľkosť písma." - -#, fuzzy -#~ msgid "Previous Folder" -#~ msgstr "Vytvoriť adresár" - -#, fuzzy -#~ msgid "Next Folder" -#~ msgstr "Vytvoriť adresár" - -#, fuzzy -#~ msgid "View log" -#~ msgstr "Súbor:" - -#~ msgid "Delete selected files?" -#~ msgstr "Odstrániť vybraté súbory?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "Neexistuje žiadny súbor \"res://default_bus_layout.tres\"." - -#, fuzzy -#~ msgid "Ease in" -#~ msgstr "Všetky vybrané" - -#, fuzzy -#~ msgid "Create folder" -#~ msgstr "Vytvoriť adresár" - -#, fuzzy -#~ msgid "Create Area" -#~ msgstr "Vytvoriť adresár" - -#, fuzzy -#~ msgid "Add Split" -#~ msgstr "Signály:" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "Všetky vybrané" - -#~ msgid "Class List:" -#~ msgstr "Zoznam tried:" - -#, fuzzy -#~ msgid "Show current scene file." -#~ msgstr "Vytvoriť adresár" - -#~ msgid "In" -#~ msgstr "V" - -#~ msgid "Out" -#~ msgstr "Von" - -#, fuzzy -#~ msgid "In-Out" -#~ msgstr "V-Von" - -#, fuzzy -#~ msgid "Out-In" -#~ msgstr "Von-V" - -#, fuzzy -#~ msgid "Set pivot at mouse position" -#~ msgstr "Všetky vybrané" - -#, fuzzy -#~ msgid "Can't write file." -#~ msgstr "Popis:" - -#~ msgid "Meta+" -#~ msgstr "Meta+" - -#~ msgid "Ctrl+" -#~ msgstr "Ctrl+" - -#, fuzzy -#~ msgid "Create Android keystore" -#~ msgstr "Vytvoriť adresár" diff --git a/editor/translations/sl.po b/editor/translations/sl.po index 5fe2168656..b296b304bd 100644 --- a/editor/translations/sl.po +++ b/editor/translations/sl.po @@ -1,6 +1,6 @@ # Slovenian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # matevž lapajne <sivar.lapajne@gmail.com>, 2016-2018. # Matjaž Vitas <matjaz.vitas@gmail.com>, 2017-2018. @@ -2209,14 +2209,30 @@ msgstr "Metode" msgid "Theme Properties" msgstr "Lastnosti" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Oštevilčenja" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Konstante" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Oštevilčenja" + #: editor/editor_help.cpp #, fuzzy msgid "Property Descriptions" @@ -8928,18 +8944,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -13801,7 +13805,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -13810,6 +13819,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14857,562 +14881,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Konstante ni možno spreminjati." - -#, fuzzy -#~ msgid "Package Contents:" -#~ msgstr "Vsebina:" - -#~ msgid "Singleton" -#~ msgstr "Posameznik" - -#, fuzzy -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Zamenjaj Vse" - -#, fuzzy -#~ msgid "Enabled Properties:" -#~ msgstr "Lastnosti" - -#, fuzzy -#~ msgid "Class Options" -#~ msgstr "Opis" - -#, fuzzy -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Napaka pri nalaganju vira." - -#~ msgid "Q&A" -#~ msgstr "V&O" - -#~ msgid "Status:" -#~ msgstr "Stanje:" - -#, fuzzy -#~ msgid "Edit:" -#~ msgstr "Uredi" - -#, fuzzy -#~ msgid "Redownload" -#~ msgstr "Ponovno Prenesi" - -#~ msgid "(Installed)" -#~ msgstr "(Nameščeno)" - -#~ msgid "(Missing)" -#~ msgstr "(Manjkajoče)" - -#~ msgid "Request Failed." -#~ msgstr "Zahteva Ni Uspela." - -#~ msgid "Redirect Loop." -#~ msgstr "Preusmeritev Zanke." - -#~ msgid "Download Complete." -#~ msgstr "Prenos je Dokončan." - -#~ msgid "Remove Template" -#~ msgstr "Odstrani Predlogo" - -#~ msgid "Download Templates" -#~ msgstr "Prenesi Predloge" - -#, fuzzy -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "Izberi vire s seznama: " - -#, fuzzy -#~ msgid "Move to Trash" -#~ msgstr "Premakni SamodejnoNalaganje" - -#, fuzzy -#~ msgid "Expand All Properties" -#~ msgstr "Razširi vse lastnosti" - -#~ msgid "Copy Params" -#~ msgstr "Kopiraj Parametre" - -#~ msgid "Open in Help" -#~ msgstr "Odpri v Pomoči" - -#~ msgid "Drag: Rotate" -#~ msgstr "Povleci: Vrtenje" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Pritisni 'v' za Spremembo Točke in 'Shift+v' za Vleko Točke (med " -#~ "premikanjem)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+RMB: Izbira globine" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "Povlecite: Zavrtite\n" -#~ "Alt+Drag: Premaknite\n" -#~ "Alt+RMB: Izbira globine" - -#, fuzzy -#~ msgid "Theme File" -#~ msgstr "Odpri v Datoteki" - -#~ msgid "Templates" -#~ msgstr "Predloge" - -#~ msgid "No" -#~ msgstr "Ne" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Ta scena ni bila nikoli shranjena. Shranim pred zagonom?" - -#, fuzzy -#~ msgid "Search complete" -#~ msgstr "Išči Besedilo" - -#, fuzzy -#~ msgid "No commit message was provided" -#~ msgstr "Ime ni na voljo" - -#, fuzzy -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "Datoteka ali mapa s tem imenom že obstaja." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Napaka pri shranjevanju postavitev!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Privzeti urejevalnik postavitev je bil prepisan." - -#, fuzzy -#~ msgid "Move pivot" -#~ msgstr "Premakni Točko" - -#, fuzzy -#~ msgid "Move anchor" -#~ msgstr "Premakni Dejanje" - -#, fuzzy -#~ msgid "Resize CanvasItem" -#~ msgstr "Uredi Platno Stvari" - -#, fuzzy -#~ msgid "Add initial export..." -#~ msgstr "Dodaj Vnos" - -#, fuzzy -#~ msgid "Pack File" -#~ msgstr " Datoteke" - -#, fuzzy -#~ msgid "FileSystem and Import Docks" -#~ msgstr "DatotečniSistem" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "Pri izvažanju ali uvajanju se bo končna izvršljiva datoteka " -#~ "razhroščevala, tako da se bo skušala povezati z IP-jem tega računalnika." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "Trenutna scena ni bila shranjena, shranite jo pred zagonom." - -#~ msgid "Revert" -#~ msgstr "Povrni" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Tega dejanja ni mogoče razveljaviti. Vseeno povrni?" - -#~ msgid "Issue Tracker" -#~ msgstr "Sledilnik Napak" - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "Zamenjana %d ponovitev/e." - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Trenutno ni vaj za ta razred, lahko ga [color=$color][url=" -#~ "$url]prispevate[/url][/color] ali [color=$color][url=$url2]zahtevate " -#~ "enega[/url][/color]." - -#~ msgid "enum " -#~ msgstr "oštevil " - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "Kratek Opis:" - -#, fuzzy -#~ msgid "Class Description" -#~ msgstr "Opis" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "Izvoz projekta ni uspelo s kodno napako %d." - -#~ msgid "Password:" -#~ msgstr "Geslo:" - -#~ msgid "Pause the scene" -#~ msgstr "Zaustavi prizor" - -#, fuzzy -#~ msgid "Snap to Grid" -#~ msgstr "Pripni na mrežo" - -#, fuzzy -#~ msgid "Add input +" -#~ msgstr "Dodaj Vnos" - -#~ msgid "Available Nodes:" -#~ msgstr "Na voljo Nodes:" - -#, fuzzy -#~ msgid "Input" -#~ msgstr "Dodaj Vnos" - -#, fuzzy -#~ msgid "Methods:" -#~ msgstr "Metode" - -#, fuzzy -#~ msgid "Theme Properties:" -#~ msgstr "Lastnosti" - -#~ msgid "Constants:" -#~ msgstr "Konstante:" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "Opis:" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "Opis lastnosti:" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "Opis Metode:" - -#, fuzzy -#~ msgid "Reverse sorting." -#~ msgstr "Zahtevam..." - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "Za pisanje ni mogoče odpreti file_type_cache.cch, ne da bi shranili " -#~ "predpomnilnik tipa datoteke!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "" -#~ "Ne morem se postaviti na mesto '%s', ker ni bilo najdeno v datotečnem " -#~ "sistemu!" - -#, fuzzy -#~ msgid "Error: could not load file." -#~ msgstr "Mape ni mogoče ustvariti." - -#~ msgid "Select Mode (Q)" -#~ msgstr "Izberite Način (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "Način Premika (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "Način Vrtenja (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "Način Obsega (R)" - -#~ msgid "Tool Select" -#~ msgstr "Izbira Orodja" - -#~ msgid "Project List" -#~ msgstr "Seznam Projektov" - -#~ msgid "Exit" -#~ msgstr "Izhod" - -#~ msgid "Error initializing FreeType." -#~ msgstr "Napaka pri inicializaciji FreeType." - -#~ msgid "Unknown font format." -#~ msgstr "Neznani format pisave." - -#~ msgid "Error loading font." -#~ msgstr "Napaka nalaganja pisave." - -#~ msgid "Invalid font size." -#~ msgstr "Neveljavna velikost pisave." - -#, fuzzy -#~ msgid "Previous Folder" -#~ msgstr "Prejšnji zavihek" - -#, fuzzy -#~ msgid "Next Folder" -#~ msgstr "Ustvarite Mapo" - -#, fuzzy -#~ msgid "Open in an external image editor." -#~ msgstr "Odpri naslednji Urejevalnik" - -#~ msgid "Reverse" -#~ msgstr "Obrni" - -#, fuzzy -#~ msgid "View log" -#~ msgstr "Ogled datotek" - -#, fuzzy -#~ msgid "Enabled Classes" -#~ msgstr "Išči Razrede" - -#~ msgid "Update Always" -#~ msgstr "Posodobi Vedno" - -#~ msgid "Raw Mode" -#~ msgstr "Neobdelan način" - -#~ msgid "Path to Node:" -#~ msgstr "Pot do Gradnika:" - -#~ msgid "Delete selected files?" -#~ msgstr "Izbrišem izbrane datoteke?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "Datoteka 'res://default_bus_layout.tres' ne obstaja." - -#~ msgid "Go to parent folder" -#~ msgstr "Pojdi v nadrejeno mapo" - -#~ msgid "Open Scene(s)" -#~ msgstr "Odpri Prizor(e)" - -#~ msgid "Previous Directory" -#~ msgstr "Prejšna Mapa" - -#~ msgid "Next Directory" -#~ msgstr "Naslednja Mapa" - -#~ msgid "Create folder" -#~ msgstr "Ustvarite mapo" - -#~ msgid "Invalid Path" -#~ msgstr "Neveljavna Pot" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "Uredi Argumente Signala:" - -#~ msgid "Edit Variable:" -#~ msgstr "Uredi Spremenljivko:" - -#~ msgid "Line:" -#~ msgstr "Vrstica:" - -#~ msgid "Col:" -#~ msgstr "Stolpec:" - -#, fuzzy -#~ msgid "Add Split" -#~ msgstr "Dodaj točko" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "Odstrani točko" - -#, fuzzy -#~ msgid "Poly" -#~ msgstr "Uredi Poligon" - -#, fuzzy -#~ msgid "Add Node.." -#~ msgstr "Dodaj vozlišče" - -#~ msgid "Create Poly" -#~ msgstr "Ustvarite Poligon" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "Ustvari nov poligon od začetka" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "Oddalji" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "Približaj" - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "Približaj" - -#~ msgid "Class List:" -#~ msgstr "Seznam Razredov:" - -#~ msgid "Public Methods" -#~ msgstr "Javne Metode" - -#~ msgid "Public Methods:" -#~ msgstr "Javne Metode:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "Elementi GUI Teme:" - -#, fuzzy -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Nastavi mapo status kot Priljubljeno" - -#, fuzzy -#~ msgid "Show current scene file." -#~ msgstr "Izberi trenutno pod-ploščo v urejanju." - -#, fuzzy -#~ msgid "Whole words" -#~ msgstr "Cele Besede" - -#, fuzzy -#~ msgid "Match case" -#~ msgstr "Ujemanje Velikih Črk" - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "Išči Razrede" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Premakni animacijsko sled gor" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Premakni animacijsko sled dol" - -#~ msgid "Set Transitions to:" -#~ msgstr "Nastavi prehode na:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Animacija Spremeni interpolacijo sledi" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Animacija Spremeni način vrednosti sledi" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Animacija Spremeni način ovijanja sledi" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Uredi Krivulje izbora" - -#~ msgid "Anim Add Key" -#~ msgstr "Animacija Dodaj ključ" - -#~ msgid "In" -#~ msgstr "V" - -#~ msgid "Out" -#~ msgstr "Ven" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "V Animaciji Ustvari Vneseno Vrednost Ključa" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Dodaj Klicajočo Sled v Animacijo" - -#~ msgid "Length (s):" -#~ msgstr "Dolžina (s):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "Korak postavitve kazalca (v sekundah)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Omogoči/Onemogoči zankanje v animaciji." - -#~ msgid "Add new tracks." -#~ msgstr "Dodaj Novo Sled." - -#~ msgid "Move current track up." -#~ msgstr "Trenutno sled premakni gor." - -#~ msgid "Move current track down." -#~ msgstr "Trenutno sled premakni dol." - -#~ msgid "Track tools" -#~ msgstr "Orodja sledi" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "S klikom na posamezne ključe omogočite njihovo urejanje." - -#~ msgid "Key" -#~ msgstr "Črka" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Klic funkcije v katerem gradniku?" - -#~ msgid "Thanks!" -#~ msgstr "Hvala!" - -#~ msgid "I see..." -#~ msgstr "Vidim..." - -#~ msgid "Ugh" -#~ msgstr "Uh" - -#~ msgid "Stop Profiling" -#~ msgstr "Ustavi Modeliranje" - -#~ msgid "Start Profiling" -#~ msgstr "Začni Modeliranje" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "Privzeto (Enako kot Urejevalnik)" - -#~ msgid "Create new animation in player." -#~ msgstr "Ustvari novo animacijo v predvajalniku." - -#~ msgid "Load animation from disk." -#~ msgstr "Naloži animacijo z diska." - -#~ msgid "Load an animation from disk." -#~ msgstr "Naloži animacijo z diska." - -#~ msgid "Save the current animation" -#~ msgstr "Shrani trenutno animacijo" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "Uredi čas mešanice cilja" - -#~ msgid "Copy Animation" -#~ msgstr "Kopiraj Animacijo" - -#~ msgid "Fetching:" -#~ msgstr "Pridobivanje:" - -#~ msgid "prev" -#~ msgstr "prejšnji" - -#~ msgid "next" -#~ msgstr "naslednji" - -#~ msgid "last" -#~ msgstr "zadnji" - -#~ msgid "Edit IK Chain" -#~ msgstr "Uredi Verigo IK" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "Nastavite točko na položaj miške" - -#~ msgid "Edit Signal" -#~ msgstr "Uredi Signal" - -#~ msgid "Replace By" -#~ msgstr "Zamenjaj Z" - -#~ msgid "" -#~ "Custom node has no _get_output_port_unsequenced(idx,wmem), but " -#~ "unsequenced ports were specified." -#~ msgstr "" -#~ "Custom node nima _get_output_port_unsequenced(idx,wmem), vendar " -#~ "nezaporedni porti so bili določeni." diff --git a/editor/translations/sq.po b/editor/translations/sq.po index a68667d741..4d8504e9b9 100644 --- a/editor/translations/sq.po +++ b/editor/translations/sq.po @@ -1,6 +1,6 @@ # Albanian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Igli <iglibh@outlook.com>, 2018. # Enrik Qose <enrikqose@gmail.com>, 2019. @@ -2154,14 +2154,30 @@ msgstr "Metodat" msgid "Theme Properties" msgstr "Vetitë e Temës" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Enumeracionet" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Konstantet" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Enumeracionet" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Përshkrimi i Vetive" @@ -8654,18 +8670,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -13371,7 +13375,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -13380,6 +13389,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14385,213 +14409,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "" - -#~ msgid "Singleton" -#~ msgstr "Vetmitar" - -#, fuzzy -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Zëvendëso të gjitha (pa kthim pas)" - -#, fuzzy -#~ msgid "Enabled Properties:" -#~ msgstr "Vetitë:" - -#~ msgid "Set" -#~ msgstr "Vendos" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "U ruajtën resurset e modifikuara të %s." - -#~ msgid "Q&A" -#~ msgstr "Pyetje&Përgjigje" - -#~ msgid "Status:" -#~ msgstr "Statusi:" - -#~ msgid "Edit:" -#~ msgstr "Modifiko:" - -#, fuzzy -#~ msgid "Redownload" -#~ msgstr "Ri-Shkarko" - -#~ msgid "(Installed)" -#~ msgstr "(E Instaluar)" - -#~ msgid "(Missing)" -#~ msgstr "(Mungon)" - -#~ msgid "Request Failed." -#~ msgstr "Kërkimi Dështoi." - -#~ msgid "Redirect Loop." -#~ msgstr "Ridrejto Ciklin." - -#~ msgid "Download Complete." -#~ msgstr "Shkarkimi u Plotësua." - -#~ msgid "Remove Template" -#~ msgstr "Hiq Shabllonin" - -#~ msgid "Download Templates" -#~ msgstr "Shkarko Shabllonet" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "Zgjidh pasqyrën nga lista: (Shift+Kliko: Për ta hapur në shfletues)" - -#, fuzzy -#~ msgid "Move to Trash" -#~ msgstr "Lëviz Autoload-in" - -#~ msgid "Expand All Properties" -#~ msgstr "Zgjero Të Gjitha Vetitë" - -#~ msgid "Collapse All Properties" -#~ msgstr "Zvogëlo Të Gjitha Vetitë" - -#~ msgid "Copy Params" -#~ msgstr "Kopjo Parametrat" - -#~ msgid "Open in Help" -#~ msgstr "Hap në Ndihmë" - -#, fuzzy -#~ msgid "Size" -#~ msgstr "Madhësia: " - -#~ msgid "Clipboard is empty" -#~ msgstr "Clipboard-i është bosh" - -#~ msgid "No" -#~ msgstr "Jo" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Kjo skenë nuk është ruajtur më parë. Ruaje para se të fillosh?" - -#~ msgid "Search complete" -#~ msgstr "Kërkimi u kompletua" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "" -#~ "Ekziston që më parë një skedar ose folder me të njëjtin emër në këtë " -#~ "vendndodhje." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Gabim duke provuar të ruaj faqosjen!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Faqosja e parazgjedhur e editorit u mbishkel." - -#, fuzzy -#~ msgid "Add initial export..." -#~ msgstr "Shto te të preferuarat" - -#, fuzzy -#~ msgid "Pack File" -#~ msgstr " Skedarët" - -#, fuzzy -#~ msgid "FileSystem and Import Docks" -#~ msgstr "FileSystem" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "Kur eksporton ose dorëzon, rezultati i ekzekutueshëm do të tentoj të " -#~ "lidhet me IP-në e këtij kompjuteri në mënyrë që të rregullohet." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "" -#~ "Skena aktuale nuk është ruajtur më parë, ju lutem ruajeni para se të " -#~ "filloni." - -#~ msgid "Revert" -#~ msgstr "Rikthe" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Ky veprim nuk mund të çbëhet. Rikthe gjithsesi?" - -#~ msgid "Issue Tracker" -#~ msgstr "Gjurmuesi i Problemeve" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Nuk ka për momentin tutoriale për këtë klas, ti mund të [color=$color]" -#~ "[url=$url]contribute one[/url][/color] ose [color=$color][url=" -#~ "$url2]request one[/url][/color]." - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "Përshkrim i Shkurtër:" - -#~ msgid "Class Description" -#~ msgstr "Përshkrimi i Klasës" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "Eksportimi i projektit dështoi me kodin e gabimit %d." - -#~ msgid "Password:" -#~ msgstr "Fjalëkalimi:" - -#~ msgid "Pause the scene" -#~ msgstr "Pusho skenën" - -#~ msgid "Methods:" -#~ msgstr "Metodat:" - -#~ msgid "Theme Properties:" -#~ msgstr "Vetitë e Temës:" - -#~ msgid "Constants:" -#~ msgstr "Konstantet:" - -#~ msgid "Class Description:" -#~ msgstr "Përshkrimi i Klasës:" - -#~ msgid "Property Descriptions:" -#~ msgstr "Përshkrimi i Vetive:" - -#~ msgid "Method Descriptions:" -#~ msgstr "Përshkrimi i Metodes:" - -#, fuzzy -#~ msgid "Reverse sorting." -#~ msgstr "Duke bër kërkesën..." - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "Nuk mund të hapi file_type_catche.cch për të shkruajtur, skedari nuk do " -#~ "të ruhet!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "" -#~ "Nuk mund të navigoj te '%s' sepse nuk është gjetur në sistemin e " -#~ "skedarëve!" - -#~ msgid "Previous Folder" -#~ msgstr "Folderi i Mëparshëm" - -#, fuzzy -#~ msgid "Open in an external image editor." -#~ msgstr "Hap Editorin tjetër" - -#~ msgid "Update Always" -#~ msgstr "Përditëso Gjithmonë" - -#~ msgid "Delete selected files?" -#~ msgstr "Fshi skedarët e zgjedhur?" - -#~ msgid "Open Scene(s)" -#~ msgstr "Hap Skenat" - -#~ msgid "Previous Directory" -#~ msgstr "Direktoria e Mëparshme" - -#~ msgid "Next Directory" -#~ msgstr "Direktoria Tjetër" diff --git a/editor/translations/sr_Cyrl.po b/editor/translations/sr_Cyrl.po index 73448d79ed..72e6dc1ecd 100644 --- a/editor/translations/sr_Cyrl.po +++ b/editor/translations/sr_Cyrl.po @@ -1,6 +1,6 @@ # Serbian (cyrillic) translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # Александар Урошевић <nicecubedude@gmail.com>, 2017. @@ -2301,15 +2301,35 @@ msgstr "Поступци" msgid "Theme Properties" msgstr "Особине Теме" -#: editor/editor_help.cpp +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Enumerations" -msgstr "Пописивање" +msgid "Colors" +msgstr "Боја" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Непроменљиве" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Fonts" +msgstr "Фонт" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Icons" +msgstr "Икона" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Styles" +msgstr "Стил" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Enumerations" +msgstr "Пописивање" + #: editor/editor_help.cpp #, fuzzy msgid "Property Descriptions" @@ -9394,21 +9414,6 @@ 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 "Стил" @@ -15020,7 +15025,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -15029,6 +15039,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -16283,1005 +16308,3 @@ msgstr "Додељивање унформи." #, fuzzy msgid "Constants cannot be modified." msgstr "Константе није могуће мењати." - -#, fuzzy -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "Направи Одмор Позу(од Костију)" - -#~ msgid "Bottom" -#~ msgstr "Доле" - -#~ msgid "Left" -#~ msgstr "Лево" - -#~ msgid "Right" -#~ msgstr "десно" - -#~ msgid "Front" -#~ msgstr "Испред" - -#~ msgid "Rear" -#~ msgstr "Бок" - -#, fuzzy -#~ msgid "Nameless gizmo" -#~ msgstr "Безимена ручка" - -#, fuzzy -#~ msgid "Package Contents:" -#~ msgstr "Садржај:" - -#~ msgid "Singleton" -#~ msgstr "Синглетон" - -#, fuzzy -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Замени све" - -#, fuzzy -#~ msgid "Enabled Properties:" -#~ msgstr "Особине" - -#, fuzzy -#~ msgid "Enabled Features:" -#~ msgstr "Карактеристике" - -#, fuzzy -#~ msgid "Unset" -#~ msgstr "Поништи" - -#, fuzzy -#~ msgid "Class Options" -#~ msgstr "Опис" - -#, fuzzy -#~ msgid "Set" -#~ msgstr "Постави" - -#, fuzzy -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Грешка при учитавању ресурса." - -#~ msgid "Q&A" -#~ msgstr "Питања и одговори" - -#~ msgid "Status:" -#~ msgstr "Статус:" - -#, fuzzy -#~ msgid "Edit:" -#~ msgstr "Уреди" - -#, fuzzy -#~ msgid "Redownload" -#~ msgstr "Поновно преузимање" - -#~ msgid "(Installed)" -#~ msgstr "(инсталирано)" - -#~ msgid "(Missing)" -#~ msgstr "(Недостаје)" - -#, fuzzy -#~ msgid "Request Failed." -#~ msgstr "Захтев није успешан." - -#~ msgid "Redirect Loop." -#~ msgstr "Петља преусмерења." - -#~ msgid "Download Complete." -#~ msgstr "Преузимање успешно." - -#~ msgid "Remove Template" -#~ msgstr "Обриши шаблон" - -#~ msgid "Download Templates" -#~ msgstr "Преузми шаблоне" - -#, fuzzy -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "Одабери одредиште са листе: " - -#, fuzzy -#~ msgid "Move to Trash" -#~ msgstr "Помери аутоматско учитавање" - -#, fuzzy -#~ msgid "Expand All Properties" -#~ msgstr "Прошири све" - -#~ msgid "Copy Params" -#~ msgstr "Копирај параметре" - -#~ msgid "Open in Help" -#~ msgstr "Отвори у прозору за помоћ" - -#, fuzzy -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "Препиши Играчку Камеру\n" -#~ "Инстанца игре није покренута." - -#~ msgid "Drag: Rotate" -#~ msgstr "Вучење: ротација" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Притисни „v“ за измену пивота, „Shift+v“ за вучење пивота (без померања)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+Десни тастер миша: селекција листе дубине" - -#~ msgid "Clone Down" -#~ msgstr "Клонирај доле" - -#, fuzzy -#~ msgid "Yaw" -#~ msgstr "Горе-Доле" - -#, fuzzy -#~ msgid "Size" -#~ msgstr "Величина:" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "Превуците мишем: ротација\n" -#~ "Alt+превуците мишем: померај\n" -#~ "Alt+десни тастер миша: селекција листе дубине" - -#, fuzzy -#~ msgid "Sep.:" -#~ msgstr "Сеп.:" - -#~ msgid "Add All" -#~ msgstr "Додај све" - -#~ msgid "Theme editing menu." -#~ msgstr "Мени уређивања теме." - -#~ msgid "Create Empty Template" -#~ msgstr "Направи празан шаблон" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "Направи празан шаблон за уредник" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "Направи од тренутне теме уредника" - -#~ msgid "Data Type:" -#~ msgstr "Тип податка:" - -#, fuzzy -#~ msgid "Theme File" -#~ msgstr "Сачувај тему" - -#, fuzzy -#~ msgid "Compiled" -#~ msgstr "Састављено" - -#, fuzzy -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "Уклони %d пројекте са листе?\n" -#~ "Садржај фолдера пројекта неће бити измењен." - -#, fuzzy -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "Уклони овај пројекат са листе?\n" -#~ "Садржај фолдера пројекта неће бити измењен." - -#, fuzzy -#~ msgid "Templates" -#~ msgstr "Образси" - -#, fuzzy -#~ msgid "Add Remapped Path" -#~ msgstr "Додај Преправљену Путању" - -#, fuzzy -#~ msgid "Can not perform with the root node." -#~ msgstr "Немогуће извршити са кореним чвором." - -#, fuzzy -#~ msgid "Could not read boot splash image file:" -#~ msgstr "Неуспешно читаље фајла уводне слике:" - -#, fuzzy -#~ msgid "Using default boot splash image." -#~ msgstr "Коришћење уобичајне уводне слике." - -#, fuzzy -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "Анимациони плејер не може анимирати самог себе, само друге плејере." - -#, fuzzy -#~ msgid "Clipboard is empty" -#~ msgstr "Нема ресурса за копирање!" - -#~ msgid "No" -#~ msgstr "Не" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Ова сцена није сачувана. Сачувај пре покретања?" - -#, fuzzy -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "ADB извршна датотека није подешена у Подешавањима Уредника." - -#, fuzzy -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "OpenJDK jar потписник није подешен у Подешавањима Уредника." - -#, fuzzy -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "" -#~ "Произвољна изградња захтева важећу путању до Android SDK у Подешавањима " -#~ "Уредника." - -#, fuzzy -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#, fuzzy -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(Време преостало: %d:%02d с)" - -#, fuzzy -#~ msgid "Plotting Meshes: " -#~ msgstr "Сковане Мреже:" - -#, fuzzy -#~ msgid "Lighting Meshes: " -#~ msgstr "Светлосне Мреже:" - -#, fuzzy -#~ msgid "Search complete" -#~ msgstr "Потражи текст" - -#, fuzzy -#~ msgid "No commit message was provided" -#~ msgstr "Име није дато" - -#, fuzzy -#~ msgid "Add a commit message" -#~ msgstr "Додај предајну поруку" - -#, fuzzy -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "Датотека или директоријум са овим именом већ постоји." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Грешка при чувању распореда!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Уобичајен распоред је преуређен." - -#, fuzzy -#~ msgid "Move pivot" -#~ msgstr "Помери пивот" - -#, fuzzy -#~ msgid "Move anchor" -#~ msgstr "Помери акцију" - -#, fuzzy -#~ msgid "Resize CanvasItem" -#~ msgstr "Уреди CanvasItem" - -#~ msgid "Polygon->UV" -#~ msgstr "Полигон->UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV->Полигон" - -#, fuzzy -#~ msgid "Add initial export..." -#~ msgstr "Додај почетни извоз..." - -#, fuzzy -#~ msgid "Add previous patches..." -#~ msgstr "Додај претходне закрпе..." - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "Обриши закрпу „%s“ са листе?" - -#~ msgid "Patches" -#~ msgstr "Закрпе" - -#, fuzzy -#~ msgid "Make Patch" -#~ msgstr "Направи закрп" - -#, fuzzy -#~ msgid "Pack File" -#~ msgstr " Датотеке" - -#, fuzzy -#~ msgid "No build apk generated at: " -#~ msgstr "Нема градње apk произведеног код:" - -#, fuzzy -#~ msgid "FileSystem and Import Docks" -#~ msgstr "Датотечни систем" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "При извозу или извршавању, крајља датотека ће покушати да се повеже са " -#~ "адресом овог рачунара како би се могла дебаговати." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "Тренутна сцена није сачувана, молим сачувајте је пре покретања." - -#~ msgid "Revert" -#~ msgstr "Врати" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Ова акција се не може опозвати. Настави?" - -#~ msgid "Revert Scene" -#~ msgstr "Поврати сцену" - -#, fuzzy -#~ msgid "Clear Script" -#~ msgstr "Испразни Скрипту" - -#~ msgid "Issue Tracker" -#~ msgstr "Пратилац грешака" - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "Замени %d појаве/а." - -#~ msgid "Create Static Convex Body" -#~ msgstr "Направи конвексно статичко тело" - -#, fuzzy -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Тренутно нема описа ове методе. Молимо помозите нама тако што ћете [color=" -#~ "$color][url=$url]написати једну[/url][/color]!" - -#~ msgid "enum " -#~ msgstr "enum " - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "Кратак опис:" - -#, fuzzy -#~ msgid "Class Description" -#~ msgstr "Опис" - -#~ msgid "Password:" -#~ msgstr "Лозинка:" - -#~ msgid "Pause the scene" -#~ msgstr "Паузирај сцену" - -#, fuzzy -#~ msgid "Snap to Grid" -#~ msgstr "Залепи за мрежу" - -#, fuzzy -#~ msgid "Add input +" -#~ msgstr "Додај улаз" - -#, fuzzy -#~ msgid "Input" -#~ msgstr "Додај улаз" - -#, fuzzy -#~ msgid "Methods:" -#~ msgstr "Методе" - -#, fuzzy -#~ msgid "Theme Properties:" -#~ msgstr "Особине" - -#~ msgid "Enumerations:" -#~ msgstr "Енумерације:" - -#~ msgid "Constants:" -#~ msgstr "Константе:" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "Опис:" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "Опис особине:" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "Опис методе:" - -#, fuzzy -#~ msgid "Reverse sorting." -#~ msgstr "Захтевање..." - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "Не могу отворити „file_type_cache.cch“ за писање! Не чувам датотеке " -#~ "кеш(cache) типа!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "Неуспех навигације у „%s“ пошто није пронађен у датотечном систему!" - -#~ msgid "Error loading image:" -#~ msgstr "Грешка при учитавању слике:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "У слици нема пиксела са транспарентношћу већом од 128..." - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "Родитељ нема страна за попуњавање." - -#~ msgid "Couldn't map area." -#~ msgstr "Неуспех при мапирању области." - -#~ msgid "Faces contain no area!" -#~ msgstr "Стране не садрже област!" - -#~ msgid "No faces!" -#~ msgstr "Нема страна!" - -#, fuzzy -#~ msgid "Error: could not load file." -#~ msgstr "Неуспех при тражењу плочице:" - -#~ msgid "Doppler Enable" -#~ msgstr "„Doppler“ режим" - -#, fuzzy -#~ msgid "Select Mode (Q)" -#~ msgstr "Режим селекције (Q)\n" - -#~ msgid "Move Mode (W)" -#~ msgstr "Режим помераја (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "Режим ротације (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "Режим скалирања (R)" - -#~ msgid "Local Coords" -#~ msgstr "Локалне координате" - -#~ msgid "Tool Select" -#~ msgstr "Избор алатки" - -#~ msgid "Tool Move" -#~ msgstr "Алат помераја" - -#~ msgid "Tool Rotate" -#~ msgstr "Алат ротације" - -#~ msgid "Tool Scale" -#~ msgstr "Алат скалирања" - -#~ msgid "Invalid font size." -#~ msgstr "Неважећа величина фонта." - -#, fuzzy -#~ msgid "Previous Folder" -#~ msgstr "Претодни спрат" - -#, fuzzy -#~ msgid "Next Folder" -#~ msgstr "Направи директоријум" - -#, fuzzy -#~ msgid "Open in an external image editor." -#~ msgstr "Отвори следећи уредник" - -#~ msgid "Reverse" -#~ msgstr "Обрнут" - -#~ msgid "Mirror X" -#~ msgstr "Огледало X осе" - -#~ msgid "Mirror Y" -#~ msgstr "Огледало Y осе" - -#, fuzzy -#~ msgid "Generating solution..." -#~ msgstr "Прављење контура..." - -#, fuzzy -#~ msgid "Failed to create solution." -#~ msgstr "Неуспех при прављењу ивица!" - -#, fuzzy -#~ msgid "Failed to save solution." -#~ msgstr "Грешка при учитавању ресурса." - -#, fuzzy -#~ msgid "Failed to create C# project." -#~ msgstr "Грешка при учитавању ресурса." - -#, fuzzy -#~ msgid "Create C# solution" -#~ msgstr "Направи ивице" - -#, fuzzy -#~ msgid "View log" -#~ msgstr "Погледај датотеке" - -#, fuzzy -#~ msgid "Enabled Classes" -#~ msgstr "Потражи класе" - -#~ msgid "Update Always" -#~ msgstr "Увек ажурирај" - -#~ msgid "Path to Node:" -#~ msgstr "Пут ка чвору:" - -#~ msgid "Delete selected files?" -#~ msgstr "Обриши одабране датотеке?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "Датотека „res://default_bus_layout.tres“ не постоји." - -#~ msgid "Go to parent folder" -#~ msgstr "Иди у родитељски директоријум" - -#, fuzzy -#~ msgid "Open Scene(s)" -#~ msgstr "Отвори сцену" - -#~ msgid "Previous Directory" -#~ msgstr "Претодни директоријум" - -#~ msgid "Next Directory" -#~ msgstr "Следећи директоријум" - -#~ msgid "Ease in" -#~ msgstr "Улазна транзиција" - -#~ msgid "Ease out" -#~ msgstr "Излазна транзиција" - -#~ msgid "Create Convex Static Body" -#~ msgstr "Направи конвексно статично тело" - -#, fuzzy -#~ msgid "CheckBox Radio1" -#~ msgstr "CheckBox Radio1" - -#, fuzzy -#~ msgid "CheckBox Radio2" -#~ msgstr "CheckBox Radio2" - -#, fuzzy -#~ msgid "Snap (s): " -#~ msgstr "Један корак (сек.):" - -#, fuzzy -#~ msgid "Insert keys." -#~ msgstr "Убаци кључеве" - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "Направи следећу сцену/е као дете одабраног чвора." - -#, fuzzy -#~ msgid "Font Size:" -#~ msgstr "Поглед испред" - -#~ msgid "Line:" -#~ msgstr "Линија:" - -#~ msgid "Col:" -#~ msgstr "Колона:" - -#, fuzzy -#~ msgid "Add Split" -#~ msgstr "Додај тачку" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "Обриши тачку" - -#, fuzzy -#~ msgid "Poly" -#~ msgstr "Измени полигон" - -#, fuzzy -#~ msgid "Splits" -#~ msgstr "Раздели пут" - -#~ msgid "Create from scene?" -#~ msgstr "Направи од сцене?" - -#~ msgid "Create Poly" -#~ msgstr "Направи полигон" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "Направи нови полигон од почетка" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "Умањи" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "Увеличај" - -#~ msgid "Create Poly3D" -#~ msgstr "Направи Poly3D" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "OccluderPolygon2D не постоји на овом чвору.\n" -#~ "Направи и додели један?" - -#~ msgid "LMB: Move Point." -#~ msgstr "Леви тастер миша: помери тачку." - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl+леви тастер миша: одсеци дуж." - -#~ msgid "RMB: Erase Point." -#~ msgstr "Десни тастер миша: обриши тачку." - -#, fuzzy -#~ msgid "New TextFile" -#~ msgstr "Погледај датотеке" - -#~ msgid "Save Theme As" -#~ msgstr "Сачувај тему као" - -#~ msgid "<None>" -#~ msgstr "<Ниједан>" - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "Увеличај" - -#~ msgid "Class List:" -#~ msgstr "Листа класа:" - -#~ msgid "Public Methods" -#~ msgstr "Јавне методе" - -#~ msgid "Public Methods:" -#~ msgstr "Јавне методе:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "Ставке теме графичког интерфејса:" - -#, fuzzy -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Директоријум као омиљени" - -#, fuzzy -#~ msgid "Show current scene file." -#~ msgstr "Сачувај тренутно измењени ресурс." - -#, fuzzy -#~ msgid "Whole words" -#~ msgstr "Целе речи" - -#, fuzzy -#~ msgid "Match case" -#~ msgstr "Подударање великих и малих слова" - -#~ msgid "Search the class hierarchy." -#~ msgstr "Претражи хијерархију класа." - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "Потражи класе" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "" -#~ "Уграђене скриптице се могу само уређивати када је учитана сцена којој " -#~ "припадају" - -#~ msgid "Convert To Uppercase" -#~ msgstr "Претвори у велика слова" - -#~ msgid "Convert To Lowercase" -#~ msgstr "Претвори у мала слова" - -#~ msgid "Rotate 0 degrees" -#~ msgstr "Ротирај 0 степени" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "Ротирај 90 степени" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "Ротирај 180 степени" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "Ротирај 270 степени" - -#~ msgid "Bake!" -#~ msgstr "Испеци!" - -#, fuzzy -#~ msgid "Bake the navigation mesh." -#~ msgstr "Испеци навигациону мрежу.\n" - -#~ msgid "Change RGB Constant" -#~ msgstr "Промени RGB константу" - -#~ msgid "Change Vec Scalar Operator" -#~ msgstr "Промени векторско-скаларни оператор" - -#~ msgid "Change RGB Operator" -#~ msgstr "Промени RGB оператор" - -#~ msgid "Toggle Rot Only" -#~ msgstr "Само ротација" - -#~ msgid "Change RGB Uniform" -#~ msgstr "Промени RGB униформу (uniform)" - -#~ msgid "Change Default Value" -#~ msgstr "Промени уобичајену вредност" - -#~ msgid "Change XForm Uniform" -#~ msgstr "Промени XForm униформу (uniform)" - -#~ msgid "Change Cubemap Uniform" -#~ msgstr "Промени Cubemap униформу (uniform)" - -#~ msgid "Change Comment" -#~ msgstr "Промени коментар" - -#~ msgid "Add/Remove to Color Ramp" -#~ msgstr "Додај/обириши из рампе боје" - -#~ msgid "Modify Color Ramp" -#~ msgstr "Измени рампу боје" - -#~ msgid "Add/Remove to Curve Map" -#~ msgstr "Додај/обриши из мапе криве" - -#~ msgid "Modify Curve Map" -#~ msgstr "Модификуј мапу криве" - -#~ msgid "Connect Graph Nodes" -#~ msgstr "Повежи чворове графа" - -#~ msgid "Remove Shader Graph Node" -#~ msgstr "Обриши чвор графа шејдера" - -#~ msgid "Move Shader Graph Node" -#~ msgstr "Помери чвор графа шејдера" - -#~ msgid "Error: Cyclic Connection Link" -#~ msgstr "Грешка: пронађена циклична веза" - -#~ msgid "Error: Missing Input Connections" -#~ msgstr "Грешка: недостаје улазна конекција" - -#~ msgid "Add Shader Graph Node" -#~ msgstr "Додај чвор графа шејдера" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Помери траку горе" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Помери траку доле" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Измени интерполацију" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Измени режим вредности" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Измени режим цикла" - -#~ msgid "Edit Node Curve" -#~ msgstr "Измени криву чвора" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Измени одабрану криву" - -#~ msgid "Anim Add Key" -#~ msgstr "Уметни кључ" - -#~ msgid "In" -#~ msgstr "Улаз" - -#~ msgid "Out" -#~ msgstr "Из" - -#~ msgid "In-Out" -#~ msgstr "У-Из" - -#~ msgid "Out-In" -#~ msgstr "Из-У" - -#~ msgid "Change Anim Loop" -#~ msgstr "Измени лупинг анимације" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Направи кључ са почетном вредношћу" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Додај позивну траку" - -#~ msgid "Length (s):" -#~ msgstr "Дужина (сек.):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "Поравнавање корака курсора (у секундама)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Укључи/искључи понављање анимације." - -#~ msgid "Add new tracks." -#~ msgstr "Додај нове траке." - -#~ msgid "Move current track up." -#~ msgstr "Помери траку горе." - -#~ msgid "Move current track down." -#~ msgstr "Помери траку доле." - -#~ msgid "Track tools" -#~ msgstr "Алатке за траке" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Омогућите уређивање индивидуалних кључева кликом на њих." - -#~ msgid "Key" -#~ msgstr "Кључ" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Позови функције у којем чвору?" - -#~ msgid "Thanks!" -#~ msgstr "Хвала!" - -#~ msgid "I see..." -#~ msgstr "Разумем..." - -#~ msgid "Ugh" -#~ msgstr "Уф" - -#~ msgid "Stop Profiling" -#~ msgstr "Заустави профилирање" - -#~ msgid "Start Profiling" -#~ msgstr "Покрени профилирање" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "Уобичајено (као и уредник)" - -#~ msgid "Create new animation in player." -#~ msgstr "Направи нову анимацију у плејеру." - -#~ msgid "Load animation from disk." -#~ msgstr "Учитај анимацију са диска." - -#~ msgid "Load an animation from disk." -#~ msgstr "Учитај анимацију са диска." - -#~ msgid "Save the current animation" -#~ msgstr "Сачувај тренутну анимацију" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "Уреди времена циљаног мешања" - -#~ msgid "Copy Animation" -#~ msgstr "Копирај анимацију" - -#~ msgid "Fetching:" -#~ msgstr "Преузимање:" - -#~ msgid "prev" -#~ msgstr "претходни" - -#~ msgid "next" -#~ msgstr "следећи" - -#~ msgid "last" -#~ msgstr "задњи" - -#~ msgid "Edit IK Chain" -#~ msgstr "Измени IK ланац" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "Превуци пивот са позицијом миша" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "Постави пивот на позицију миша" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "Додај/обриши тачку бојне рампе" - -#~ msgid "OK :(" -#~ msgstr "ОК :(" - -#~ msgid "StyleBox Preview:" -#~ msgstr "StyleBox преглед:" - -#~ msgid "Texture Region Editor" -#~ msgstr "Уредник региона текстуре" - -#~ msgid "Erase selection" -#~ msgstr "Обриши одабрано" - -#~ msgid "Item name or ID:" -#~ msgstr "Име ставке или идентификатор (ID):" - -#~ msgid "Export templates for this platform are missing/corrupted: " -#~ msgstr "Извозни шаблони за ову платформу су или искварени или непостојећи: " - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "Неважећи формат датотеке „version.txt“ унутар шаблона. „Revision“ није " -#~ "важећи идентификатор." - -#~ msgid "Can't write file." -#~ msgstr "Неуспех при записивању датотеке." - -#~ msgid "Replace By" -#~ msgstr "Заменити са" - -#~ msgid "Backwards" -#~ msgstr "Натраг" - -#~ msgid "Prompt On Replace" -#~ msgstr "Питај за замену" - -#~ msgid "Skip" -#~ msgstr "Прескочи" - -#~ msgid "preview" -#~ msgstr "преглед" - -#~ msgid "Move Add Key" -#~ msgstr "Помери кључ" - -#~ msgid "List:" -#~ msgstr "Листа:" - -#~ msgid "Set Emission Mask" -#~ msgstr "Постави маску емисије" - -#~ msgid "Clear Emitter" -#~ msgstr "Очисти емитер" - -#~ msgid "Cannot navigate to '" -#~ msgstr "Не могу прећи у '" - -#~ msgid "Remove Point from Line2D" -#~ msgstr "Обриши тачку са Line2D" - -#~ msgid "Add Point to Line2D" -#~ msgstr "Уметни тачку Line2D" - -#~ msgid "Move Point in Line2D" -#~ msgstr "Помери тачку Line2D" - -#~ msgid "Split Segment (in line)" -#~ msgstr "Подели сегмент (у линији)" diff --git a/editor/translations/sr_Latn.po b/editor/translations/sr_Latn.po index d8a6c896f1..17e8a106c7 100644 --- a/editor/translations/sr_Latn.po +++ b/editor/translations/sr_Latn.po @@ -1,6 +1,6 @@ # Serbian (latin) translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Milos Ponjavusic <brane@branegames.com>, 2018. # BLu <blmasfon@gmail.com>, 2018. @@ -2082,14 +2082,30 @@ msgstr "" msgid "Theme Properties" msgstr "" -#: editor/editor_help.cpp -msgid "Enumerations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "" @@ -8376,18 +8392,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -13021,7 +13025,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -13030,6 +13039,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14019,36 +14043,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Pomjeri Kanal Animacije Gore" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Pomjeri Kanal Animacije Dole" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Animacija Promjeni Interpolaciju Kanala" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Animacija Promjeni Vrijednosni Režim Kanala" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Animacija Promjeni Režim Omotavanja Kanala" - -#~ msgid "Anim Add Key" -#~ msgstr "Animacija Dodaj Ključ" - -#~ msgid "In" -#~ msgstr "U" - -#~ msgid "Out" -#~ msgstr "Izvan" - -#~ msgid "In-Out" -#~ msgstr "U-Izvan" - -#~ msgid "Out-In" -#~ msgstr "Izvan-U" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Animacija Napravit Tip Vrijednosni Ključ" diff --git a/editor/translations/sv.po b/editor/translations/sv.po index 7abece55a6..2ac0ecee01 100644 --- a/editor/translations/sv.po +++ b/editor/translations/sv.po @@ -1,6 +1,6 @@ # Swedish translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # bergmarklund <davemcgroin@gmail.com>, 2017, 2018. # Christoffer Sundbom <christoffer_karlsson@live.se>, 2017, 2021. @@ -24,13 +24,14 @@ # Alex25820 <Alexander_sjogren@hotmail.se>, 2021. # Leon <joel.lundborg@gmail.com>, 2021. # Kent Jofur <kent.jofur@gmail.com>, 2021. +# Alex25820 <alexs25820@gmail.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-11-03 13:15+0000\n" -"Last-Translator: Kent Jofur <kent.jofur@gmail.com>\n" +"PO-Revision-Date: 2021-12-20 18:53+0000\n" +"Last-Translator: Alex25820 <alexs25820@gmail.com>\n" "Language-Team: Swedish <https://hosted.weblate.org/projects/godot-engine/" "godot/sv/>\n" "Language: sv\n" @@ -38,7 +39,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.9-dev\n" +"X-Generator: Weblate 4.10\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -61,7 +62,7 @@ msgstr "Ogiltig indata %i (ej överförd) i uttrycket" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" -msgstr "\"self\" kan inte användas eftersom instansen är null (ej överförd)" +msgstr "själv kan inte användas eftersom instansen är null (inte godkänt)" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." @@ -2144,13 +2145,33 @@ msgstr "Metoder" msgid "Theme Properties" msgstr "Tema Egenskaper" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Uppräkningar" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Colors" +msgstr "Färg" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" -msgstr "Konstanter" +msgstr "Begränsningar" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Fonts" +msgstr "Font" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Icons" +msgstr "Ikon" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Styles" +msgstr "Stil" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Uppräkningar" #: editor/editor_help.cpp msgid "Property Descriptions" @@ -8743,21 +8764,6 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Colors" -msgstr "Färg" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Fonts" -msgstr "Font" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Icons" -msgstr "Ikon" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Styleboxes" msgstr "Stil" @@ -13530,7 +13536,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -13539,6 +13550,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14577,620 +14603,3 @@ msgstr "" #, fuzzy msgid "Constants cannot be modified." msgstr "Konstanter kan inte ändras." - -#~ msgid "Bottom" -#~ msgstr "Botten" - -#~ msgid "Left" -#~ msgstr "Vänster" - -#~ msgid "Right" -#~ msgstr "Höger" - -#~ msgid "Front" -#~ msgstr "Framsida" - -#~ msgid "Rear" -#~ msgstr "Baksida" - -#~ msgid "Package Contents:" -#~ msgstr "Paketets Innehåll:" - -#~ msgid "Singleton" -#~ msgstr "Singleton" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Rensa profil ‘%s’? (Du kan inte ångra den här åtgärden )" - -#~ msgid "Enabled Properties:" -#~ msgstr "Egenskaper:" - -#, fuzzy -#~ msgid "Class Options" -#~ msgstr "Beskrivning" - -#~ msgid "Set" -#~ msgstr "Sätt" - -#, fuzzy -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Misslyckades att ladda resurs." - -#~ msgid "Q&A" -#~ msgstr "Frågor och svar" - -#~ msgid "Status:" -#~ msgstr "Status:" - -#~ msgid "Edit:" -#~ msgstr "Redigera:" - -#, fuzzy -#~ msgid "Redownload" -#~ msgstr "Ladda ner" - -#~ msgid "(Installed)" -#~ msgstr "(Installerad)" - -#~ msgid "(Missing)" -#~ msgstr "(Saknas)" - -#~ msgid "Redirect Loop." -#~ msgstr "Omdirigera Loop." - -#~ msgid "Download Complete." -#~ msgstr "Nedladdning Klar." - -#~ msgid "Remove Template" -#~ msgstr "Ta Bort Mall" - -#~ msgid "Download Templates" -#~ msgstr "Ladda Ner Mallar" - -#, fuzzy -#~ msgid "Move to Trash" -#~ msgstr "Flytta Autoload" - -#, fuzzy -#~ msgid "Expand All Properties" -#~ msgstr "Expandera alla" - -#~ msgid "Copy Params" -#~ msgstr "Kopiera Params" - -#~ msgid "Open in Help" -#~ msgstr "Öppna i Hjälp" - -#~ msgid "Add All" -#~ msgstr "Lägg till Alla" - -#~ msgid "Create Empty Template" -#~ msgstr "Skapa tom mall" - -#~ msgid "Data Type:" -#~ msgstr "Datatyp:" - -#, fuzzy -#~ msgid "Theme File" -#~ msgstr "Tema" - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "Vill du ta bort projektet från listan?\n" -#~ "Projektetmappens innehåll kommer inte ändras." - -#~ msgid "Templates" -#~ msgstr "Mallar" - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "En animationsspelare kan inte animera sig själv, utan bara andra spelare." - -#~ msgid "Clipboard is empty" -#~ msgstr "Urklipp är tomt" - -#~ msgid "No" -#~ msgstr "Nej" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Denna scenen har aldrig sparats. Spara innan körning?" - -#, fuzzy -#~ msgid "Search complete" -#~ msgstr "Söktext" - -#, fuzzy -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "En fil eller mapp med detta namn finns redan." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Fel vid försök att spara layout!" - -#, fuzzy -#~ msgid "Move pivot" -#~ msgstr "Flytta Upp" - -#, fuzzy -#~ msgid "Move anchor" -#~ msgstr "Flytta Ner" - -#, fuzzy -#~ msgid "Add initial export..." -#~ msgstr "Favoriter:" - -#~ msgid "Patches" -#~ msgstr "Patchar" - -#~ msgid "Make Patch" -#~ msgstr "Gör Patch" - -#, fuzzy -#~ msgid "Pack File" -#~ msgstr "Packar" - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "" -#~ "Nuvarande scen har aldrig sparats, vänligen spara den innan körning." - -#~ msgid "Revert" -#~ msgstr "Återställ" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Åtgärden kan inte ångras. Återställ ändå?" - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "Ersatte %d förekomst(er)." - -#, fuzzy -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Det finns för närvarande ingen beskrivning för denna metod. Snälla hjälp " -#~ "oss genom att [color=$color][url=$url]bidra med en[/url][/color]!" - -#~ msgid "enum " -#~ msgstr "enum " - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "Kort Beskrivning:" - -#, fuzzy -#~ msgid "Class Description" -#~ msgstr "Beskrivning" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "Projekt exporten misslyckades med följande felmeddelande %d." - -#~ msgid "Password:" -#~ msgstr "Lösenord:" - -#~ msgid "Pause the scene" -#~ msgstr "Pausa scenen" - -#~ msgid "Shift+" -#~ msgstr "Skift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#, fuzzy -#~ msgid "Add input +" -#~ msgstr "Lägg till Signal" - -#~ msgid "Language" -#~ msgstr "Språk" - -#~ msgid "Inherits" -#~ msgstr "Ärver" - -#~ msgid "Available Nodes:" -#~ msgstr "Tillgängliga Noder:" - -#, fuzzy -#~ msgid "Methods:" -#~ msgstr "Metoder" - -#, fuzzy -#~ msgid "Theme Properties:" -#~ msgstr "Egenskaper" - -#~ msgid "Enumerations:" -#~ msgstr "Enumerations:" - -#~ msgid "Constants:" -#~ msgstr "Konstanter:" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "Beskrivning:" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "Egenskapsbeskrivning:" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "Metodbeskrivning:" - -#, fuzzy -#~ msgid "Delete Node(s)?" -#~ msgstr "Ta bort Nod(er)?" - -#, fuzzy -#~ msgid "Error: could not load file." -#~ msgstr "Fel - Kunde inte skapa Skript i filsystemet." - -#, fuzzy -#~ msgid "Select Mode (Q)" -#~ msgstr "Välj Node" - -#, fuzzy -#~ msgid "Project List" -#~ msgstr "Projektlista" - -#, fuzzy -#~ msgid "Exit" -#~ msgstr "Avsluta" - -#, fuzzy -#~ msgid "Error initializing FreeType." -#~ msgstr "Fel vid initiering av FreeType." - -#, fuzzy -#~ msgid "Unknown font format." -#~ msgstr "Okänt fontformat." - -#, fuzzy -#~ msgid "Error loading font." -#~ msgstr "Fel vid laddning av font." - -#, fuzzy -#~ msgid "Invalid font size." -#~ msgstr "Ogiltig teckenstorlek." - -#, fuzzy -#~ msgid "Previous Folder" -#~ msgstr "Föregående flik" - -#, fuzzy -#~ msgid "Next Folder" -#~ msgstr "Skapa Mapp" - -#, fuzzy -#~ msgid "Mirror X" -#~ msgstr "Spegla X" - -#, fuzzy -#~ msgid "Mirror Y" -#~ msgstr "Spegla Y" - -#, fuzzy -#~ msgid "Generating solution..." -#~ msgstr "Skapar konturer..." - -#, fuzzy -#~ msgid "Failed to create solution." -#~ msgstr "Misslyckades att ladda resurs." - -#, fuzzy -#~ msgid "Failed to save solution." -#~ msgstr "Misslyckades att ladda resurs." - -#, fuzzy -#~ msgid "Failed to create C# project." -#~ msgstr "Misslyckades att ladda resurs." - -#, fuzzy -#~ msgid "Create C# solution" -#~ msgstr "Skapa Prenumeration" - -#, fuzzy -#~ msgid "Build Project" -#~ msgstr "Projekt" - -#, fuzzy -#~ msgid "View log" -#~ msgstr "Visa Filer" - -#, fuzzy -#~ msgid "Enabled Classes" -#~ msgstr "Sök Klasser" - -#, fuzzy -#~ msgid "Update Always" -#~ msgstr "Uppdatera Alltid" - -#, fuzzy -#~ msgid "Path to Node:" -#~ msgstr "Sökväg till Node:" - -#~ msgid "Delete selected files?" -#~ msgstr "Ta bort valda filer?" - -#, fuzzy -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "Det finns ingen 'res://default_bus_layout.tres' fil." - -#~ msgid "Go to parent folder" -#~ msgstr "Gå till överordnad mapp" - -#, fuzzy -#~ msgid "Open Scene(s)" -#~ msgstr "Öppna Scen" - -#~ msgid "Create folder" -#~ msgstr "Skapa mapp" - -#, fuzzy -#~ msgid "Custom Node" -#~ msgstr "Klipp ut Noder" - -#, fuzzy -#~ msgid "Invalid Path" -#~ msgstr "Ogiltig Sökväg" - -#, fuzzy -#~ msgid "Edit Variable:" -#~ msgstr "Redigera Variabel:" - -#, fuzzy -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "Instansiera valda scen(er) som barn till vald Node." - -#, fuzzy -#~ msgid "Font Size:" -#~ msgstr "Vy framifrån" - -#~ msgid "Line:" -#~ msgstr "Rad:" - -#~ msgid "Col:" -#~ msgstr "Kolumn:" - -#, fuzzy -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "" -#~ "PathFollow2D fungerar bara när den är satt som ett barn till en Path2D-" -#~ "Node." - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "Ta Bort Mall" - -#, fuzzy -#~ msgid "Poly" -#~ msgstr "Redigera Polygon" - -#, fuzzy -#~ msgid "Add Node.." -#~ msgstr "Lägg Till Node" - -#~ msgid "Create from scene?" -#~ msgstr "Skapa från scen?" - -#, fuzzy -#~ msgid "Create a new polygon from scratch" -#~ msgstr "Skapa ny polygon från grunden" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "Zooma Ut" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "Zooma In" - -#, fuzzy -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "Ingen OccluderPolygon2D resurs på denna Node.\n" -#~ "Skapa och tilldela en?" - -#, fuzzy -#~ msgid "Save Theme As" -#~ msgstr "Spara Tema Som" - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "Zooma In" - -#, fuzzy -#~ msgid "Class List:" -#~ msgstr "Klasslista:" - -#, fuzzy -#~ msgid "Public Methods" -#~ msgstr "Publika Metoder" - -#, fuzzy -#~ msgid "Public Methods:" -#~ msgstr "Publika Metoder:" - -#, fuzzy -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Växla Favorit" - -#, fuzzy -#~ msgid "Show current scene file." -#~ msgstr "Skapa Mapp" - -#, fuzzy -#~ msgid "Whole words" -#~ msgstr "Hela Ord" - -#, fuzzy -#~ msgid "Match case" -#~ msgstr "Matcha gemener/versaler" - -#~ msgid "Ok" -#~ msgstr "Ok" - -#, fuzzy -#~ msgid "Show In File System" -#~ msgstr "Visa i Filsystemet" - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "Sök Klasser" - -#, fuzzy -#~ msgid "Convert To Uppercase" -#~ msgstr "Konvertera till Versaler" - -#, fuzzy -#~ msgid "Convert To Lowercase" -#~ msgstr "Konvertera till Gemener" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "Rotera 90 grader" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "Rotera 180 grader" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "Rotera 270 grader" - -#, fuzzy -#~ msgid "Errors:" -#~ msgstr "Fel:" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Flytta Anim Spåra Uppåt" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Flytta Anim Spår Neråt" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Anim Ändra Spårets Interpolation" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Ändra Anim Spårets Värde Läge" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Anim Spåra Ändra Linda om Läge" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Redigera Urvalsurva" - -#~ msgid "Anim Add Key" -#~ msgstr "Anim Lägg Till Nyckel" - -#, fuzzy -#~ msgid "In" -#~ msgstr "In" - -#~ msgid "Out" -#~ msgstr "Ut" - -#~ msgid "In-Out" -#~ msgstr "In-Ut" - -#~ msgid "Out-In" -#~ msgstr "Ut-In" - -#~ msgid "Change Anim Len" -#~ msgstr "Ändra Anim Längd" - -#~ msgid "Length (s):" -#~ msgstr "Längd (s):" - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Aktivera/Inaktivera looping i animation." - -#~ msgid "Add new tracks." -#~ msgstr "Lägg till nya spår." - -#~ msgid "Move current track up." -#~ msgstr "Flytta nuvarande spår upp." - -#~ msgid "Move current track down." -#~ msgstr "Flytta nuvarande spår ner." - -#, fuzzy -#~ msgid "Track tools" -#~ msgstr "Spårverktyg" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Aktivera editering av individuella nycklar genom att klicka på dem." - -#~ msgid "Key" -#~ msgstr "Nyckel" - -#, fuzzy -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Anropa funktioner i vilken Node?" - -#~ msgid "Thanks!" -#~ msgstr "Tack!" - -#~ msgid "I see..." -#~ msgstr "Jag förstår..." - -#, fuzzy -#~ msgid "Ugh" -#~ msgstr "Ugh" - -#, fuzzy -#~ msgid "Run Script" -#~ msgstr "Kör Skript" - -#, fuzzy -#~ msgid "Copy Animation" -#~ msgstr "Kopiera Animation" - -#, fuzzy -#~ msgid "prev" -#~ msgstr "förhandsgranska" - -#~ msgid "OK :(" -#~ msgstr "OK :(" - -#, fuzzy -#~ msgid "Condition" -#~ msgstr "Villkor" - -#, fuzzy -#~ msgid "Sequence" -#~ msgstr "Sekvens" - -#, fuzzy -#~ msgid "Iterator" -#~ msgstr "Iterator" - -#~ msgid "Replace By" -#~ msgstr "Ersätt Med" - -#, fuzzy -#~ msgid "Backwards" -#~ msgstr "Baklänges" - -#, fuzzy -#~ msgid "Prompt On Replace" -#~ msgstr "Fråga vid Ersättning" - -#~ msgid "Skip" -#~ msgstr "Hoppa över" - -#, fuzzy -#~ msgid "" -#~ "Your project will be created in a non empty folder (you might want to " -#~ "create a new folder)." -#~ msgstr "" -#~ "Ditt projekt kommer att skapas i en icke-tom mapp (du kanske vill skapa " -#~ "en ny mapp)." - -#~ msgid "That's a BINGO!" -#~ msgstr "Det är en BINGO!" - -#~ msgid "Move Add Key" -#~ msgstr "Flytta Lägg Till Nyckel" - -#~ msgid "List:" -#~ msgstr "Lista:" diff --git a/editor/translations/ta.po b/editor/translations/ta.po index 137e2a28f9..610ec069ed 100644 --- a/editor/translations/ta.po +++ b/editor/translations/ta.po @@ -1,6 +1,6 @@ # Tamil translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # Senthil Kumar K <logickumar@gmail.com>, 2017. @@ -2075,14 +2075,30 @@ msgstr "" msgid "Theme Properties" msgstr "" -#: editor/editor_help.cpp -msgid "Enumerations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "" @@ -8313,18 +8329,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -12911,7 +12915,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12920,6 +12929,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -13909,15 +13933,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "" - -#~ msgid "Move Anim Track Up" -#~ msgstr "அசைவூட்டு பாதையை மேலே நகர்த்து" - -#~ msgid "Move Anim Track Down" -#~ msgstr "அசைவூட்டு பாதையை கீழே நகர்த்து" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "அசைவூட்டு பாதை மதிப்பு[value] விதம் மாற்று" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "அசைவூட்டு பாதை மறை[wrap] விதம் மாற்று" diff --git a/editor/translations/te.po b/editor/translations/te.po index fbe2d0dac3..79c5f39433 100644 --- a/editor/translations/te.po +++ b/editor/translations/te.po @@ -1,6 +1,6 @@ # Telugu translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # suresh p <suresh9247@gmail.com>, 2019, 2020. msgid "" @@ -2045,14 +2045,30 @@ msgstr "" msgid "Theme Properties" msgstr "" -#: editor/editor_help.cpp -msgid "Enumerations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "" @@ -8243,18 +8259,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -12784,7 +12788,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12793,6 +12802,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" diff --git a/editor/translations/th.po b/editor/translations/th.po index 6fe9af7f1d..ad9ff7c0d0 100644 --- a/editor/translations/th.po +++ b/editor/translations/th.po @@ -1,6 +1,6 @@ # Thai translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Kaveeta Vivatchai <goodytong@gmail.com>, 2017. # Poommetee Ketson (Noshyaar) <poommetee@protonmail.com>, 2017-2018. @@ -11,13 +11,14 @@ # Kongfa Waroros <gongpha@hotmail.com>, 2021. # Atirut Wattanamongkol <artjang301@gmail.com>, 2021. # PT 07 <porton555@gmail.com>, 2021. +# SysError_ <ictsanook@hotmail.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-06-07 23:43+0000\n" -"Last-Translator: Atirut Wattanamongkol <artjang301@gmail.com>\n" +"PO-Revision-Date: 2021-12-10 10:33+0000\n" +"Last-Translator: SysError_ <ictsanook@hotmail.com>\n" "Language-Team: Thai <https://hosted.weblate.org/projects/godot-engine/godot/" "th/>\n" "Language: th\n" @@ -25,16 +26,16 @@ 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-dev\n" +"X-Generator: Weblate 4.10-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." -msgstr "ชนิดตัวแปรใน convert() ผิด ใช้ค่าคงที่ TYPE_* เท่านั้น" +msgstr "อาร์กิวเมนต์ประเภทสำหรับ convert() ไม่ถูกต้อง, ต้องใช้ค่าคงที่ TYPE_*" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp msgid "Expected a string of length 1 (a character)." -msgstr "String นี้ต้องมีความยาวเท่ากับ 1 ตัวอักษร" +msgstr "String นี้ต้องมีความยาวเท่ากับ 1 (ตัวอักษร)" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/mono/glue/gd_glue.cpp @@ -44,25 +45,23 @@ msgstr "ไบต์ไม่เพียงพอหรือรูปแบบ #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" -msgstr "อินพุต %i ใน expression ไม่ถูกต้อง (ไม่ผ่าน)" +msgstr "อินพุต %i ใน expression ไม่ถูกต้อง (ไม่ส่งผ่าน)" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" -msgstr "ไม่สามารถใช้ self ได้เนื่องจากอินสแตนซ์เป็น null (ไม่ผ่าน)" +msgstr "คีย์เวิร์ด self ไม่สามารถใช้งานได้เนื่องจากตัวอินสแตนซ์เป็นค่า null (ไม่ส่งผ่าน)" #: core/math/expression.cpp -#, fuzzy msgid "Invalid operands to operator %s, %s and %s." -msgstr "ตัวดำเนินการสำหรับโอเปอเรเตอร์ %s, %s และ %s ไม่ถูกต้อง" +msgstr "ตัวดำเนินการไม่ถูกต้องสำหรับโอเปอเรเตอร์ %s, %s และ %s" #: core/math/expression.cpp -#, fuzzy msgid "Invalid index of type %s for base type %s" -msgstr "ดัชนีของชนิด '%s' ไม่ถูกต้องสำหรับชนิดฐาน %s" +msgstr "ดัชนีของชนิดตัวแปร '%s' ไม่ถูกต้องสำหรับชนิดต้นแบบ %s" #: core/math/expression.cpp msgid "Invalid named index '%s' for base type %s" -msgstr "ชื่อดัชนีของ '%s' ผิดพลาดสำหรับฐาน %s" +msgstr "ชื่อสำหรับดัชนีของ '%s' ไม่ถูกต้องสำหรับชนิดต้นแบบ %s" #: core/math/expression.cpp msgid "Invalid arguments to construct '%s'" @@ -160,12 +159,11 @@ msgstr "แก้ไขเวลาคีย์เฟรมแอนิเมช #: editor/animation_track_editor.cpp #, fuzzy msgid "Anim Change Transition" -msgstr "เปลี่ยนทรานสิชันของแอนิเมชัน" +msgstr "เปลี่ยนทรานซิชันของแอนิเมชัน" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Change Transform" -msgstr "เคลื่อนย้ายแอนิเมชัน" +msgstr "แก้ไขทรานสฟอร์มของแอนิเมชัน" #: editor/animation_track_editor.cpp msgid "Anim Change Keyframe Value" @@ -184,9 +182,8 @@ msgid "Anim Multi Change Transition" msgstr "แก้ไขทรานสิชันแอนิเมชันแบบหลายครั้ง" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Transform" -msgstr "แก้ไขตำแหน่งแอนิเมชันแบบหลายครั้ง" +msgstr "แก้ไขทรานสฟอร์มของแอนิเมชันแบบหลายครั้ง" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Keyframe Value" @@ -275,9 +272,8 @@ msgid "Interpolation Mode" msgstr "โหมดการแก้ไข" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" -msgstr "โหมดวนลูป (Interpolate จุดสิ้นสุดด้วยจุดเริ่มตต้นบนลูป)" +msgstr "โหมดวนลูป (เหลื่อมจุดสิ้นสุดด้วยจุดเริ่มต้นบนลูป)" #: editor/animation_track_editor.cpp msgid "Remove this track." @@ -322,9 +318,10 @@ msgstr "ลูกบาศก์" #: editor/animation_track_editor.cpp msgid "Clamp Loop Interp" -msgstr "การจำกัดการวนลูป" +msgstr "ค่าต่ำสุด/สูงสุดของการวนลูป" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Wrap Loop Interp" msgstr "ล้อมการวนซ้ำ" @@ -384,9 +381,8 @@ 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' ไม่ได้" +msgstr "บนโหนด '%s'" #. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. #: editor/animation_track_editor.cpp @@ -396,13 +392,12 @@ msgstr "แอนิเมชัน" #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." -msgstr "ตัวเล่นอนิเมชั่นไม่สามารถเล่นอนิเมชั่นด้วยตัวมันเองได้ เล่นได้เฉพาะตัวเล่นอื่นเท่านั้น" +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'" +msgstr "บนคุณสมบัติ '%s'" #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" @@ -425,26 +420,24 @@ msgid "Rearrange Tracks" msgstr "จัดเรียงแทร็ก" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Transform tracks only apply to Spatial-based nodes." -msgstr "แทร็ก Transform ส่งผลต่อโนดประเภท Spatial-based เท่านั้น" +msgstr "แทร็ก Transform ส่งผลต่อโหนดที่มีพื้นฐานเป็น Spatial เท่านั้น" #: editor/animation_track_editor.cpp -#, fuzzy msgid "" "Audio tracks can only point to nodes of type:\n" "-AudioStreamPlayer\n" "-AudioStreamPlayer2D\n" "-AudioStreamPlayer3D" msgstr "" -"แทร็กเสียงสามารถชี้ไปยังโนดชนิดเหล่านี้ได้เท่านั้น:\n" +"แทร็กเสียงสามารถชี้ไปยังโหนดชนิดเหล่านี้ได้เท่านั้น:\n" "-AudioStreamPlayer\n" "-AudioStreamPlayer2D\n" "-AudioStreamPlayer3D" #: editor/animation_track_editor.cpp msgid "Animation tracks can only point to AnimationPlayer nodes." -msgstr "แทร็กอนิเมชั่นสามารถติดไว้บนโหนด AnimationPlayer เท่านั้น" +msgstr "แทร็กอนิเมชั่นสามารถติดไว้บนโหนด AnimationPlayer ได้เท่านั้น" #: editor/animation_track_editor.cpp msgid "Not possible to add a new track without a root" @@ -542,7 +535,7 @@ msgstr "แสดงแทร็กจากโหนดที่เลือก #: editor/animation_track_editor.cpp msgid "Group tracks by node or display them as plain list." -msgstr "จัดกลุ่มแทร็กโดยใช้โหนดหรือแสดงเป็นรายการธรรมดา" +msgstr "จัดกลุ่มแทร็กโดยใช้โนดหรือแสดงเป็นรายการธรรมดา" #: editor/animation_track_editor.cpp msgid "Snap:" @@ -612,7 +605,7 @@ msgstr "ไปยังขั้นก่อนหน้า" #: editor/animation_track_editor.cpp #, fuzzy msgid "Apply Reset" -msgstr "รีเซ็ต" +msgstr "นำการรีเซ็ตไปใช้" #: editor/animation_track_editor.cpp msgid "Optimize Animation" @@ -624,16 +617,15 @@ msgstr "เก็บกวาดแอนิเมชัน" #: editor/animation_track_editor.cpp msgid "Pick the node that will be animated:" -msgstr "เลือกโหนดที่จะให้เคลื่อนไหว:" +msgstr "เลือกโนดที่จะให้เคลื่อนไหว:" #: editor/animation_track_editor.cpp msgid "Use Bezier Curves" msgstr "ใช้เส้นโค้งเบซิเยร์" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Create RESET Track(s)" -msgstr "วางแทร็ก" +msgstr "สร้างแทร็กรีเซ็ท" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" @@ -660,12 +652,13 @@ msgid "Remove invalid keys" msgstr "ลบคีย์ที่ผิดพลาด" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Remove unresolved and empty tracks" msgstr "ลบแทร็กว่างเปล่า" #: editor/animation_track_editor.cpp msgid "Clean-up all animations" -msgstr "เก็บกวาดทุกแอนิเมชัน" +msgstr "เก็บกวาดแอนิเมชันทั้งหมด" #: editor/animation_track_editor.cpp msgid "Clean-Up Animation(s) (NO UNDO!)" @@ -677,7 +670,7 @@ msgstr "เก็บกวาด" #: editor/animation_track_editor.cpp msgid "Scale Ratio:" -msgstr "อัตราส่วนเวลา:" +msgstr "อัตราส่วนขนาด:" #: editor/animation_track_editor.cpp msgid "Select Tracks to Copy" @@ -797,7 +790,7 @@ msgstr "เลขบรรทัดและคอลัมน์" #: editor/connections_dialog.cpp msgid "Method in target node must be specified." -msgstr "ต้องระบุเมธอดในโหนดเป้าหมาย" +msgstr "ต้องระบุเมธอดในโนดเป้าหมาย" #: editor/connections_dialog.cpp msgid "Method name must be a valid identifier." @@ -807,11 +800,11 @@ msgstr "ไม่สามารถใช้ชื่อนี้ได้." msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." -msgstr "ไม่พบโหนดเป้าหมาย ระบุเมธอดที่ถูกต้องหรือเพิ่มสคริปต์ในโหนดเป้าหมาย" +msgstr "ไม่พบเมธอดเป้าหมาย ระบุเมธอดที่ถูกต้องหรือเพิ่มสคริปต์ในโนดเป้าหมาย" #: editor/connections_dialog.cpp msgid "Connect to Node:" -msgstr "เชื่อมต่อกับโหนด:" +msgstr "เชื่อมต่อกับโนด:" #: editor/connections_dialog.cpp msgid "Connect to Script:" @@ -875,7 +868,7 @@ msgstr "ตัดการเชื่อมต่อสัญญาณหลั #: editor/connections_dialog.cpp msgid "Cannot connect signal" -msgstr "ไม่สามารถเชื่อมต่อสัญญาณ" +msgstr "ไม่สามารถเชื่อมต่อสัญญาณได้" #: editor/connections_dialog.cpp editor/dependency_editor.cpp #: editor/export_template_manager.cpp editor/groups_editor.cpp @@ -906,7 +899,7 @@ msgstr "เชื่อม '%s' กับ '%s'" #: editor/connections_dialog.cpp msgid "Disconnect '%s' from '%s'" -msgstr "ตัดการเชื่อมต่อ '%s' กับ '%s'" +msgstr "ตัดการเชื่อมต่อ '%s' จาก '%s'" #: editor/connections_dialog.cpp msgid "Disconnect all from signal: '%s'" @@ -931,7 +924,7 @@ msgstr "แก้ไขการเชื่อมต่อ:" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from the \"%s\" signal?" -msgstr "ยืนยันการลบการเชื่อมต่อสัญญาณจาก \"%s\"?" +msgstr "คุณแน่ใจหรือว่าจะลบการเชื่อมต่อทั้งหมดจากสัญญาณ \"%s\"?" #: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp msgid "Signals" @@ -939,7 +932,7 @@ msgstr "สัญญาณ" #: editor/connections_dialog.cpp msgid "Filter signals" -msgstr "ตัวกรองสัญญาณ" +msgstr "กรองสัญญาณ" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" @@ -954,7 +947,6 @@ msgid "Edit..." msgstr "แก้ไข..." #: editor/connections_dialog.cpp -#, fuzzy msgid "Go to Method" msgstr "ไปยังเมธอด" @@ -976,7 +968,7 @@ msgstr "ไม่มีผลลัพธ์สำหรับ \"%s\"" #: 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 @@ -1009,7 +1001,7 @@ msgstr "รายละเอียด:" #: editor/dependency_editor.cpp msgid "Search Replacement For:" -msgstr "หาตัวแทนของ:" +msgstr "หาตัวแทนสำหรับ:" #: editor/dependency_editor.cpp msgid "Dependencies For:" @@ -1043,13 +1035,14 @@ msgstr "ทรัพยากร" #: editor/dependency_editor.cpp editor/editor_autoload_settings.cpp #: editor/project_manager.cpp editor/project_settings_editor.cpp msgid "Path" -msgstr "เส้นทาง" +msgstr "ตำแหน่ง" #: editor/dependency_editor.cpp msgid "Dependencies:" msgstr "การอ้างอิง:" #: editor/dependency_editor.cpp +#, fuzzy msgid "Fix Broken" msgstr "ซ่อมแซม" @@ -1168,7 +1161,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" @@ -1276,11 +1269,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" @@ -1550,7 +1543,7 @@ msgstr "ไม่พบไฟล์" #: 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" @@ -1565,7 +1558,7 @@ msgstr "ตำแหน่ง:" #: editor/editor_autoload_settings.cpp msgid "Node Name:" -msgstr "ชื่อโหนด:" +msgstr "ชื่อโนด:" #: editor/editor_autoload_settings.cpp editor/editor_help_search.cpp #: editor/editor_plugin_settings.cpp editor/editor_profiler.cpp @@ -1675,8 +1668,8 @@ msgid "" "Target platform requires 'PVRTC' texture compression for GLES2. Enable " "'Import Pvrtc' in Project Settings." msgstr "" -"แพลตฟอร์มเป้าหมายต้องการการบีบอัดเทกเจอร์ 'ETC' สำหรับ GLES2 กรุณาเปิด 'Import Etc' " -"ในตั้งค่าโปรเจ็ค" +"แพลตฟอร์มเป้าหมายจำเป็นต้องมีการบีบอัดเทกเจอร์ 'PVRTC' สำหรับ GLES2 เปิด 'Import " +"Pvrtc' ในการตั้งค่าโปรเจ็ค" #: editor/editor_export.cpp msgid "" @@ -1734,47 +1727,49 @@ msgstr "แก้ไขผังฉาก" #: editor/editor_feature_profile.cpp msgid "Node Dock" -msgstr "แผงโหนด" +msgstr "หน้าต่างโหนด" #: editor/editor_feature_profile.cpp msgid "FileSystem Dock" -msgstr "แผงระบบไฟล์" +msgstr "หน้าต่างระบบไฟล์" #: editor/editor_feature_profile.cpp msgid "Import Dock" -msgstr "นำเข้าแผง" +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 "ให้เครื่องมือ built-in ที่ใช้ดาวน์โหลดจาก Asset Library ได้" #: 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 "" +"สามารถตั้งค่าการนำเข้าการตั้งต่าสำหรับ asset ต่าง ๆ ได้ ต้องการหน้าต่าง FileSystem " +"เพื่อใช้งานฟังก์ชันนี้" #: editor/editor_feature_profile.cpp #, fuzzy @@ -1783,11 +1778,11 @@ 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 '.'" @@ -1894,7 +1889,7 @@ msgstr "ตัวเลือก Texture" #: 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:" @@ -2127,14 +2122,34 @@ msgstr "เมธอด" msgid "Theme Properties" msgstr "คุณสมบัติธีม" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "อีนัม" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Colors" +msgstr "สี" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "ค่าคงที่" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Fonts" +msgstr "ฟอนต์" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Icons" +msgstr "รูปย่อ" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Styles" +msgstr "รูปแบบ" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "ค่าคงที่แบบมีความหมาย" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "รายละเอียดของคุณสมบัติ" @@ -2287,7 +2302,7 @@ msgstr "ขึ้น" #: editor/editor_network_profiler.cpp editor/editor_node.cpp msgid "Node" -msgstr "โหนด" +msgstr "โนด" #: editor/editor_network_profiler.cpp msgid "Incoming RPC" @@ -2510,7 +2525,7 @@ msgstr "ยังไม่ได้เลือกฉากที่จะเล #: editor/editor_node.cpp msgid "Save scene before running..." -msgstr "บันทึกฉากก่อนที่จะทำงาน..." +msgstr "บันทึกฉากก่อนที่จะรัน..." #: editor/editor_node.cpp msgid "Could not start subprocess!" @@ -2555,11 +2570,10 @@ msgid "" msgstr "" #: 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 "จำเป็นต้องมีโนดรากในการบันทึกฉาก คุณสามารถเพิ่มโนดรากได้ด้วยแผง Scene tree" #: editor/editor_node.cpp msgid "Save Scene As..." @@ -2575,7 +2589,7 @@ msgstr "ส่งออกไลบรารี Mesh" #: editor/editor_node.cpp msgid "This operation can't be done without a root node." -msgstr "ไม่สามารถกระทำได้สำเร็จถ้าไม่มีโหนดแม่" +msgstr "ไม่สามารถกระทำได้หากไม่มีโนดราก" #: editor/editor_node.cpp msgid "Export Tile Set" @@ -2583,7 +2597,7 @@ msgstr "ส่งออก Tile Set" #: editor/editor_node.cpp msgid "This operation can't be done without a selected node." -msgstr "ทำไม่ได้ถ้าไม่ได้เลือกโหนด" +msgstr "ไม่สามารถกระทำได้หากไม่ได้เลือกโนด" #: editor/editor_node.cpp msgid "Current scene not saved. Open anyway?" @@ -2701,8 +2715,9 @@ msgid "" "error in that script.\n" "Disabling the addon at '%s' to prevent further errors." msgstr "" -"ไม่สามารถโหลดสคริปต์ส่วนเสริมจาก: '%s' เหมือนว่าจะเกิดข้อผิดพลาดขึ้นในโค้ด " -"กรุณาเช็ตรูปแบบการเขียนโค้ด" +"ไม่สามารถโหลดสคริปต์ addon จากเส้นทาง: '%s' นี่อาจจะเกิดจากข้อผิดพลาดของโค้ดในสคริปต์นั้น " +"กรุณาเช็ตรูปแบบการเขียนโค้ด\n" +"ปิดการใช้งานส่วนเสริมที่ '%s' เพื่อป้องกันข้อผิดพลาดเพิ่มเติม" #: editor/editor_node.cpp msgid "" @@ -2901,7 +2916,7 @@ msgstr "ไทล์เซต..." #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Undo" -msgstr "เลิกทำ" +msgstr "ยกเลิกการกระทำ" #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp @@ -2951,7 +2966,7 @@ msgstr "เครื่องมือ" #: editor/editor_node.cpp msgid "Orphan Resource Explorer..." -msgstr "การใช้ทรัพยากร" +msgstr "ตัวดูทรัพยากรที่ไม่ได้ใช้" #: editor/editor_node.cpp #, fuzzy @@ -2969,7 +2984,7 @@ msgstr "ดีบัก" #: editor/editor_node.cpp msgid "Deploy with Remote Debug" -msgstr "Deploy พร้อมดีบักผ่านเครือข่าย" +msgstr "Deploy พร้อมการแก้ไขจุดบกพร่องผ่านเครือข่าย" #: editor/editor_node.cpp msgid "" @@ -3160,7 +3175,7 @@ msgstr "หยุดฉาก" #: editor/editor_node.cpp msgid "Stop the scene." -msgstr "หยุด" +msgstr "หยุดการเล่นฉาก" #: editor/editor_node.cpp msgid "Play the edited scene." @@ -3338,7 +3353,7 @@ msgstr "เปิดตัวแก้ไขสคริปต์" #: editor/editor_node.cpp editor/project_manager.cpp msgid "Open Asset Library" -msgstr "เปิดแหล่งรวมทรัพยากร" +msgstr "เปิดไลบรารีทรัพยากร" #: editor/editor_node.cpp msgid "Open the next Editor" @@ -3383,7 +3398,7 @@ msgstr "ปลั๊กอินที่ติดตั้งแล้ว:" #: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp msgid "Update" -msgstr "อัพเดท" +msgstr "อัปเดต" #: editor/editor_plugin_settings.cpp #, fuzzy @@ -3972,7 +3987,7 @@ msgid "" "\n" "Do you wish to overwrite them?" msgstr "" -"ไฟล์หรือโฟลเดอร์ต่อไปนี้มีความขัดแย้งกับรายการในตำแหน่งเป้าหมาย '%s':\n" +"ไฟล์หรือโฟลเดอร์ต่อไปนี้นั้นขัดแย้งกันกับรายการในตำแหน่งที่เลือกไว้ '%s':\n" "\n" "%s\n" "\n" @@ -4107,7 +4122,7 @@ msgstr "โฟลเดอร์/ไฟล์ ถัดไป" #: editor/filesystem_dock.cpp msgid "Re-Scan Filesystem" -msgstr "สแกนระบบไฟล์ใหม่" +msgstr "สแกนไฟล์ใหม่" #: editor/filesystem_dock.cpp msgid "Toggle Split Mode" @@ -4165,10 +4180,11 @@ msgid "Filters:" msgstr "ตัวกรอง:" #: editor/find_in_files.cpp +#, fuzzy msgid "" "Include the files with the following extensions. Add or remove them in " "ProjectSettings." -msgstr "ใช้ไฟล์ที่มีนามสกุลเหล่านี้ เพิ่มหรือลบได้ในการตั้งค่าโปรเจคต์" +msgstr "ใช้ไฟล์ที่มีนามสกุลเหล่านี้ เพิ่มหรือลบได้ในการตั้งค่าโปรเจค" #: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -4221,7 +4237,7 @@ msgstr "กลุ่มนี้มีอยู่แล้ว" #: editor/groups_editor.cpp msgid "Invalid group name." -msgstr "ชื่อกลุ่มผิดพลาด" +msgstr "ชื่อกลุ่มผิด" #: editor/groups_editor.cpp msgid "Rename Group" @@ -4242,7 +4258,7 @@ msgstr "โหนดไม่ได้อยู่ในกลุ่ม" #: editor/groups_editor.cpp editor/scene_tree_dock.cpp #: editor/scene_tree_editor.cpp msgid "Filter nodes" -msgstr "ตัวกรอง" +msgstr "ตัวกรองโนด" #: editor/groups_editor.cpp msgid "Nodes in Group" @@ -4387,7 +4403,7 @@ msgstr "นำเข้าเป็น:" #: editor/import_dock.cpp msgid "Preset" -msgstr "พรีเซ็ต (ค่าตั้งล่วงหน้า)" +msgstr "พรีเซ็ต" #: editor/import_dock.cpp msgid "Save Scenes, Re-Import, and Restart" @@ -4395,7 +4411,7 @@ msgstr "บันทึกฉาก, นำเข้าและเริ่ม #: editor/import_dock.cpp msgid "Changing the type of an imported file requires editor restart." -msgstr "การเปลี่ยนแปลงชนิดของไฟล์ที่นำเข้า จำเป็นต้องเริ่มตัวแก้ไขใหม่" +msgstr "การเปลี่ยนแปลงชนิดของไฟล์ที่นำเข้า จำเป็นต้องเริ่มโปรแกรมใหม่" #: editor/import_dock.cpp msgid "" @@ -5069,7 +5085,7 @@ msgstr "ทันที" #: editor/plugins/animation_state_machine_editor.cpp msgid "Sync" -msgstr "ซิงค์" +msgstr "ซิงก์" #: editor/plugins/animation_state_machine_editor.cpp msgid "At End" @@ -5340,7 +5356,7 @@ msgstr "วนรอบการเปลี่ยนเส้นทาง" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, timeout" -msgstr "การร้องขอผิดพลาด, หมดเวลา" +msgstr "การร้องขอผิดพลาด ใช้เวลานานเกินไป:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Timeout." @@ -5507,8 +5523,8 @@ msgid "" "Can't determine a save path for lightmap images.\n" "Save your scene and try again." msgstr "" -"ไม่สามารถกำหนดตำแหน่งการบันทึกสำหรับภาพ lightmap\n" -"ลองบันทึกฉากของคุณแล้วลองอีกครั้ง" +"ไม่สามารถกำหนดตำแหน่งการบันทึกสำหรับภาพไลท์แมป\n" +"บันทึกฉากของคุณแล้วลองอีกครั้ง" #: editor/plugins/baked_lightmap_editor_plugin.cpp #, fuzzy @@ -5524,7 +5540,7 @@ msgstr "ผิดพลาดขณะสร้างภาพ lightmap กร #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "Failed determining lightmap size. Maximum lightmap size too small?" -msgstr "การกำหนดขนาด lightmap ล้มเหลว ขนาด lightmap สูงสุดเล็กเกินไป?" +msgstr "การกำหนดขนาดไลท์แมปล้มเหลว ขนาดไลท์แมปสูงสุดเล็กเกินไป?" #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "" @@ -5858,11 +5874,8 @@ msgstr "ลบโหนดหรือทรานสิชันที่เล #: 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+RMB: แสดงรายการโหนดทั้งหมดที่ตำแหน่งคลิก รวมถึงโหนดที่ถูกล็อก" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "RMB: Add node at position clicked." @@ -6357,7 +6370,7 @@ msgstr "กด Shift ค้างเพื่อปรับเส้นสั #: editor/plugins/curve_editor_plugin.cpp msgid "Right click to add point" -msgstr "คลิกขวาเพื่อลบจุด" +msgstr "คลิกขวาเพื่อเพิ่มจุด" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" @@ -6430,7 +6443,7 @@ msgstr "ไม่สามารถสร้างรูปร่างขอบ #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Multiple Convex Shapes" -msgstr "สร้างรูปทรงนูนแบบหลายอัน" +msgstr "สร้างรูปทรงนูนหลายอัน" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Navigation Mesh" @@ -6777,7 +6790,7 @@ msgstr "จุดพื้นผิว+เส้นบอกทิศ" #: editor/plugins/particles_editor_plugin.cpp msgid "Volume" -msgstr "ปริมาตร" +msgstr "ระดับเสียง" #: editor/plugins/particles_editor_plugin.cpp msgid "Emission Source: " @@ -6943,7 +6956,7 @@ msgid "" "Set a texture to be able to edit UV." msgstr "" "ไม่มีเทกเจอร์ในโพลีกอน\n" -"ตั้งเทกเจอร์เพื่อที่จะแก้ไข UV ได้" +"ตั้งเทกเจอร์เพื่อที่จะปรับแต่ง UV ได้" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create UV Map" @@ -6969,7 +6982,7 @@ msgstr "ลบจุดยอดภายใน" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Invalid Polygon (need 3 different vertices)" -msgstr "รูปโพลีกอนผิดพลาด (จำเป็นต้องมีจุดยอดที่แตกต่างกัน 3 จุด)" +msgstr "รูปหลายเหลี่ยมผิดพลาด (ต้องการจุดที่ต่างกัน 3 จุด)" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Add Custom Polygon" @@ -7065,7 +7078,7 @@ msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Paint weights with specified intensity." -msgstr "เติมน้ำหนักตามที่กำหนด" +msgstr "ทาสีด้วยความเข้มที่กำหนด" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Unpaint weights with specified intensity." @@ -7317,7 +7330,7 @@ msgstr "ค้นหาก่อนหน้า" #: editor/plugins/script_editor_plugin.cpp msgid "Filter scripts" -msgstr "สคริปต์ตัวกรอง" +msgstr "ตัวกรองสคริปต์" #: editor/plugins/script_editor_plugin.cpp msgid "Toggle alphabetical sorting of the method list." @@ -7445,7 +7458,7 @@ msgstr "เปิดตัวดีบักค้างไว้" #: editor/plugins/script_editor_plugin.cpp msgid "Debug with External Editor" -msgstr "ดีบักด้วยตัวแก้ไขภายนอก" +msgstr "ดีบั๊กด้วยโปรแกรมภายนอก" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/shader_editor_plugin.cpp @@ -7458,11 +7471,11 @@ msgstr "เปิดคู่มือออนไลน์" #: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." -msgstr "ค้นหาคู่มือ" +msgstr "ค้นหาคู่มืออ้างอิง" #: editor/plugins/script_editor_plugin.cpp msgid "Go to previous edited document." -msgstr "ไปเอกสารก่อนหน้า" +msgstr "ไปเอกสารที่ถูกเปลี่ยนแปลงก่อนหน้า" #: editor/plugins/script_editor_plugin.cpp msgid "Go to next edited document." @@ -7490,7 +7503,7 @@ msgstr "ผลการค้นหา" #: editor/plugins/script_editor_plugin.cpp msgid "Clear Recent Scripts" -msgstr "เคลียร์สคริปต์ล่าสุด" +msgstr "ล้างสคริปต์ล่าสุด" #: editor/plugins/script_text_editor.cpp msgid "Connections to method:" @@ -8567,21 +8580,6 @@ 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 "StyleBox" @@ -10527,7 +10525,7 @@ msgstr "(โหมดแฟรกเมนต์/แสง เท่านั้ #: editor/plugins/visual_shader_editor_plugin.cpp msgid "VisualShader" -msgstr "เวอร์ชวลเชดเดอร์" +msgstr "VisualShader" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -11566,7 +11564,7 @@ msgstr "ค่าเริ่มต้นในการนับ" #: editor/rename_dialog.cpp msgid "Step" -msgstr "ขั้น" +msgstr "ช่วง" #: editor/rename_dialog.cpp msgid "Amount by which counter is incremented for each node" @@ -12313,7 +12311,7 @@ msgstr "ตำแหน่งรีซอร์ส" #: editor/script_editor_debugger.cpp msgid "Type" -msgstr "ชนิด" +msgstr "ประเภท" #: editor/script_editor_debugger.cpp msgid "Format" @@ -13348,8 +13346,15 @@ msgid "\"Use Custom Build\" must be enabled to use the plugins." msgstr "\"Use Custom Build\" จำเป็นต้องเปิดการใช้งานหากจะใช้ปลั๊กอิน" #: platform/android/export/export_plugin.cpp +#, fuzzy msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "\"Hand Tracking\" จะสามารถใช้ได้เมื่อ \"Xr Mode\" เป็น \"Oculus Mobile VR\"" + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "\"Hand Tracking\" จะสามารถใช้ได้เมื่อ \"Xr Mode\" เป็น \"Oculus Mobile VR\"" #: platform/android/export/export_plugin.cpp @@ -13357,6 +13362,23 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "\"Export AAB\" จะใช้ได้เฉพาะเมื่อเปิดใช้งาน \"Use Custom Build\"" #: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "\"Export AAB\" จะใช้ได้เฉพาะเมื่อเปิดใช้งาน \"Use Custom Build\"" + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "\"Export AAB\" จะใช้ได้เฉพาะเมื่อเปิดใช้งาน \"Use Custom Build\"" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " @@ -13371,9 +13393,7 @@ msgstr "" #: platform/android/export/export_plugin.cpp #, fuzzy msgid "Signing release %s..." -msgstr "" -"กำลังสแกนไฟล์,\n" -"กรุณารอ..." +msgstr "กำลังเซ็น %s..." #: platform/android/export/export_plugin.cpp #, fuzzy @@ -13439,9 +13459,8 @@ msgid "" msgstr "" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Could not export project files to gradle project\n" -msgstr "ไม่พบไฟล์ project.godot" +msgstr "ไม่สามารถส่งออกไฟล์โปรเจคไปยังโปรเจค gradle ได้\n" #: platform/android/export/export_plugin.cpp #, fuzzy @@ -13482,11 +13501,12 @@ msgid "Creating APK..." msgstr "กำลังสร้างคอนทัวร์..." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "" "Could not find template APK to export:\n" "%s" -msgstr "เปิดเทมเพลตเพื่อส่งออกไม่ได้:" +msgstr "" +"ไม่พบเทมเพลต APK สำหรับการส่งออก:\n" +"%s" #: platform/android/export/export_plugin.cpp msgid "" @@ -14450,1922 +14470,3 @@ msgstr "การกำหนดให้กับยูนิฟอร์ม" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "ค่าคงที่ไม่สามารถแก้ไขได้" - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "สร้างท่าโพส (จากโครง)" - -#~ msgid "Bottom" -#~ msgstr "ล่าง" - -#~ msgid "Left" -#~ msgstr "ซ้าย" - -#~ msgid "Right" -#~ msgstr "ขวา" - -#~ msgid "Front" -#~ msgstr "หน้า" - -#~ msgid "Rear" -#~ msgstr "หลัง" - -#~ msgid "Nameless gizmo" -#~ msgstr "กิสโมไม่มีชื่อ" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "\"Degrees Of Freedom\" จะใช้ได้เฉพาะเมื่อ \"Xr Mode\" เป็น \"Oculus Mobile VR\"" - -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "\"Focus Awareness\" จะสามารถใช้ได้เมื่อ \"Xr Mode\" เป็น \"Oculus Mobile VR\"" - -#~ msgid "Package Contents:" -#~ msgstr "เนื้อหาแพคเกจ:" - -#~ msgid "Singleton" -#~ msgstr "ซิงเกิลตัน" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "ลบโปรไฟล์ '%s' หรือไม่? (ทำกลับไม่ได้)" - -#~ msgid "Enabled Properties:" -#~ msgstr "เปิดการทำงานคุณสมบัติ:" - -#~ msgid "Enabled Features:" -#~ msgstr "เปิดการทำงานฟีเจอร์:" - -#~ msgid "Unset" -#~ msgstr "ยกเลิกการตั้งค่า" - -#~ msgid "Class Options" -#~ msgstr "ตั้งค่าคลาส" - -#~ msgid "Set" -#~ msgstr "กำหนด" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "บันทึกทรัพยากร %s ที่ถูกแก้ไขสำเร็จ" - -#~ msgid "Q&A" -#~ msgstr "ถาม/ตอบ" - -#~ msgid "Status:" -#~ msgstr "สถานะ:" - -#~ msgid "Edit:" -#~ msgstr "แก้ไข:" - -#~ msgid "Redownload" -#~ msgstr "ดาวน์โหลดอีกครั้ง" - -#~ msgid "(Installed)" -#~ msgstr "(ติดตั้งแล้ว)" - -#~ msgid "(Missing)" -#~ msgstr "(ไม่พบ)" - -#~ msgid "Request Failed." -#~ msgstr "ร้องขอผิดพลาด" - -#~ msgid "Redirect Loop." -#~ msgstr "เปลี่ยนทางมากเกินไป" - -#~ msgid "Download Complete." -#~ msgstr "ดาวน์โหลดเสร็จสิ้น" - -#~ msgid "Remove Template" -#~ msgstr "ลบเทมเพลต" - -#~ msgid "Download Templates" -#~ msgstr "ดาวน์โหลดเทมเพลต" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "เลือก mirror จากรายชื่อ: (Shift+คลิก: เปิดในเบราเซอร์)" - -#~ msgid "Move to Trash" -#~ msgstr "ย้ายไปถังขยะ" - -#~ msgid "Expand All Properties" -#~ msgstr "ขยายคุณสมบัติทั้งหมด" - -#~ msgid "Collapse All Properties" -#~ msgstr "ยุบคุณสมบัติทั้งหมด" - -#~ msgid "Copy Params" -#~ msgstr "คัดลอกพารามิเตอร์" - -#~ msgid "Open in Help" -#~ msgstr "เปิดในคู่มือ" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "เขียนทับกล้องของเกมส์\n" -#~ "ไม่มีอินสแตนซ์ของเกมส์ทำงานอยู่" - -#~ msgid "Drag: Rotate" -#~ msgstr "ลาก: หมุน" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "กด 'v' เพื่อเปลี่ยนจุดหมุน 'Shift+v' เพื่อลากจุดหมุน" - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+คลิกขวา: เลือกที่ซ้อนกัน" - -#~ msgid "Clone Down" -#~ msgstr "คัดลอกบรรทัดลงมา" - -#~ msgid "Yaw" -#~ msgstr "Yaw" - -#~ msgid "Size" -#~ msgstr "ขนาด" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "ลาก: หมุน\n" -#~ "Alt+ลาก: ย้าย\n" -#~ "Alt+คลิกขวา: เลือกที่ซ้อนกัน" - -#~ msgid "Sep.:" -#~ msgstr "หมวดหมู่:" - -#~ msgid "Add All" -#~ msgstr "เพิ่มทั้งหมด" - -#~ msgid "Theme editing menu." -#~ msgstr "เมนูแก้ไขธีม" - -#~ msgid "Create Empty Template" -#~ msgstr "สร้างเทมเพลตเปล่า" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "สร้างแม่แบบเปล่าสำหรับตัวแก้ไข" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "สร้างจากธีมปัจจุบัน" - -#~ msgid "Data Type:" -#~ msgstr "ชนิดข้อมูล:" - -#~ msgid "Theme File" -#~ msgstr "ไฟล์ธีม" - -#~ msgid "Compiled" -#~ msgstr "คอมไพล์แล้ว" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "ลบโปรเจกต์ออกจากรายชื่อ? \n" -#~ "โฟลเดอร์จะไม่ถูกแก้ไข" - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "ลบโปรเจกต์ออกจากรายชื่อ?\n" -#~ "โฟลเดอร์จะไม่ถูกแก้ไข" - -#~ msgid "Templates" -#~ msgstr "เทมเพลต" - -#~ msgid "Add Remapped Path" -#~ msgstr "เพิ่มตำแหน่งแทนที่" - -#~ msgid "Can not perform with the root node." -#~ msgstr "ไม่สามารถกระทำกับโหนดแม่ได้" - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "ไม่สามารถอ่านไฟล์ภาพขณะเริ่มเกม:" - -#~ msgid "Using default boot splash image." -#~ msgstr "ใช้ภาพขณะเริ่มเกมปริยาย" - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "แทร็กอนิเมชั่นไม่สามารถเล่นตัวมันเองได้ แต่สามารถเล่นตัวเล่นอื่นได้" - -#~ msgid "Clipboard is empty" -#~ msgstr "คลิปบอร์ดว่างเปล่า" - -#~ msgid "" -#~ "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -#~ msgstr "InterpolatedCamera เลิกใช้งานแล้วและจะถูกลบออกใน Godot 4.0" - -#~ msgid "No" -#~ msgstr "ไม่" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "ฉากนี้ยังไม่ได้บันทึก บันทึกก่อนเริ่ม?" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "ADB executable ยังไม่ได้กำหนดค่าในตั้งค่าเอดิเตอร์" - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "OpenJDK jarsigner ยังไม่ได้กำหนดค่าในตั้งค่าเอดิเตอร์" - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "การสร้างแบบกำหนดเองต้องมีที่อยู่ Android SDK ในการตั้งค่าเอดิเตอร์" - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(เหลืออีก: %d:%02d วิ)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "วางแนว meshes: " - -#~ msgid "Lighting Meshes: " -#~ msgstr "ส่องแสงบนพื้นผิว: " - -#~ msgid "Search complete" -#~ msgstr "ค้นหาสำเร็จ" - -#~ msgid "No commit message was provided" -#~ msgstr "ไม่ได้ระบุข้อความ commit" - -#~ msgid "Add a commit message" -#~ msgstr "เพิ่มข้อความ commit" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "มีไฟล์หรือโฟลเดอร์ชื่อเดียวกันอยู่แล้ว" - -#~ msgid "Unable to complete APK alignment." -#~ msgstr "ไม่สามารถจัดเรียง APK ได้สำเร็จ" - -#~ msgid "Unable to delete unaligned APK." -#~ msgstr "ไม่สามารถลบ APK ที่ยังไม่จัดเรียง" - -#~ msgid "Error trying to save layout!" -#~ msgstr "ผิดพลาดขณะบันทึกเลย์เอาต์!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "แทนที่เลย์เอาต์เริ่มต้น" - -#~ msgid "Move pivot" -#~ msgstr "ย้ายจุดหมุน" - -#~ msgid "Move anchor" -#~ msgstr "ย้ายจุดยึด (anchor)" - -#~ msgid "Resize CanvasItem" -#~ msgstr "แก้ขนาด CanvasItem" - -#~ msgid "Polygon->UV" -#~ msgstr "รูปหลายเหลี่ยม->UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV->รูปหลายเหลี่ยม" - -#~ msgid "Add initial export..." -#~ msgstr "เพิ่มการส่งออกเริ่มต้น..." - -#~ msgid "Add previous patches..." -#~ msgstr "เพิ่มแพทช์ก่อนหน้า..." - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "ลบแพตช์ '%s' จากรายชื่อ?" - -#~ msgid "Patches" -#~ msgstr "แพตช์" - -#~ msgid "Make Patch" -#~ msgstr "สร้างแพตช์" - -#~ msgid "Pack File" -#~ msgstr "ไฟล์" - -#~ msgid "No build apk generated at: " -#~ msgstr "ไม่มีการสร้าง apk ที่: " - -#, fuzzy -#~ msgid "FileSystem and Import Docks" -#~ msgstr "ระบบไฟล์ และ นำเข้า" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "เมื่อส่งออก โปรแกรมจะพยายามเชื่อมต่อมายังคอมพิวเตอร์เครื่องนี้เพื่อทำการแก้ไขจุดบกพร่อง" - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "ฉากปัจจุบันยังไม่ได้บันทึก กรุณาบันทึกก่อนเริ่มโปรแกรม" - -#~ msgid "Revert" -#~ msgstr "คืนกลับ" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "การคืนกลับไม่สามารถยกเลิกได้ คืนกลับ?" - -#~ msgid "Revert Scene" -#~ msgstr "คืนกลับฉาก" - -#~ msgid "Clear Script" -#~ msgstr "ลบสคริปต์" - -#~ msgid "Issue Tracker" -#~ msgstr "ติดตามปัญหา" - -#~ msgid "Request Docs" -#~ msgstr "ร้องขอคู่มือ" - -#~ msgid "Help improve the Godot documentation by giving feedback." -#~ msgstr "ช่วยพัฒนาคู่มือโดยการให้ข้อเสนอแนะ" - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "แทนที่แล้ว %d ครั้ง" - -#~ msgid "Create Static Convex Body" -#~ msgstr "สร้าง StaticBody ทรงตัน" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "คลาสนี้ยังไม่มีการสอนการใช้งาน ท่านสามารถ[color=$color][url=$url]ช่วยเขียน[/url][/" -#~ "color] หรือ [color=$color][url=$url2]ขอให้จัดทำ[/url][/color]" - -#~ msgid "enum " -#~ msgstr "กลุ่มค่าคงที่ " - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "รายละเอียด:" - -#, fuzzy -#~ msgid "Class Description" -#~ msgstr "รายละเอียด" - -#~ msgid "Password:" -#~ msgstr "รหัสผ่าน:" - -#~ msgid "Pause the scene" -#~ msgstr "หยุดชั่วคราว" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Control+" -#~ msgstr "Control+" - -#, fuzzy -#~ msgid "Snap to Grid" -#~ msgstr "จำกัดด้วยเส้นตาราง" - -#, fuzzy -#~ msgid "Add input +" -#~ msgstr "เพิ่มอินพุต" - -#~ msgid "Language" -#~ msgstr "ภาษา" - -#~ msgid "Inherits" -#~ msgstr "สืบทอดจาก" - -#~ msgid "Base Type:" -#~ msgstr "ชนิด:" - -#~ msgid "Available Nodes:" -#~ msgstr "โหนดที่มีให้ใช้:" - -#, fuzzy -#~ msgid "Input" -#~ msgstr "เพิ่มอินพุต" - -#, fuzzy -#~ msgid "Methods:" -#~ msgstr "รายชื่อเมท็อด" - -#, fuzzy -#~ msgid "Theme Properties:" -#~ msgstr "คุณสมบัติ:" - -#~ msgid "Enumerations:" -#~ msgstr "ค่าคงที่:" - -#~ msgid "Constants:" -#~ msgstr "ค่าคงที่:" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "รายละเอียด:" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "รายละเอียดตัวแปร:" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "รายละเอียดเมท็อด:" - -#, fuzzy -#~ msgid "Reverse sorting." -#~ msgstr "กำลังร้องขอ..." - -#~ msgid "Delete Node(s)?" -#~ msgstr "ลบโหนด?" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "เปิดไฟล์ file_type_cache.cch เพื่อเขียนไม่ได้ จะไม่บันทึกแคชของชนิดไฟล์!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "ไม่สามารถไปยัง '%s' เนื่องจากไม่พบในระบบ!" - -#~ msgid "Error loading image:" -#~ msgstr "ผิดพลาดขณะโหลดรูป:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "รูปไม่มีพิกเซลใดที่ความโปร่งแสง > 128 ..." - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "โหนดแม่ไม่มีพื้นผิวเพื่อสร้าง" - -#~ msgid "Couldn't map area." -#~ msgstr "ไม่สามารถวางพื้นที่" - -#~ msgid "Faces contain no area!" -#~ msgstr "หน้าไม่มีพื้นที่!" - -#~ msgid "No faces!" -#~ msgstr "ไม่มีหน้า!" - -#, fuzzy -#~ msgid "Error: could not load file." -#~ msgstr "โหลดภาพไม่ได้" - -#, fuzzy -#~ msgid "Error could not load file." -#~ msgstr "โหลดภาพไม่ได้" - -#~ msgid "Doppler Enable" -#~ msgstr "เปิดดอปเพลอร์" - -#~ msgid "Select Mode (Q)" -#~ msgstr "โหมดเลือก (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "โหมดเคลื่อนย้าย (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "โหมดหมุน (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "โหมดปรับขนาด (R)" - -#~ msgid "Local Coords" -#~ msgstr "พิกัดภายใน" - -#~ msgid "Snap Mode (%s)" -#~ msgstr "โหมดการจำกัด (%s)" - -#~ msgid "Tool Select" -#~ msgstr "เครื่องมือเลือก" - -#~ msgid "Tool Move" -#~ msgstr "เครื่องมือย้าย" - -#~ msgid "Tool Rotate" -#~ msgstr "เครื่องมือหมุน" - -#~ msgid "Tool Scale" -#~ msgstr "เครื่องมือปรับขนาด" - -#, fuzzy -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "ลบโปรเจกต์ออกจากรายชื่อ? (โฟลเดอร์จะไม่ถูกลบ)" - -#~ msgid "Project List" -#~ msgstr "รายชื่อโปรเจกต์" - -#~ msgid "Exit" -#~ msgstr "ออก" - -#~ msgid "Could not execute PVRTC tool:" -#~ msgstr "ใช้เครื่องมือ PVRTC ไม่ได้:" - -#~ msgid "Can't load back converted image using PVRTC tool:" -#~ msgstr "โหลดรูปที่แปลงแล้วด้วยเครื่องมือ PVRTC ไม่ได้:" - -#~ msgid "Error initializing FreeType." -#~ msgstr "ผิดพลาดขณะเริ่มต้น FreeType" - -#~ msgid "Unknown font format." -#~ msgstr "ไม่ทราบประเภทของฟอนต์" - -#~ msgid "Error loading font." -#~ msgstr "ผิดพลาดขณะโหลดฟอนต์" - -#~ msgid "Invalid font size." -#~ msgstr "ขนาดฟอนต์ผิดพลาด" - -#, fuzzy -#~ msgid "Previous Folder" -#~ msgstr "ไปชั้นล่าง" - -#, fuzzy -#~ msgid "Next Folder" -#~ msgstr "ไปชั้นบน" - -#, fuzzy -#~ msgid "Open in an external image editor." -#~ msgstr "เปิดตัวแก้ไขถัดไป" - -#~ msgid "Reverse" -#~ msgstr "ย้อนกลับ" - -#~ msgid "Mirror X" -#~ msgstr "สะท้อนซ้ายขวา" - -#~ msgid "Mirror Y" -#~ msgstr "สะท้อนบนล่าง" - -#~ msgid "Generating solution..." -#~ msgstr "กำลังสร้าง solution..." - -#~ msgid "Generating C# project..." -#~ msgstr "กำลังสร้างโปรเจกต์ C#..." - -#~ msgid "Failed to create solution." -#~ msgstr "ผิดพลาดในการสร้าง solution" - -#~ msgid "Failed to save solution." -#~ msgstr "ผิดพลาดในการบันทึก solution" - -#~ msgid "Failed to create C# project." -#~ msgstr "ผิดพลาดในการสร้างโปรเจกต์ C#" - -#~ msgid "Mono" -#~ msgstr "โมโน" - -#~ msgid "About C# support" -#~ msgstr "เกี่ยวกับการสนับสนุน C#" - -#~ msgid "Create C# solution" -#~ msgstr "สร้าง C# solution" - -#~ msgid "Builds" -#~ msgstr "สร้าง" - -#~ msgid "Build Project" -#~ msgstr "Build โปรเจกต์" - -#, fuzzy -#~ msgid "View log" -#~ msgstr "ดูไฟล์" - -#, fuzzy -#~ msgid "Enabled Classes" -#~ msgstr "ค้นหาคลาส" - -#~ msgid "Update Always" -#~ msgstr "อัพเดทตลอดเวลา" - -#~ msgid "Raw Mode" -#~ msgstr "โหมด Raw" - -#~ msgid "Path to Node:" -#~ msgstr "ตำแหน่งที่อยู่โหนด:" - -#~ msgid "Delete selected files?" -#~ msgstr "ลบไฟล์ที่เลือก?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "ไม่พบไฟล์ 'res://default_bus_layout.tres'" - -#~ msgid "Go to parent folder" -#~ msgstr "ไปยังโฟลเดอร์หลัก" - -#~ msgid "Open Scene(s)" -#~ msgstr "เปิดไฟล์ฉาก" - -#~ msgid "Previous Directory" -#~ msgstr "โฟลเดอร์ก่อนหน้า" - -#~ msgid "Next Directory" -#~ msgstr "โฟลเดอร์ถัดไป" - -#~ msgid "Ease in" -#~ msgstr "เข้านุ่มนวล" - -#~ msgid "Ease out" -#~ msgstr "ออกนุ่มนวล" - -#~ msgid "Create Convex Static Body" -#~ msgstr "สร้าง StaticBody ทรงตัน" - -#~ msgid "CheckBox Radio1" -#~ msgstr "ปุ่มเรดิโอ 1" - -#~ msgid "CheckBox Radio2" -#~ msgstr "ปุ่มเรดิโอ 2" - -#~ msgid "Create folder" -#~ msgstr "สร้างโฟลเดอร์" - -#, fuzzy -#~ msgid "Custom Node" -#~ msgstr "ตัดโหนด" - -#~ msgid "Invalid Path" -#~ msgstr "ตำแหน่งผิดพลาด" - -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "ทำซ้ำใน GridMap" - -#~ msgid "Create Area" -#~ msgstr "สร้างพื้นที่ใหม่" - -#~ msgid "Create Exterior Connector" -#~ msgstr "สร้างจุดเชื่อมต่อภายนอก" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "แก้ไขตัวแปรสัญญาณ:" - -#~ msgid "Edit Variable:" -#~ msgstr "แก้ไขตัวแปร:" - -#, fuzzy -#~ msgid "Snap (s): " -#~ msgstr "Snap (พิกเซล):" - -#, fuzzy -#~ msgid "Insert keys." -#~ msgstr "เพิ่มคีย์" - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "อินสแตนซ์ฉากที่เลือกให้เป็นโหนดลูกของโหนดที่เลือก" - -#, fuzzy -#~ msgid "Font Size:" -#~ msgstr "ขนาดฟอนต์ต้นฉบับ:" - -#~ msgid "Line:" -#~ msgstr "บรรทัด:" - -#~ msgid "Col:" -#~ msgstr "คอลัมน์:" - -#, fuzzy -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "PathFollow2D จะทำงานได้ต้องเป็นโหนดลูกของโหนด Path2D" - -#, fuzzy -#~ msgid "Add Split" -#~ msgstr "เพิ่มจุด" - -#, fuzzy -#~ msgid "Invalid Split: " -#~ msgstr "ตำแหน่งที่อยู่ไม่ถูกต้อง!" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "ลบจุด" - -#, fuzzy -#~ msgid "Poly" -#~ msgstr "แก้ไขรูปหลายเหลี่ยม" - -#, fuzzy -#~ msgid "Splits" -#~ msgstr "ตัดเส้น" - -#, fuzzy -#~ msgid "Add Node.." -#~ msgstr "เพิ่มโหนด" - -#~ msgid "Create from scene?" -#~ msgstr "สร้างจากฉาก?" - -#~ msgid "Create Poly" -#~ msgstr "สร้างรูปหลายเหลี่ยม" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "สร้างรูปหลายเหลี่ยมใหม่ตั้งแต่ต้น" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "ย่อ" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "ขยาย" - -#~ msgid "Create Poly3D" -#~ msgstr "แก้ไขรูปหลายเหลี่ยม 3D" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "ไม่มี OccluderPolygon2D ในโหนดนี้\n" -#~ "สร้างและกำหนด?" - -#~ msgid "LMB: Move Point." -#~ msgstr "คลิกซ้าย: ย้ายจุด" - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl+คลิกซ้าย: แยกส่วน" - -#~ msgid "RMB: Erase Point." -#~ msgstr "คลิกขวา: ลบจุด" - -#, fuzzy -#~ msgid "New TextFile" -#~ msgstr "ดูไฟล์" - -#~ msgid "Save Theme As" -#~ msgstr "บันทึกธีมเป็น" - -#~ msgid "<None>" -#~ msgstr "<ไม่มี>" - -#~ msgid "" -#~ "Select sub-tile to use as icon, this will be also used on invalid " -#~ "autotile bindings." -#~ msgstr "เลือกรูปภาพย่อยเพื่อทำเป็นไอคอน ภาพนี้จะใช้แสดงเมื่อการ" - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "ซูม (%):" - -#~ msgid "Class List:" -#~ msgstr "รายชื่อคลาส:" - -#~ msgid "Public Methods" -#~ msgstr "เมท็อด" - -#~ msgid "Public Methods:" -#~ msgstr "เมท็อด:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "ตัวแปรธีม:" - -#, fuzzy -#~ msgid "Property: " -#~ msgstr "คุณสมบัติ:" - -#, fuzzy -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "สลับการเป็นโฟลเดอร์ที่ชื่นชอบ" - -#, fuzzy -#~ msgid "Show current scene file." -#~ msgstr "เลือกไทล์ย่อยที่กำลังปรับแต่ง" - -#, fuzzy -#~ msgid "Whole words" -#~ msgstr "ทั้งคำ" - -#, fuzzy -#~ msgid "Match case" -#~ msgstr "ตรงตามอักษรพิมพ์เล็ก-ใหญ่" - -#~ msgid "Ok" -#~ msgstr "ตกลง" - -#~ msgid "Show In File System" -#~ msgstr "เปิดในตัวจัดการไฟล์" - -#~ msgid "Search the class hierarchy." -#~ msgstr "ค้นหาคลาส" - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "ค้นหาคลาส" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "สคริปต์ฝังจะแก้ไขได้ต่อเมื่อฉากที่ฝังสคริปต์นั้นถูกเปิดอยู่" - -#~ msgid "Convert To Uppercase" -#~ msgstr "แปลงเป็นตัวพิมพ์ใหญ่" - -#~ msgid "Convert To Lowercase" -#~ msgstr "แปลงเป็นตัวพิมพ์เล็ก" - -#~ msgid "Rotate 0 degrees" -#~ msgstr "หมุน 0 องศา" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "หมุน 90 องศา" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "หมุน 180 องศา" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "หมุน 270 องศา" - -#~ msgid "Errors:" -#~ msgstr "ข้อผิดพลาด:" - -#~ msgid "Stack Trace (if applicable):" -#~ msgstr "สแตค (ถ้ามี):" - -#~ msgid "Bake!" -#~ msgstr "สร้าง!" - -#~ msgid "Bake the navigation mesh." -#~ msgstr "สร้าง Mesh นำทาง" - -#~ msgid "Get" -#~ msgstr "รับ" - -#~ msgid "Change RGB Constant" -#~ msgstr "แก้ไขค่าคงที่สี" - -#~ msgid "Change Vec Scalar Operator" -#~ msgstr "แก้ไขเครื่องหมายเวกเตอร์สเกลาร์" - -#~ msgid "Change RGB Operator" -#~ msgstr "แก้ไขเครื่องหมาย RGB" - -#~ msgid "Toggle Rot Only" -#~ msgstr "สลับเฉพาะการหมุน" - -#~ msgid "Change Vec Function" -#~ msgstr "แก้ไขฟังก์ชันเวกเตอร์" - -#~ msgid "Change RGB Uniform" -#~ msgstr "แก้ไข RGB Uniform" - -#~ msgid "Change Default Value" -#~ msgstr "แก้ไขค่าปริยาย" - -#~ msgid "Change XForm Uniform" -#~ msgstr "แก้ไข XForm Uniform" - -#~ msgid "Change Cubemap Uniform" -#~ msgstr "แก้ไข Cubemap Uniform" - -#~ msgid "Change Comment" -#~ msgstr "เปลี่ยนข้อคิดเห็น" - -#~ msgid "Add/Remove to Color Ramp" -#~ msgstr "เพิ่ม/ลบในการไล่สี" - -#~ msgid "Modify Color Ramp" -#~ msgstr "แก้ไขการไล่สี" - -#~ msgid "Add/Remove to Curve Map" -#~ msgstr "เพิ่ม/ลบในเส้นโค้ง" - -#~ msgid "Modify Curve Map" -#~ msgstr "แก้ไขเส้นโค้ง" - -#~ msgid "Connect Graph Nodes" -#~ msgstr "เชื่อมต่อโหนด" - -#~ msgid "Remove Shader Graph Node" -#~ msgstr "ลบโหนด" - -#~ msgid "Move Shader Graph Node" -#~ msgstr "ย้ายโหนด" - -#~ msgid "Duplicate Graph Node(s)" -#~ msgstr "ทำซ้ำโหนด" - -#~ msgid "Error: Cyclic Connection Link" -#~ msgstr "ผิดพลาด: เชื่อมต่อเป็นวง" - -#~ msgid "Error: Missing Input Connections" -#~ msgstr "ผิดพลาด: ไม่มีขาเข้า" - -#~ msgid "Add Shader Graph Node" -#~ msgstr "เพิ่มโหนด" - -#~ msgid "Move Anim Track Up" -#~ msgstr "เลื่อนแทร็กแอนิเมชันขึ้น" - -#~ msgid "Move Anim Track Down" -#~ msgstr "เลื่อนแทร็กแอนิเมชันลง" - -#~ msgid "Set Transitions to:" -#~ msgstr "กำหนดทรานสิชันเป็น:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "แก้ไขการเชื่อมแทร็กแอนิเมชัน" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "เปลี่ยนโหมดแทร็กแอนิเมชัน" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "เปลี่ยนโหมดวนซ้ำแทร็กแอนิเมชัน" - -#~ msgid "Edit Node Curve" -#~ msgstr "แก้ไขเส้นโค้งโหนด" - -#~ msgid "Edit Selection Curve" -#~ msgstr "แก้ไขเส้นโค้งการเลือก" - -#~ msgid "Anim Add Key" -#~ msgstr "เพิ่มคีย์แอนิเมชัน" - -#~ msgid "In" -#~ msgstr "เข้า" - -#~ msgid "Out" -#~ msgstr "ออก" - -#~ msgid "In-Out" -#~ msgstr "เข้า-ออก" - -#~ msgid "Out-In" -#~ msgstr "ออก-เข้า" - -#~ msgid "Change Anim Len" -#~ msgstr "ปรับความยาวแอนิเมชัน" - -#~ msgid "Change Anim Loop" -#~ msgstr "ปรับการวนซ้ำแอนิเมชัน" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "สร้างคีย์ระบุประเภทแอนิเมชัน" - -#~ msgid "Anim Add Call Track" -#~ msgstr "เพิ่มแทร็กฟังก์ชัน" - -#~ msgid "Length (s):" -#~ msgstr "ความยาว (วิ):" - -#~ msgid "Step (s):" -#~ msgstr "ช่วง (วิ):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "เลื่อนเคอร์เซอร์ในช่วง (วินาที)" - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "เปิด/ปิดการวนซ้ำของแอนิเมชัน" - -#~ msgid "Add new tracks." -#~ msgstr "เพิ่มแทร็กใหม่" - -#~ msgid "Move current track up." -#~ msgstr "เลื่อนแทร็กขึ้น" - -#~ msgid "Move current track down." -#~ msgstr "เลื่อนแทร็กลง" - -#~ msgid "Track tools" -#~ msgstr "เครื่องมือแทร็ก" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "เปิดการแก้ไขคีย์โดยการคลิก" - -#~ msgid "Key" -#~ msgstr "คีย์" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "เรียกฟังก์ชันของโหนดใด?" - -#~ msgid "Thanks!" -#~ msgstr "ขอบคุณ!" - -#~ msgid "I see..." -#~ msgstr "ตกลง..." - -#~ msgid "Ugh" -#~ msgstr "เออะ" - -#~ msgid "Run Script" -#~ msgstr "รันสคริปต์" - -#~ msgid "Stop Profiling" -#~ msgstr "หยุดบันทึก" - -#~ msgid "Start Profiling" -#~ msgstr "เริ่มบันทึก" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "ค่าเริ่มต้น (เหมือนกับโปรแกรมสร้างเกม)" - -#~ msgid "Create new animation in player." -#~ msgstr "สร้างแอนิเมชันใหม่ในตัวเล่น" - -#~ msgid "Load animation from disk." -#~ msgstr "โหลดแอนิเมชันจากดิสก์" - -#~ msgid "Load an animation from disk." -#~ msgstr "โหลดแอนิเมชันจากดิสก์" - -#~ msgid "Save the current animation" -#~ msgstr "บันทึกแอนิเมชัน" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "แก้ไขระยะเวลาการผสานไปยังเป้าหมาย" - -#~ msgid "Copy Animation" -#~ msgstr "คัดลอกแอนิเมชัน" - -#~ msgid "Fetching:" -#~ msgstr "กำลังรับข้อมูล:" - -#~ msgid "prev" -#~ msgstr "ก่อนหน้า" - -#~ msgid "next" -#~ msgstr "ถัดไป" - -#~ msgid "last" -#~ msgstr "ท้ายสุด" - -#~ msgid "Edit IK Chain" -#~ msgstr "แก้ไข IK Chain" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "เลื่อนจุดหมุนจากตำแหน่งเมาส์" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "กำหนดจุดหมุนที่ตำแหน่งเมาส์" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "เพิ่ม/ลบตำแหน่งสี" - -#~ msgid "OK :(" -#~ msgstr "ตกลง :(" - -#~ msgid "Skeleton Gizmo visibility" -#~ msgstr "แสดงโครงกระดูก" - -#~ msgid "StyleBox Preview:" -#~ msgstr "ตัวอย่าง StyleBox:" - -#~ msgid "Texture Region Editor" -#~ msgstr "แก้ไขการแบ่งส่วน Texture" - -#~ msgid "Erase selection" -#~ msgstr "ลบที่เลือก" - -#~ msgid "Item name or ID:" -#~ msgstr "ชื่อหรือ ID ไอเทม:" - -#~ msgid "Export templates for this platform are missing/corrupted: " -#~ msgstr "แม่แบบส่งออกสำหรับแพลตฟอร์มนี้สูญหาย/เสียหาย: " - -#~ msgid "Button 8" -#~ msgstr "ปุ่ม 8" - -#~ msgid "Button 9" -#~ msgstr "ปุ่ม 9" - -#~ msgid "Discard Instancing" -#~ msgstr "ยกเลิกการอินสแตนซ์" - -#~ msgid "Clear!" -#~ msgstr "ลบ!" - -#~ msgid "Toggle Spatial Visible" -#~ msgstr "ซ่อน/แสดงโหนด Spatial" - -#~ msgid "Condition" -#~ msgstr "เงื่อนไข" - -#~ msgid "Sequence" -#~ msgstr "ลำดับ" - -#~ msgid "Switch" -#~ msgstr "ทางเลือก" - -#~ msgid "Iterator" -#~ msgstr "ตัววนซ้ำ" - -#~ msgid "While" -#~ msgstr "ทำซ้ำถ้าเงื่อนไขเป็นจริง" - -#~ msgid "Return" -#~ msgstr "คืนค่า" - -#~ msgid "Call" -#~ msgstr "เรียก" - -#~ msgid "Edit Variable" -#~ msgstr "แก้ไขตัวแปร" - -#~ msgid "Edit Signal" -#~ msgstr "แก้ไขสัญญาณ" - -#~ msgid "Invalid action (anything goes but '/' or ':')." -#~ msgstr "ใช้ชื่อนี้ไม่ได้ (มี '/' หรือ ':')" - -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "ต้องไม่มี '/' หรือ ':'" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "รูปแบบของ version.txt ในแม่แบบไม่ถูกต้อง หมายเลขรุ่น revision ต้องใช้ระบุได้" - -#~ msgid "Can't write file." -#~ msgstr "เขียนไฟล์ไม่ได้" - -#~ msgid "Couldn't get project.godot in project path." -#~ msgstr "ไม่พบไฟล์ project.godot" - -#~ msgid "Replace By" -#~ msgstr "แทนที่ด้วย" - -#~ msgid "Backwards" -#~ msgstr "ย้อนกลับ" - -#~ msgid "Prompt On Replace" -#~ msgstr "เตือนก่อนแทนที่" - -#~ msgid "Skip" -#~ msgstr "ข้าม" - -#~ msgid "" -#~ "Your project will be created in a non empty folder (you might want to " -#~ "create a new folder)." -#~ msgstr "จะสร้างโปรเจกต์ในโฟลเดอร์ที่มีไฟล์อยู่แล้ว (ท่านอาจต้องการสร้างโฟลเดอร์ใหม่)" - -#~ msgid "That's a BINGO!" -#~ msgstr "บิงโก!" - -#~ msgid "preview" -#~ msgstr "ตัวอย่าง" - -#~ msgid "Move Add Key" -#~ msgstr "เลื่อนหรือเพิ่มคีย์แอนิเมชัน" - -#~ msgid "Create Subscription" -#~ msgstr "สร้างการเชื่อมโยง" - -#~ msgid "List:" -#~ msgstr "รายชื่อ:" - -#~ msgid "Set Emission Mask" -#~ msgstr "กำหนด Mask การปะทุ" - -#~ msgid "Clear Emitter" -#~ msgstr "ลบตัวปะทุ" - -#~ msgid " " -#~ msgstr " " - -#~ msgid "Sections:" -#~ msgstr "หัวข้อ:" - -#~ msgid "Cannot navigate to '" -#~ msgstr "ไม่สามารถไปยัง '" - -#, fuzzy -#~ msgid "" -#~ "\n" -#~ "Source: " -#~ msgstr "" -#~ "\n" -#~ "ต้นฉบับ: " - -#~ msgid "Remove Point from Line2D" -#~ msgstr "ลบจุดจากเส้น" - -#~ msgid "Add Point to Line2D" -#~ msgstr "เพิ่มจุดในเส้น" - -#~ msgid "Move Point in Line2D" -#~ msgstr "ย้ายจุดในเส้น" - -#~ msgid "Split Segment (in line)" -#~ msgstr "แยกส่วน (ในเส้น)" - -#~ msgid "Meta+" -#~ msgstr "Meta+" - -#~ msgid "Setting '" -#~ msgstr "ตัวเลือก '" - -#~ msgid "Remote Inspector" -#~ msgstr "คุณสมบัติ" - -#~ msgid "Live Scene Tree:" -#~ msgstr "ผังฉากปัจจุบัน:" - -#~ msgid "Remote Object Properties: " -#~ msgstr "คุณสมบัติ: " - -#~ msgid "Prev Level (%sDown Wheel)" -#~ msgstr "ชั้นก่อนหน้า (%sล้อเมาส์ลง)" - -#~ msgid "Next Level (%sUp Wheel)" -#~ msgstr "ชั้นถัดไป (%sล้อเมาส์ขึ้น)" - -#~ msgid "Selection -> Duplicate" -#~ msgstr "ทำซ้ำที่เลือก" - -#~ msgid "Selection -> Clear" -#~ msgstr "ลบที่เลือก" - -#~ msgid "" -#~ "Path property must point to a valid Viewport node to work. Such Viewport " -#~ "must be set to 'render target' mode." -#~ msgstr "" -#~ "ต้องแก้ไข Path ให้ชี้ไปยังโหนด Viewport จึงจะทำงานได้ และ Viewport " -#~ "นั้นต้องปรับโหมดเป็น 'render target'" - -#~ msgid "" -#~ "The Viewport set in the path property must be set as 'render target' in " -#~ "order for this sprite to work." -#~ msgstr "Viewport ใน path จะต้องปรับโหมดเป็น 'render target' จึงจะทำงานได้" - -#~ msgid "' parsing of config failed." -#~ msgstr "' ผิดพลาดขณะอ่านไฟล์" - -#~ msgid "Method List For '%s':" -#~ msgstr "รายชื่อเมท็อดของ '%s':" - -#~ msgid "Return:" -#~ msgstr "คืนค่า:" - -#~ msgid "Added:" -#~ msgstr "เพิ่ม:" - -#~ msgid "Could not save atlas subtexture:" -#~ msgstr "บันทึก texture ย่อยของ atlas ไม่ได้:" - -#~ msgid "Setting Up..." -#~ msgstr "กำลังตั้งค่า..." - -#~ msgid "Error loading scene." -#~ msgstr "ผิดพลาดขณะโหลดฉาก" - -#~ msgid "Re-Import" -#~ msgstr "นำเข้าอีกครั้ง" - -#~ msgid "Please wait for scan to complete." -#~ msgstr "กรุณารอให้การสแกนเสร็จ" - -#~ msgid "Current scene must be saved to re-import." -#~ msgstr "ฉากปัจจุบันต้องบันทึกก่อนนำเข้าอีกครั้ง" - -#~ msgid "Re-Importing" -#~ msgstr "นำเข้าอีกครั้ง" - -#~ msgid "Re-Import Changed Resources" -#~ msgstr "นำเข้ารีซอร์สที่แก้ไขอีกครั้ง" - -#~ msgid "" -#~ "\n" -#~ "Status: Needs Re-Import" -#~ msgstr "" -#~ "\n" -#~ "สถานะ: ต้องนำเข้าใหม่" - -#~ msgid "Same source and destination files, doing nothing." -#~ msgstr "ไฟล์ต้นทางและปลายทางเหมือนกัน ไม่ทำอะไร" - -#~ msgid "Target file exists, can't overwrite. Delete first." -#~ msgstr "ไฟล์ปลายทางมีอยู่ เขียนทับไม่ได้ กรุณาลบก่อน" - -#~ msgid "Same source and destination paths, doing nothing." -#~ msgstr "ไฟล์ต้นทางและปลายทางอยู่ที่เดียวกัน ไม่ทำอะไร" - -#~ msgid "Can't move directories to within themselves." -#~ msgstr "ย้ายโฟลเดอร์เข้ามาในตัวเองไม่ได้" - -#~ msgid "Can't rename deps for:\n" -#~ msgstr "ไม่สามารถแก้ไขชื่อสำหรับ:\n" - -#~ msgid "Pick New Name and Location For:" -#~ msgstr "เลือกชื่อและตำแหน่งที่อยู่ใหม่ให้กับ:" - -#~ msgid "Info" -#~ msgstr "ข้อมูล" - -#~ msgid "No bit masks to import!" -#~ msgstr "ไม่มีบิตแมสก์ให้นำเข้า!" - -#~ msgid "Target path is empty." -#~ msgstr "ตำแหน่งที่อยู่ว่างเปล่า" - -#~ msgid "Target path must be a complete resource path." -#~ msgstr "ต้องเป็นตำแหน่งที่อยู่แบบเต็ม" - -#~ msgid "Target path must exist." -#~ msgstr "ต้องมีตำแหน่งที่อยู่" - -#~ msgid "Import BitMasks" -#~ msgstr "นำเข้า BitMasks" - -#~ msgid "Source Texture(s):" -#~ msgstr "Texture ต้นฉบับ:" - -#~ msgid "Accept" -#~ msgstr "ยอมรับ" - -#~ msgid "Bit Mask" -#~ msgstr "บิตแมสก์" - -#~ msgid "No source font file!" -#~ msgstr "ไม่ได้เลือกไฟล์ฟอนต์ต้นฉบับ!" - -#~ msgid "No target font resource!" -#~ msgstr "ไม่ได้เลือกว่าจะนำเข้ามาเป็นไฟล์ฟอนต์ชื่ออะไร!" - -#~ msgid "" -#~ "Invalid file extension.\n" -#~ "Please use .font." -#~ msgstr "" -#~ "นามสกุลไม่ถูกต้อง\n" -#~ "กรุณาใช้ .font" - -#~ msgid "Couldn't save font." -#~ msgstr "บันทึกฟอนต์ไม่ได้" - -#~ msgid "Source Font:" -#~ msgstr "ฟอนต์ต้นฉบับ:" - -#~ msgid "Dest Resource:" -#~ msgstr "นำเข้ามาเป็นรีซอร์ส:" - -#~ msgid "The quick brown fox jumps over the lazy dog." -#~ msgstr "The quick brown fox jumps over the lazy dog." - -#~ msgid "Test:" -#~ msgstr "ทดสอบ:" - -#~ msgid "Options:" -#~ msgstr "ตัวเลือก:" - -#~ msgid "Font Import" -#~ msgstr "นำเข้าฟอนต์" - -#~ msgid "" -#~ "This file is already a Godot font file, please supply a BMFont type file " -#~ "instead." -#~ msgstr "ไฟล์นี้เป็นฟอนต์ของ Godot อยู่แล้ว กรุณาเลือกฟอนต์ที่มาจาก BMFont" - -#~ msgid "Failed opening as BMFont file." -#~ msgstr "ผิดพลาดขณะเปิดไฟล์เป็น BMFont" - -#, fuzzy -#~ msgid "Invalid font custom source." -#~ msgstr "ต้นฉบับฟอนต์ที่กำหนดเองไม่ถูกต้อง" - -#~ msgid "No meshes to import!" -#~ msgstr "ไม่มี mesh ให้นำเข้า!" - -#~ msgid "Single Mesh Import" -#~ msgstr "นำเข้า Mesh เดี่ยว" - -#~ msgid "Source Mesh(es):" -#~ msgstr "Mesh ต้นฉบับ:" - -#~ msgid "Surface %d" -#~ msgstr "%d พื้นผิว" - -#~ msgid "No samples to import!" -#~ msgstr "ไม่มีไฟล์เสียงให้นำเข้า!" - -#~ msgid "Import Audio Samples" -#~ msgstr "นำเข้าไฟล์เสียง" - -#~ msgid "Source Sample(s):" -#~ msgstr "ไฟล์เสียงต้นฉบับ:" - -#~ msgid "Audio Sample" -#~ msgstr "ไฟล์เสียง" - -#~ msgid "New Clip" -#~ msgstr "คลิปใหม่" - -#~ msgid "Flags" -#~ msgstr "ตัวเลือก" - -#~ msgid "Optimizer" -#~ msgstr "ตัวเพิ่มประสิทธิภาพ" - -#~ msgid "Max Linear Error" -#~ msgstr "ผิดพลาดเชิงเส้นมากที่สุด" - -#~ msgid "Max Angular Error" -#~ msgstr "ผิดพลาดเชิงมุมมากที่สุด" - -#~ msgid "Max Angle" -#~ msgstr "มุมมากสุด" - -#~ msgid "Start(s)" -#~ msgstr "เริ่ม" - -#~ msgid "Source path is empty." -#~ msgstr "ที่อยู่ไฟล์ต้นฉบับว่างเปล่า" - -#~ msgid "Couldn't load post-import script." -#~ msgstr "โหลดสคริปต์หลังนำเข้าไม่ได้" - -#~ msgid "Invalid/broken script for post-import." -#~ msgstr "สคริปต์หลังนำเข้ามีข้อผิดพลาด" - -#~ msgid "Error importing scene." -#~ msgstr "ผิดพลาดขณะนำเข้าฉาก" - -#~ msgid "Import 3D Scene" -#~ msgstr "นำเข้าฉาก 3D" - -#~ msgid "Source Scene:" -#~ msgstr "ฉากต้นฉบับ:" - -#~ msgid "Same as Target Scene" -#~ msgstr "เหมือนกันกับฉากปลายทาง" - -#~ msgid "Shared" -#~ msgstr "ใช้ร่วมกัน" - -#~ msgid "Target Texture Folder:" -#~ msgstr "โฟลเดอร์ Texture ปลายทาง:" - -#~ msgid "Custom Root Node Type:" -#~ msgstr "ประเภทโหนดรากกำหนดเอง:" - -#~ msgid "Auto" -#~ msgstr "อัตโนมัติ" - -#~ msgid "The Following Files are Missing:" -#~ msgstr "ไฟล์ต่อไปนี้หายไป:" - -#~ msgid "Import Anyway" -#~ msgstr "ยืนยันนำเข้า" - -#~ msgid "Edited scene has not been saved, open imported scene anyway?" -#~ msgstr "ฉากปัจจุบันยังไม่ได้บันทึก ยืนยันเปิดไฟล์ฉากที่นำเข้า?" - -#~ msgid "Import Image:" -#~ msgstr "นำเข้าไฟล์รูป:" - -#~ msgid "Couldn't localize path: %s (already local)" -#~ msgstr "ทำที่อยู่ไฟล์ให้เป็นภายในไม่ได้: %s (เป็นภายในอยู่แล้ว)" - -#~ msgid "3D Scene Animation" -#~ msgstr "แอนิเมชันฉาก 3D" - -#~ msgid "Uncompressed" -#~ msgstr "ไม่บีบอัด" - -#~ msgid "Compress Lossless (PNG)" -#~ msgstr "บีบอัดแบบไม่เสียคุณภาพ (PNG)" - -#~ msgid "Compress Lossy (WebP)" -#~ msgstr "บีบอัดแบบเสียคุณภาพ (WebP)" - -#~ msgid "Compress (VRAM)" -#~ msgstr "บีบอัด (VRAM)" - -#~ msgid "Texture Format" -#~ msgstr "รูปแบบ Texture" - -#~ msgid "Texture Compression Quality (WebP):" -#~ msgstr "คุณภาพการบีบอัด Texture (WebP):" - -#~ msgid "Please specify some files!" -#~ msgstr "กรุณาเลือกสักไฟล์!" - -#~ msgid "At least one file needed for Atlas." -#~ msgstr "Atlas ต้องการไฟล์อย่างน้อย 1 ไฟล์" - -#~ msgid "Error importing:" -#~ msgstr "ผิดพลาดขณะนำเข้า:" - -#~ msgid "Max Texture Size:" -#~ msgstr "ขนาด Texture ที่ใหญ่ที่สุด:" - -#~ msgid "Import Textures for Atlas (2D)" -#~ msgstr "นำเข้า Texture สำหรับ Atlas (2D)" - -#~ msgid "Large Texture" -#~ msgstr "Texture ขนาดใหญ่" - -#~ msgid "Import Large Textures (2D)" -#~ msgstr "นำเข้า Texture ขนาดใหญ่ (2D)" - -#~ msgid "Source Texture" -#~ msgstr "Texture ต้นฉบับ" - -#~ msgid "Source Texture(s)" -#~ msgstr "Texture ต้นฉบับ" - -#~ msgid "Import Textures for 2D" -#~ msgstr "นำเข้า Texture สำหรับ 2D" - -#~ msgid "Import Textures for 3D" -#~ msgstr "นำเข้า Texture สำหรับ 3D" - -#~ msgid "Import Textures" -#~ msgstr "นำเข้า Texture" - -#~ msgid "2D Texture" -#~ msgstr "Texture 2D" - -#~ msgid "3D Texture" -#~ msgstr "Texture 3D" - -#~ msgid "" -#~ "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files " -#~ "to the project." -#~ msgstr "โปรดทราบ: ไม่จำเป็นต้องนำเข้า Texture 2D แค่คัดลอกไฟล์ png/jpg เข้าสู่โปรเจกต์" - -#~ msgid "Crop empty space." -#~ msgstr "ครอบตัดพื้นที่ว่าง" - -#~ msgid "Texture" -#~ msgstr "Texture" - -#~ msgid "Import Large Texture" -#~ msgstr "นำเข้า Texture ขนาดใหญ่" - -#~ msgid "Load Source Image" -#~ msgstr "โหลดรูปต้นฉบับ" - -#~ msgid "Slicing" -#~ msgstr "ตัด" - -#~ msgid "Saving" -#~ msgstr "บันทึก" - -#~ msgid "Couldn't save large texture:" -#~ msgstr "บันทึก Texture ขนาดใหญ่ไม่ได้:" - -#~ msgid "Build Atlas For:" -#~ msgstr "สร้าง Atlas สำหรับ:" - -#~ msgid "Loading Image:" -#~ msgstr "โหลดรูป:" - -#~ msgid "Converting Images" -#~ msgstr "กำลังแปลงรูป" - -#~ msgid "Cropping Images" -#~ msgstr "ครอบตัดรูป" - -#~ msgid "Couldn't save atlas image:" -#~ msgstr "บันทึก Atlas ไม่ได้:" - -#~ msgid "Invalid translation source!" -#~ msgstr "ต้นฉบับการแปลไม่ถูกต้อง!" - -#~ msgid "Column" -#~ msgstr "คอลัมน์" - -#~ msgid "No items to import!" -#~ msgstr "ไม่มีอะไรให้นำเข้า!" - -#~ msgid "No target path!" -#~ msgstr "ไม่มีที่อยู่ปลายทาง!" - -#~ msgid "Import Translations" -#~ msgstr "นำเข้าการแปล" - -#~ msgid "Couldn't import!" -#~ msgstr "นำเข้าไม่ได้!" - -#~ msgid "Import Translation" -#~ msgstr "นำเข้าการแปล" - -#~ msgid "Source CSV:" -#~ msgstr "CSV ต้นฉบับ:" - -#~ msgid "Ignore First Row" -#~ msgstr "ไม่สนใจแถวแรก" - -#~ msgid "Compress" -#~ msgstr "บีบอัด" - -#~ msgid "Add to Project (project.godot)" -#~ msgstr "เพิ่มเข้าโปรเจกต์ (project.godot)" - -#~ msgid "Import Languages:" -#~ msgstr "นำเข้าภาษา:" - -#~ msgid "Translation" -#~ msgstr "การแปล" - -#~ msgid "Triangle #" -#~ msgstr "สามเหลี่ยม #" - -#~ msgid "Light Baker Setup:" -#~ msgstr "ตั้งค่า Light Baker:" - -#~ msgid "Fixing Lights" -#~ msgstr "ซ่อมแซมแสง" - -#~ msgid "Making BVH" -#~ msgstr "กำลังสร้าง BVH" - -#~ msgid "Allocating Texture #" -#~ msgstr "จัดสรร Texture #" - -#~ msgid "Baking Triangle #" -#~ msgstr "กำลัง Bake สามเหลี่ยม #" - -#~ msgid "Post-Processing Texture #" -#~ msgstr "ประมวลผล Texture #" - -#~ msgid "Reset the lightmap octree baking process (start over)." -#~ msgstr "รีเซ็ตขั้นตอนการ bake lightmap octree (เริ่มใหม่)" - -#~ msgid "Zoom Set..." -#~ msgstr "ตั้งค่าการซูม..." - -#~ msgid "Parse BBCode" -#~ msgstr "ประมวลผล BBCode" - -#~ msgid "Length:" -#~ msgstr "ความยาว:" - -#~ msgid "Open Sample File(s)" -#~ msgstr "เปิดไฟล์เสียง" - -#~ msgid "ERROR: Couldn't load sample!" -#~ msgstr "ผิดพลาด: โหลดไฟล์เสียงไม่ได้!" - -#~ msgid "Add Sample" -#~ msgstr "เพิ่มไฟล์เสียง" - -#~ msgid "Rename Sample" -#~ msgstr "เปลี่ยนชื่อไฟล์เสียง" - -#~ msgid "Delete Sample" -#~ msgstr "ลบไฟล์เสียง" - -#~ msgid "16 Bits" -#~ msgstr "16 บิต" - -#~ msgid "8 Bits" -#~ msgstr "8 บิต" - -#~ msgid "Stereo" -#~ msgstr "สเตอริโอ" - -#~ msgid "Scaling to %s%%." -#~ msgstr "ปรับขนาดเป็น %s%%" - -#~ msgid "Bucket" -#~ msgstr "ถัง" - -#~ msgid "Invalid project path, the path must exist!" -#~ msgstr "ที่อยู่โปรเจกต์ผิดพลาด ต้องมีอยู่จริง!" - -#~ msgid "Invalid project path, project.godot must not exist." -#~ msgstr "ที่อยู่โปรเจกต์ผิดพลาด ต้องไม่มี project.godot" - -#~ msgid "Invalid project path, project.godot must exist." -#~ msgstr "ที่อยู่โปรเจกต์ผิดพลาด ต้องมี project.godot" - -#~ msgid "Project Path (Must Exist):" -#~ msgstr "ที่อยู่โปรเจกต์ (ต้องมีอยู่จริง):" - -#~ msgid "Create New Resource" -#~ msgstr "สร้างรีซอร์สใหม่" - -#~ msgid "Open Resource" -#~ msgstr "เปิดรีซอร์ส" - -#~ msgid "Save Resource" -#~ msgstr "บันทึกรีซอร์ส" - -#~ msgid "Resource Tools" -#~ msgstr "เครื่องมือรีซอร์ส" - -#~ msgid "Areas" -#~ msgstr "พื้นที่" - -#~ msgid "Ctrl+" -#~ msgstr "Ctrl+" - -#~ msgid "Down Wheel)" -#~ msgstr "ล้อเมาส์ลง)" - -#~ msgid "Up Wheel)" -#~ msgstr "ล้อเมาส์ขึ้น)" - -#~ msgid "Close scene? (Unsaved changes will be lost)" -#~ msgstr "ปิดไฟล์ฉาก? (การแก้ไขที่ไม่ได้บันทึกจะสูญหาย)" - -#~ msgid "" -#~ "Open Project Manager? \n" -#~ "(Unsaved changes will be lost)" -#~ msgstr "" -#~ "เปิดตัวจัดการโปรเจกต์?\n" -#~ "(การแก้ไขที่ไม่ได้บันทึกจะสูญหาย)" - -#~ msgid "Close Goto Prev. Scene" -#~ msgstr "ปิดไปยังฉากก่อนหน้า" - -#~ msgid "Del" -#~ msgstr "ลบ" - -#~ msgid "just pressed" -#~ msgstr "เพิ่งกด" - -#~ msgid "" -#~ "Couldn't read the certificate file. Are the path and password both " -#~ "correct?" -#~ msgstr "ไม่สามารถอ่านไฟล์ใบรับรองได้ ตำแหน่งไฟล์และรหัสผ่านถูกต้องหรือไม่?" - -#~ msgid "Error creating the package signature." -#~ msgstr "ผิดพลาดขณะสร้าง signature ของแพคเกจ" - -#~ msgid "RAW Mode" -#~ msgstr "โหมด Raw" - -#~ msgid "Node From Scene" -#~ msgstr "โหนดจากฉาก" - -#~ msgid "Import assets to the project." -#~ msgstr "นำเข้าไฟล์มายังโปรเจกต์" - -#~ msgid "Export the project to many platforms." -#~ msgstr "ส่งออกโปรเจกต์ไปยังแพลตฟอร์มต่าง ๆ" - -#~ msgid "Alerts when an external resource has changed." -#~ msgstr "เตือนเมื่อมีการแก้ไขรีซอร์สภายนอก" - -#~ msgid "Open https://godotengine.org at tutorials section." -#~ msgstr "เปิดคู่มือจาก https://godotengine.org" - -#~ msgid "No scene selected to instance!" -#~ msgstr "ไม่ได้เลือกฉากที่จะอินสแตนซ์!" - -#~ msgid "Instance at Cursor" -#~ msgstr "อินสแตนซ์ที่เคอร์เซอร์" - -#~ msgid "Ambient Light Color:" -#~ msgstr "สีของแสงโดยรอบ:" - -#~ msgid "Invalid parent class name" -#~ msgstr "ชื่อคลาสแม่ไม่ถูกต้อง" - -#~ msgid "Valid chars:" -#~ msgstr "อักขระที่ใช้ได้:" - -#~ msgid "Valid name" -#~ msgstr "ชื่อที่ใช้ได้" - -#~ msgid "Class name is invalid!" -#~ msgstr "ชื่อคลาสไม่ถูกต้อง!" - -#~ msgid "Parent class name is invalid!" -#~ msgstr "ชื่อคลาสแม่ไม่ถูกต้อง!" - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "ต้องแก้ไข Path ให้ชี้ไปยังโหนด Particles2D จึงจะทำงานได้" - -#~ msgid "Surface" -#~ msgstr "พื้นผิว" - -#, fuzzy -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SamplePlayer to play sound." -#~ msgstr "ต้องมี SampleLibrary ใน 'samples' เพื่อให้ SamplePlayer เล่นเสียงได้" - -#, fuzzy -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SpatialSamplePlayer to play sound." -#~ msgstr "ต้องมี SampleLibrary ใน 'samples' เพื่อให้ SpatialSamplePlayer เล่นเสียงได้" - -#, fuzzy -#~ msgid "Replaced %d Ocurrence(s)." -#~ msgstr "แทนที่แล้ว %d ครั้ง" - -#, fuzzy -#~ msgid "Save Translatable Strings" -#~ msgstr "บันทึกสตริงหลายภาษา" - -#~ msgid "Edit Script Options" -#~ msgstr "แก้ไขตัวเลือกสคริปต์" - -#~ msgid "Error exporting project!" -#~ msgstr "ผิดพลาดขณะส่งออกโปรเจกต์!" - -#~ msgid "Error writing the project PCK!" -#~ msgstr "ผิดพลาดขณะเขียนไฟล์ PCK!" - -#~ msgid "No exporter for platform '%s' yet." -#~ msgstr "ยังไม่มีตัวส่งออกสำหรับแพลตฟอร์ม '%s'" - -#~ msgid "Create Android keystore" -#~ msgstr "สร้าง Android keystore" - -#~ msgid "Organization" -#~ msgstr "องค์กร" - -#~ msgid "City" -#~ msgstr "เมือง" - -#~ msgid "2 letter country code" -#~ msgstr "รหัสประเทศ 2 ตัวอักษร" - -#~ msgid "Password" -#~ msgstr "รหัสผ่าน" - -#~ msgid "at least 6 characters" -#~ msgstr "อย่างน้อย 6 ตัวอักษร" - -#~ msgid "File name" -#~ msgstr "ชื่อไฟล์" - -#~ msgid "Path : (better to save outside of project)" -#~ msgstr "ตำแหน่งไฟล์ : (ควรบันทึกนอกโปรเจกต์)" - -#~ msgid "" -#~ "Release keystore is not set.\n" -#~ "Do you want to create one?" -#~ msgstr "" -#~ "ยังไม่มี keystore สำหรับส่งออก\n" -#~ "สร้างใหม่?" - -#~ msgid "Fill Keystore/Release User and Release Password" -#~ msgstr "ใส่ Keystore/ชื่อผู้ใช้และรหัสผ่านสำหรับส่งออก" - -#~ msgid "Group name can't be empty!" -#~ msgstr "ชื่อกลุ่มเว้นว่างไม่ได้!" - -#~ msgid "Invalid character in group name!" -#~ msgstr "ใช้อักษรบางตัวในชื่อกลุ่มไม่ได้!" - -#~ msgid "Project Export Settings" -#~ msgstr "ตั้งค่าส่งออกโปรเจกต์" - -#~ msgid "Export to Platform" -#~ msgstr "ส่งออกไปยังแพลตฟอร์ม" - -#~ msgid "Convert text scenes to binary on export." -#~ msgstr "แปลงไฟล์ฉากแบบตัวอักษรให้เป็นไบนารีสำหรับส่งออก" - -#~ msgid "Images" -#~ msgstr "รูป" - -#~ msgid "Keep Original" -#~ msgstr "เก็บต้นฉบับ" - -#~ msgid "Compress for Disk (Lossy, WebP)" -#~ msgstr "บีบอัดสำหรับดิสก์ (Lossy, WebP)" - -#~ msgid "Compress for RAM (BC/PVRTC/ETC)" -#~ msgstr "บีบอัดสำหรับแรม (BC/PVRTC/ETC)" - -#~ msgid "Convert Images (*.png):" -#~ msgstr "แปลงรูป (*.png):" - -#~ msgid "Compress for Disk (Lossy) Quality:" -#~ msgstr "บีบอัดสำหรับดิสก์ (Lossy) คุณภาพ:" - -#~ msgid "Shrink All Images:" -#~ msgstr "ลดขนาดทุกรูป:" - -#~ msgid "Compress Formats:" -#~ msgstr "การบีบอัด:" - -#~ msgid "Compress Disk" -#~ msgstr "บีบอัดดิสก์" - -#~ msgid "Compress RAM" -#~ msgstr "บีบอัดแรม" - -#~ msgid "Compress Mode:" -#~ msgstr "โหมดบีบอัด:" - -#~ msgid "Lossy Quality:" -#~ msgstr "เสียคุณภาพ:" - -#~ msgid "Shrink By:" -#~ msgstr "ลดไป:" - -#~ msgid "Sample Conversion Mode: (.wav files):" -#~ msgstr "การแปลงไฟล์เสียง: (ไฟล์ .wav):" - -#~ msgid "Compress (RAM - IMA-ADPCM)" -#~ msgstr "บีบอัด (RAM - IMA-ADPCM)" - -#~ msgid "Sampling Rate Limit (Hz):" -#~ msgstr "จำกัดความถี่ (Hz):" - -#~ msgid "Trim" -#~ msgstr "ตัดปลาย" - -#~ msgid "Trailing Silence:" -#~ msgstr "ส่วนที่เงียบตรงปลาย:" - -#~ msgid "Export Project PCK" -#~ msgstr "ส่งออก PCK โปรเจกต์" - -#~ msgid "Project Export" -#~ msgstr "ส่งออกโปรเจกต์" diff --git a/editor/translations/tl.po b/editor/translations/tl.po index 691f0eeeac..10161b37e6 100644 --- a/editor/translations/tl.po +++ b/editor/translations/tl.po @@ -1,6 +1,6 @@ # Tagalog translation of the Godot Engine editor. -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # Napstaguy04 <brokenscreen3@gmail.com>, 2021. @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2021-11-19 08:44+0000\n" +"PO-Revision-Date: 2021-12-09 23:13+0000\n" "Last-Translator: Napstaguy04 <brokenscreen3@gmail.com>\n" "Language-Team: Tagalog <https://hosted.weblate.org/projects/godot-engine/" "godot/tl/>\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=n != 1 && n != 2 && n != 3 && (n % 10 == 4 " "|| n % 10 == 6 || n % 10 == 9);\n" -"X-Generator: Weblate 4.9.1-dev\n" +"X-Generator: Weblate 4.10-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -570,32 +570,32 @@ msgstr "Kopyahin ang mga Tracks" #: editor/animation_track_editor.cpp msgid "Scale Selection" -msgstr "" +msgstr "Ibahin Ang Sukat ng Napili" #: editor/animation_track_editor.cpp msgid "Scale From Cursor" -msgstr "" +msgstr "Ibahin Ang Sukat Mula Sa Panturo" #: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Duplicate Selection" -msgstr "" +msgstr "Doblehin ang Napili" #: editor/animation_track_editor.cpp msgid "Duplicate Transposed" -msgstr "" +msgstr "Doblehin Ang Napalit ng Lugar" #: editor/animation_track_editor.cpp msgid "Delete Selection" -msgstr "" +msgstr "Alisin ang Nakapili" #: editor/animation_track_editor.cpp msgid "Go to Next Step" -msgstr "" +msgstr "Pumunta Sa Susunod Na Hakbang" #: editor/animation_track_editor.cpp msgid "Go to Previous Step" -msgstr "" +msgstr "Bumalik sa Nakaraang Hakbang" #: editor/animation_track_editor.cpp msgid "Apply Reset" @@ -607,11 +607,11 @@ msgstr "Pabilisin ang takbo ng Animation" #: editor/animation_track_editor.cpp msgid "Clean-Up Animation" -msgstr "" +msgstr "Linisin Ang Animation" #: editor/animation_track_editor.cpp msgid "Pick the node that will be animated:" -msgstr "Piliin ang node na i-aanimate:" +msgstr "Piliin ang node na iaanimate:" #: editor/animation_track_editor.cpp msgid "Use Bezier Curves" @@ -643,31 +643,31 @@ msgstr "Pabilisin ang takbo" #: editor/animation_track_editor.cpp msgid "Remove invalid keys" -msgstr "" +msgstr "Alisin ang hindi tugma na mga key" #: editor/animation_track_editor.cpp msgid "Remove unresolved and empty tracks" -msgstr "" +msgstr "Alisin ang mga di-mairesolba at puwang na mga track" #: editor/animation_track_editor.cpp msgid "Clean-up all animations" -msgstr "" +msgstr "Linisin lahat ng mga animation" #: editor/animation_track_editor.cpp msgid "Clean-Up Animation(s) (NO UNDO!)" -msgstr "" +msgstr "Linisin ang (mga) Animation (WALA NANG UNDO!)" #: editor/animation_track_editor.cpp msgid "Clean-Up" -msgstr "" +msgstr "Linisin" #: editor/animation_track_editor.cpp msgid "Scale Ratio:" -msgstr "" +msgstr "Ratio ng Pagiiba ng Sukat:" #: editor/animation_track_editor.cpp msgid "Select Tracks to Copy" -msgstr "" +msgstr "Piliin ang mga Track na Kokopyahin" #: editor/animation_track_editor.cpp editor/editor_log.cpp #: editor/editor_resource_picker.cpp @@ -688,23 +688,23 @@ msgstr "Magdagdag ng Audio Track Clip" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip Start Offset" -msgstr "" +msgstr "Ibahin Ang Urong ng Simula ng Audio Track" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip End Offset" -msgstr "Ibahin ang Urong ng hulihan ng Audio Track" +msgstr "Ibahin Ang Urong ng Hulihan ng Audio Track" #: editor/array_property_edit.cpp msgid "Resize Array" -msgstr "" +msgstr "Ibahin Ang Sukat ng Array" #: editor/array_property_edit.cpp msgid "Change Array Value Type" -msgstr "" +msgstr "Ibahin Ang Uri ng Halaga ng Array" #: editor/array_property_edit.cpp msgid "Change Array Value" -msgstr "" +msgstr "Ibahin Ang Halaga ng Array" #: editor/code_editor.cpp msgid "Go to Line" @@ -728,11 +728,11 @@ msgstr "%d na mga kapares." #: editor/code_editor.cpp editor/find_in_files.cpp msgid "Match Case" -msgstr "" +msgstr "Itugma ang Case" #: editor/code_editor.cpp editor/find_in_files.cpp msgid "Whole Words" -msgstr "" +msgstr "Mga Buong Salita" #: editor/code_editor.cpp msgid "Replace" @@ -836,7 +836,7 @@ msgstr "Mga Dagdag na Argumento ng Tawag:" #: editor/connections_dialog.cpp msgid "Receiver Method:" -msgstr "" +msgstr "Method ng Tagatanggap:" #: editor/connections_dialog.cpp msgid "Advanced" @@ -1017,6 +1017,8 @@ msgid "" "Resource '%s' is in use.\n" "Changes will only take effect when reloaded." msgstr "" +"Kasalukuyang ginagamit ang '%s'.\n" +"Magaganap lamang ang mga pagbabago kapag nagreload." #: editor/dependency_editor.cpp #: modules/gdnative/gdnative_library_editor_plugin.cpp @@ -1107,11 +1109,11 @@ msgstr "Ayusin Ang Mga Kaasahan." #: editor/dependency_editor.cpp msgid "Errors loading!" -msgstr "" +msgstr "Mga pagbibigo sa pagloload!" #: editor/dependency_editor.cpp msgid "Permanently delete %d item(s)? (No undo!)" -msgstr "" +msgstr "Permanenteng alisin ang (mga) %d na item? (Hindi na mababalik!)" #: editor/dependency_editor.cpp msgid "Show Dependencies" @@ -1210,7 +1212,7 @@ msgstr "" #: editor/editor_about.cpp msgid "Bronze Donors" -msgstr "" +msgstr "Mga Nagaabuloy na Bronze" #: editor/editor_about.cpp msgid "Donors" @@ -1231,6 +1233,10 @@ msgid "" "is an exhaustive list of all such third-party components with their " "respective copyright statements and license terms." msgstr "" +"Umaasa ang Godot sa mga malalaya na ikatlong-pangkat at open source na mga " +"library, na sumasangayon sa mga patakaran ng MIT License nito. Ang mga " +"sumusunod ay isang kompletong tala ng katulad na mga komponent na ikatlong-" +"pangkat at sa kanya-kanyang kasunduan sa lisensya at copyright." #: editor/editor_about.cpp msgid "All Components" @@ -1246,7 +1252,7 @@ msgstr "Mga Lisensya" #: editor/editor_asset_installer.cpp msgid "Error opening asset file for \"%s\" (not in ZIP format)." -msgstr "" +msgstr "Nabigong buksan ang asset file para sa \"%s\" (Hindi nakaZIP)." #: editor/editor_asset_installer.cpp msgid "%s (already exists)" @@ -1262,11 +1268,11 @@ msgstr "" #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" -msgstr "" +msgstr "Winawalang Siksik Ang Mga Asset" #: editor/editor_asset_installer.cpp msgid "The following files failed extraction from asset \"%s\":" -msgstr "" +msgstr "Nabigong makuha ang mga sumusunod na mga file mula sa asset \"%s\":" #: editor/editor_asset_installer.cpp msgid "(and %s more files)" @@ -1274,7 +1280,7 @@ msgstr "(at %s pang mga file)" #: editor/editor_asset_installer.cpp msgid "Asset \"%s\" installed successfully!" -msgstr "" +msgstr "Tagumpay na nainstall ang \"%s\"!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -1323,11 +1329,11 @@ msgstr "" #: editor/editor_audio_buses.cpp msgid "Add Audio Bus Effect" -msgstr "" +msgstr "Magdagdag ng Effect sa Audio Bus" #: editor/editor_audio_buses.cpp msgid "Move Bus Effect" -msgstr "" +msgstr "Ilipat ang Effect ng Bus" #: editor/editor_audio_buses.cpp msgid "Delete Bus Effect" @@ -1351,12 +1357,12 @@ msgstr "Pasikot-sikot" #: editor/editor_audio_buses.cpp msgid "Bus Options" -msgstr "" +msgstr "Kaayusan ng Bus" #: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" -msgstr "" +msgstr "Doblehin" #: editor/editor_audio_buses.cpp msgid "Reset Volume" @@ -1420,7 +1426,7 @@ msgstr "" #: editor/editor_audio_buses.cpp msgid "Error saving file: %s" -msgstr "" +msgstr "Nabigong ang pagsave ang file: %s" #: editor/editor_audio_buses.cpp msgid "Add Bus" @@ -1438,7 +1444,7 @@ msgstr "Kumarga" #: editor/editor_audio_buses.cpp msgid "Load an existing Bus Layout." -msgstr "" +msgstr "Kumarga ng Umiiral na Kaayusan ng Bus." #: editor/editor_audio_buses.cpp msgid "Save As" @@ -1470,15 +1476,16 @@ msgstr "Mga Pinapayagang Karakter:" #: editor/editor_autoload_settings.cpp msgid "Must not collide with an existing engine class name." -msgstr "" +msgstr "Di dapat tumugma sa pangalan na ng class sa engine." #: editor/editor_autoload_settings.cpp msgid "Must not collide with an existing built-in type name." -msgstr "" +msgstr "Di dapat tumugma sa umiiral na pangalan ng uri ng nakabuilt-in ." #: editor/editor_autoload_settings.cpp msgid "Must not collide with an existing global constant name." msgstr "" +"Di dapat tumugma sa pangalan na ng pangalan ng pangkalahatang constant." #: editor/editor_autoload_settings.cpp msgid "Keyword cannot be used as an autoload name." @@ -1490,7 +1497,7 @@ msgstr "" #: editor/editor_autoload_settings.cpp msgid "Rename Autoload" -msgstr "" +msgstr "Baguhin Ang Pangalan ng Autoload" #: editor/editor_autoload_settings.cpp msgid "Toggle AutoLoad Globals" @@ -1579,25 +1586,25 @@ msgstr "" #: editor/editor_dir_dialog.cpp msgid "Choose a Directory" -msgstr "" +msgstr "Pumili ng Lalagyanan" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp editor/project_manager.cpp #: scene/gui/file_dialog.cpp msgid "Create Folder" -msgstr "" +msgstr "Gumawa ng Folder" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" -msgstr "" +msgstr "Pangalan:" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Could not create folder." -msgstr "" +msgstr "Nabigong lumikha ng folder." #: editor/editor_dir_dialog.cpp msgid "Choose" @@ -1669,7 +1676,7 @@ msgstr "" #: editor/editor_export.cpp platform/javascript/export/export.cpp msgid "Template file not found:" -msgstr "" +msgstr "Di-mahanap ang template file:" #: editor/editor_export.cpp msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB." @@ -1693,15 +1700,15 @@ msgstr "" #: editor/editor_feature_profile.cpp msgid "Node Dock" -msgstr "" +msgstr "Daungan ng Node" #: editor/editor_feature_profile.cpp msgid "FileSystem Dock" -msgstr "" +msgstr "Daungan ng FileSystem" #: editor/editor_feature_profile.cpp msgid "Import Dock" -msgstr "" +msgstr "Umangkat ng Daungan" #: editor/editor_feature_profile.cpp msgid "Allows to view and edit 3D scenes." @@ -1824,7 +1831,7 @@ msgstr "Magagamit na mga Profile:" #: editor/editor_feature_profile.cpp msgid "Make Current" -msgstr "" +msgstr "Itutok" #: editor/editor_feature_profile.cpp editor/editor_node.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp @@ -1833,15 +1840,15 @@ msgstr "Magangkat" #: editor/editor_feature_profile.cpp editor/project_export.cpp msgid "Export" -msgstr "" +msgstr "Magluwas" #: editor/editor_feature_profile.cpp msgid "Configure Selected Profile:" -msgstr "" +msgstr "Ayusin ang Napiling Profile:" #: editor/editor_feature_profile.cpp msgid "Extra Options:" -msgstr "" +msgstr "Karagdagang Kaayusan:" #: editor/editor_feature_profile.cpp msgid "Create or import a profile to edit available classes and properties." @@ -1869,11 +1876,11 @@ msgstr "" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select Current Folder" -msgstr "" +msgstr "Piliin Ang Tinututukang Folder" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "File exists, overwrite?" -msgstr "" +msgstr "Mayroon ng katulad na file, ipangpalit ito?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select This Folder" @@ -1975,7 +1982,7 @@ msgstr "Ilipat Pababa ang Paborito" #: editor/editor_file_dialog.cpp msgid "Go to previous folder." -msgstr "Pumunta sa Nakaraang Folder." +msgstr "Pumunta sa nakaraang Folder." #: editor/editor_file_dialog.cpp msgid "Go to next folder." @@ -2077,14 +2084,30 @@ msgstr "Mga Method" msgid "Theme Properties" msgstr "Mga Katangian ng Theme" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Mga Enumerasyon" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Mga Konstant" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Mga Enumerasyon" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Mga Paglalarawan ng Katangian" @@ -2152,7 +2175,7 @@ msgstr "Mga Katangian Lang" #: editor/editor_help_search.cpp msgid "Theme Properties Only" -msgstr "" +msgstr "Mga Katangian ng Tema Lang" #: editor/editor_help_search.cpp msgid "Member Type" @@ -2180,11 +2203,11 @@ msgstr "Katangian" #: editor/editor_help_search.cpp msgid "Theme Property" -msgstr "" +msgstr "Katangian ng Tema" #: editor/editor_inspector.cpp editor/project_settings_editor.cpp msgid "Property:" -msgstr "" +msgstr "Katangian:" #: editor/editor_inspector.cpp editor/scene_tree_dock.cpp #: modules/visual_script/visual_script_property_selector.cpp @@ -2229,7 +2252,7 @@ msgstr "Magsimula" #: editor/editor_network_profiler.cpp msgid "%s/s" -msgstr "" +msgstr "(mga) %s" #: editor/editor_network_profiler.cpp msgid "Down" @@ -2276,7 +2299,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Imported resources can't be saved." -msgstr "" +msgstr "Ang naangkat na mga resources ay hindi masave." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp @@ -2324,7 +2347,7 @@ msgstr "Hindi inaasahang hulihan ng file na '%s'." #: editor/editor_node.cpp msgid "Missing '%s' or its dependencies." -msgstr "" +msgstr "Nawawalang %s o mga kaasahan nito." #: editor/editor_node.cpp msgid "Error while loading '%s'." @@ -2364,7 +2387,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Save All Scenes" -msgstr "" +msgstr "Iimpok Lahat ng Mga Eksena" #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "Can't overwrite scene that is still open!" @@ -2384,7 +2407,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Error saving TileSet!" -msgstr "" +msgstr "Nabigong iimpok ang TileSet!" #: editor/editor_node.cpp msgid "" @@ -2401,7 +2424,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Layout name not found!" -msgstr "" +msgstr "Di mahanap ang pangalan ng Kaayusan!" #: editor/editor_node.cpp msgid "Restored the Default layout to its base settings." @@ -2447,7 +2470,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Save scene before running..." -msgstr "" +msgstr "Isave muna ang eksena bago ito patakbuhin..." #: editor/editor_node.cpp msgid "Could not start subprocess!" @@ -2455,7 +2478,7 @@ msgstr "" #: editor/editor_node.cpp editor/filesystem_dock.cpp msgid "Open Scene" -msgstr "" +msgstr "Magbukas ng Eksena" #: editor/editor_node.cpp msgid "Open Base Scene" @@ -2463,7 +2486,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Quick Open..." -msgstr "" +msgstr "Mabilisang Magbukas..." #: editor/editor_node.cpp msgid "Quick Open Scene..." @@ -2471,19 +2494,19 @@ msgstr "Mabilisang Magbukas ng Eksena..." #: editor/editor_node.cpp msgid "Quick Open Script..." -msgstr "" +msgstr "Mabilisang Magbukas ng Skrip..." #: editor/editor_node.cpp msgid "Save & Close" -msgstr "" +msgstr "I-save & Isara" #: editor/editor_node.cpp msgid "Save changes to '%s' before closing?" -msgstr "" +msgstr "I-save ang mga pagbabago sa '%s' bago isara?" #: editor/editor_node.cpp msgid "%s no longer exists! Please specify a new save location." -msgstr "" +msgstr "Wala na ang %s! Magtakda ulit ng bagong lokasyon sa pagsesave." #: editor/editor_node.cpp msgid "" @@ -2565,11 +2588,11 @@ msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." -msgstr "" +msgstr "Magpatakbo ng Eksena Kaagad..." #: editor/editor_node.cpp msgid "Quit" -msgstr "" +msgstr "Umalis" #: editor/editor_node.cpp msgid "Yes" @@ -2581,7 +2604,7 @@ msgstr "Umalis sa editor?" #: editor/editor_node.cpp msgid "Open Project Manager?" -msgstr "" +msgstr "Buksan ang Talaan ng mga Proyekto?" #: editor/editor_node.cpp msgid "Save & Quit" @@ -2600,6 +2623,8 @@ msgid "" "This option is deprecated. Situations where refresh must be forced are now " "considered a bug. Please report." msgstr "" +"Di na ginagamit ang kaayusan na 'to. Ang mga kaganapan kung saan pilit ang " +"pagrerefresh ay itinuturing na bug. Pakiulat." #: editor/editor_node.cpp msgid "Pick a Main Scene" @@ -2607,11 +2632,11 @@ msgstr "Pumili ng Pangunahing Eksena" #: editor/editor_node.cpp msgid "Close Scene" -msgstr "" +msgstr "Isara ang Eksena" #: editor/editor_node.cpp msgid "Reopen Closed Scene" -msgstr "" +msgstr "Buksan Muli ang Nasarang Eksena" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." @@ -2659,7 +2684,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Clear Recent Scenes" -msgstr "" +msgstr "Puksain Lahat ng mga Kumakailang Eksena" #: editor/editor_node.cpp msgid "" @@ -2667,6 +2692,9 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" +"Walang pangunahing eksenang tinakda. Pumili ng isa?\n" +"Maari mo namang baguhin ito sa \"Kaayusan ng Proyekto\" sa ilalim ng " +"'aplikasyon'." #: editor/editor_node.cpp msgid "" @@ -2684,11 +2712,11 @@ msgstr "" #: editor/editor_node.cpp msgid "Save Layout" -msgstr "" +msgstr "I-save ang Kaayusan" #: editor/editor_node.cpp msgid "Delete Layout" -msgstr "Alisin Ang Pagkaayos" +msgstr "Alisin Ang Kaayusan" #: editor/editor_node.cpp editor/import_dock.cpp #: editor/script_create_dialog.cpp @@ -2702,7 +2730,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Play This Scene" -msgstr "Ipalabas Ang Eksenang Ito" +msgstr "Patakbuhin Ang Eksenang Ito" #: editor/editor_node.cpp msgid "Close Tab" @@ -2774,7 +2802,7 @@ msgstr "Susunod na tab" #: editor/editor_node.cpp msgid "Previous tab" -msgstr "" +msgstr "Nakaraang tab" #: editor/editor_node.cpp msgid "Filter Files..." @@ -2861,7 +2889,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Open Project Data Folder" -msgstr "" +msgstr "Buksan ang Folder ng Datos ng Proyekto" #: editor/editor_node.cpp editor/plugins/tile_set_editor_plugin.cpp msgid "Tools" @@ -2873,7 +2901,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Reload Current Project" -msgstr "" +msgstr "I-reload ang Kasalukuyang Proyekto" #: editor/editor_node.cpp msgid "Quit to Project List" @@ -2966,11 +2994,11 @@ msgstr "" #: editor/editor_node.cpp msgid "Editor Layout" -msgstr "" +msgstr "Kaayusan ng Editor" #: editor/editor_node.cpp msgid "Take Screenshot" -msgstr "" +msgstr "Kumuha ng Screenshot" #: editor/editor_node.cpp msgid "Screenshots are stored in the Editor Data/Settings Folder." @@ -2978,7 +3006,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Toggle Fullscreen" -msgstr "" +msgstr "Pumalit sa Buong Tabing" #: editor/editor_node.cpp msgid "Toggle System Console" @@ -3010,7 +3038,7 @@ msgstr "Tulong" #: editor/editor_node.cpp msgid "Online Documentation" -msgstr "" +msgstr "Mga Kasulatan sa Online" #: editor/editor_node.cpp msgid "Questions & Answers" @@ -3038,15 +3066,15 @@ msgstr "Tungkol sa Godot" #: editor/editor_node.cpp msgid "Support Godot Development" -msgstr "" +msgstr "Suportahan ang Development ng Godot" #: editor/editor_node.cpp msgid "Play the project." -msgstr "Ipalabas ang proyekto." +msgstr "Patakbuhin ang proyekto." #: editor/editor_node.cpp msgid "Play" -msgstr "Ipalabas" +msgstr "Patakbuhin" #: editor/editor_node.cpp msgid "Pause the scene execution for debugging." @@ -3074,16 +3102,16 @@ msgstr "Ipalabas ang pasadyang eksena" #: editor/editor_node.cpp msgid "Play Custom Scene" -msgstr "" +msgstr "Patakbuhin ang Pinasadyang Eksena" #: editor/editor_node.cpp msgid "Changing the video driver requires restarting the editor." -msgstr "" +msgstr "Ang pagpapalit ng video driver ay kinakailangan ng pagreset ng editor." #: editor/editor_node.cpp editor/project_settings_editor.cpp #: editor/settings_config_dialog.cpp msgid "Save & Restart" -msgstr "" +msgstr "I-save & Simulan muli" #: editor/editor_node.cpp msgid "Update Continuously" @@ -3103,19 +3131,19 @@ msgstr "" #: editor/editor_node.cpp msgid "Inspector" -msgstr "" +msgstr "Taga-siyasat" #: editor/editor_node.cpp msgid "Expand Bottom Panel" -msgstr "" +msgstr "Palakihin ang Babang Tabing" #: editor/editor_node.cpp msgid "Output" -msgstr "" +msgstr "Kalabasan" #: editor/editor_node.cpp msgid "Don't Save" -msgstr "" +msgstr "'Wag I-save" #: editor/editor_node.cpp msgid "Android build template is missing, please install relevant templates." @@ -3194,7 +3222,7 @@ msgstr "Isalba muli" #: editor/editor_node.cpp msgid "New Inherited" -msgstr "" +msgstr "Bagong minana" #: editor/editor_node.cpp msgid "Load Errors" @@ -3206,15 +3234,15 @@ msgstr "Magpili" #: editor/editor_node.cpp msgid "Select Current" -msgstr "" +msgstr "Piliin ang Tinututukan" #: editor/editor_node.cpp msgid "Open 2D Editor" -msgstr "" +msgstr "Buksan ang 2D Editor" #: editor/editor_node.cpp msgid "Open 3D Editor" -msgstr "" +msgstr "Buksan ang 3D Editor" #: editor/editor_node.cpp msgid "Open Script Editor" @@ -3254,15 +3282,15 @@ msgstr "" #: editor/editor_plugin_settings.cpp msgid "Main Script:" -msgstr "" +msgstr "Pangunahing Skrip:" #: editor/editor_plugin_settings.cpp msgid "Edit Plugin" -msgstr "" +msgstr "Ayusin ang Plugin" #: editor/editor_plugin_settings.cpp msgid "Installed Plugins:" -msgstr "" +msgstr "Nakaimpok na mga Plugin:" #: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp msgid "Update" @@ -3270,21 +3298,21 @@ msgstr "" #: editor/editor_plugin_settings.cpp msgid "Version" -msgstr "" +msgstr "Bersyon" #: editor/editor_plugin_settings.cpp msgid "Author" -msgstr "" +msgstr "May-akda" #: editor/editor_plugin_settings.cpp #: editor/plugins/version_control_editor_plugin.cpp #: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" -msgstr "" +msgstr "Kalagayan" #: editor/editor_profiler.cpp msgid "Measure:" -msgstr "" +msgstr "Sukat:" #: editor/editor_profiler.cpp msgid "Frame Time (ms)" @@ -3304,7 +3332,7 @@ msgstr "" #: editor/editor_profiler.cpp msgid "Inclusive" -msgstr "" +msgstr "Mapagsaklaw" #: editor/editor_profiler.cpp msgid "Self" @@ -3326,11 +3354,11 @@ msgstr "" #: editor/editor_profiler.cpp msgid "Time" -msgstr "" +msgstr "Oras" #: editor/editor_profiler.cpp msgid "Calls" -msgstr "" +msgstr "Mga Tawag" #: editor/editor_properties.cpp msgid "Edit Text:" @@ -3376,7 +3404,7 @@ msgstr "" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Pick a Viewport" -msgstr "" +msgstr "Pumili ng Tinginan" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Selected node is not a Viewport!" @@ -3437,19 +3465,19 @@ msgstr "Idikit" #: editor/editor_resource_picker.cpp editor/property_editor.cpp msgid "Convert to %s" -msgstr "" +msgstr "Gawing %s" #: editor/editor_resource_picker.cpp editor/property_editor.cpp msgid "New %s" -msgstr "" +msgstr "Bagong %s" #: editor/editor_resource_picker.cpp editor/property_editor.cpp msgid "New Script" -msgstr "" +msgstr "Bagong Skrip" #: editor/editor_resource_picker.cpp editor/scene_tree_dock.cpp msgid "Extend Script" -msgstr "" +msgstr "Palawigin ang Skrip" #: editor/editor_run_native.cpp msgid "" @@ -3476,11 +3504,11 @@ msgstr "" #: editor/editor_run_script.cpp msgid "Couldn't run script:" -msgstr "" +msgstr "Di-mapatakbo ang skrip:" #: editor/editor_run_script.cpp msgid "Did you forget the '_run' method?" -msgstr "" +msgstr "Nakalimutan mo ba ang '_run' method?" #: editor/editor_spin_slider.cpp msgid "Hold %s to round to integers. Hold Shift for more precise changes." @@ -3488,19 +3516,19 @@ msgstr "" #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" -msgstr "" +msgstr "Pumili ng (mga) Node na Iaangkat" #: editor/editor_sub_scene.cpp editor/project_manager.cpp msgid "Browse" -msgstr "" +msgstr "Maghanap" #: editor/editor_sub_scene.cpp msgid "Scene Path:" -msgstr "" +msgstr "Kinalalagyan ng Eksena:" #: editor/editor_sub_scene.cpp msgid "Import From Node:" -msgstr "" +msgstr "Magangkat mula sa Node:" #: editor/export_template_manager.cpp msgid "Open the folder containing these templates." @@ -3557,7 +3585,7 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Download complete; extracting templates..." -msgstr "" +msgstr "Tapos na ang pagdadownload; kinukuha na ang mga template..." #: editor/export_template_manager.cpp msgid "Cannot remove temporary file:" @@ -3602,15 +3630,15 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Connecting..." -msgstr "" +msgstr "Kumukunekta..." #: editor/export_template_manager.cpp msgid "Can't Connect" -msgstr "" +msgstr "Di-makakonek" #: editor/export_template_manager.cpp msgid "Connected" -msgstr "" +msgstr "Naka-konek" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -3619,7 +3647,7 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Downloading" -msgstr "" +msgstr "Dinadawnload" #: editor/export_template_manager.cpp msgid "Connection Error" @@ -3651,7 +3679,7 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Importing:" -msgstr "" +msgstr "Inaangkat:" #: editor/export_template_manager.cpp msgid "Remove templates for the version '%s'?" @@ -3667,7 +3695,7 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Current Version:" -msgstr "" +msgstr "Kasalukuyang Bersyon:" #: editor/export_template_manager.cpp msgid "Export templates are missing. Download them or install from a file." @@ -3679,7 +3707,7 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Open Folder" -msgstr "" +msgstr "Buksan ang Folder" #: editor/export_template_manager.cpp msgid "Open the folder containing installed templates for the current version." @@ -3687,7 +3715,7 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Uninstall" -msgstr "" +msgstr "I-uninstall" #: editor/export_template_manager.cpp msgid "Uninstall templates for the current version." @@ -3695,11 +3723,11 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Download from:" -msgstr "" +msgstr "Magdownload mula sa:" #: editor/export_template_manager.cpp msgid "Open in Web Browser" -msgstr "" +msgstr "Buksan sa Web Browser" #: editor/export_template_manager.cpp msgid "Copy Mirror URL" @@ -3707,7 +3735,7 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Download and Install" -msgstr "" +msgstr "I-download at i-install" #: editor/export_template_manager.cpp msgid "" @@ -3721,7 +3749,7 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Install from File" -msgstr "" +msgstr "Uminstall mula sa File" #: editor/export_template_manager.cpp msgid "Install templates from a local file." @@ -3730,7 +3758,7 @@ msgstr "" #: editor/export_template_manager.cpp editor/find_in_files.cpp #: editor/progress_dialog.cpp scene/gui/dialogs.cpp msgid "Cancel" -msgstr "" +msgstr "Kanselahin" #: editor/export_template_manager.cpp msgid "Cancel the download of the templates." @@ -3781,7 +3809,7 @@ msgstr "" #: editor/filesystem_dock.cpp msgid "Error moving:" -msgstr "" +msgstr "Nabigo ang paglipat:" #: editor/filesystem_dock.cpp msgid "Error duplicating:" @@ -3793,7 +3821,7 @@ msgstr "" #: editor/filesystem_dock.cpp editor/scene_tree_editor.cpp msgid "No name provided." -msgstr "" +msgstr "Walang pangalang binagay." #: editor/filesystem_dock.cpp msgid "Provided name contains invalid characters." @@ -3843,7 +3871,7 @@ msgstr "" #: editor/filesystem_dock.cpp msgid "Open Scenes" -msgstr "" +msgstr "Magbukas ng mga Eksena" #: editor/filesystem_dock.cpp msgid "Instance" @@ -3859,23 +3887,23 @@ msgstr "" #: editor/filesystem_dock.cpp msgid "Edit Dependencies..." -msgstr "" +msgstr "Baguhin ang mga Kaasahan..." #: editor/filesystem_dock.cpp msgid "View Owners..." -msgstr "" +msgstr "Tingnan ang mga May-ari..." #: editor/filesystem_dock.cpp msgid "Move To..." -msgstr "" +msgstr "Ilipat sa..." #: editor/filesystem_dock.cpp msgid "New Scene..." -msgstr "" +msgstr "Bagong Eksena..." #: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp msgid "New Script..." -msgstr "" +msgstr "Bagong Skrip..." #: editor/filesystem_dock.cpp msgid "New Resource..." @@ -3885,25 +3913,25 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp #: editor/script_editor_debugger.cpp msgid "Expand All" -msgstr "" +msgstr "Palakihin lahat" #: editor/filesystem_dock.cpp editor/inspector_dock.cpp #: editor/plugins/visual_shader_editor_plugin.cpp #: editor/script_editor_debugger.cpp msgid "Collapse All" -msgstr "" +msgstr "Isara lahat" #: editor/filesystem_dock.cpp msgid "Sort files" -msgstr "" +msgstr "Ayusin ang mga file" #: editor/filesystem_dock.cpp msgid "Sort by Name (Ascending)" -msgstr "" +msgstr "Ayusin Ukol sa Pangalan (Pataas)" #: editor/filesystem_dock.cpp msgid "Sort by Name (Descending)" -msgstr "" +msgstr "Ayusin Ukol sa Pangalan (Pababa)" #: editor/filesystem_dock.cpp msgid "Sort by Type (Ascending)" @@ -3927,11 +3955,11 @@ msgstr "" #: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Rename..." -msgstr "" +msgstr "Baguhin ang pangalan..." #: editor/filesystem_dock.cpp msgid "Focus the search box" -msgstr "" +msgstr "Itutok ang kahong panghanap" #: editor/filesystem_dock.cpp msgid "Previous Folder/File" @@ -3961,7 +3989,7 @@ msgstr "" #: editor/filesystem_dock.cpp msgid "Move" -msgstr "" +msgstr "Ilipat" #: editor/filesystem_dock.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -3984,11 +4012,11 @@ msgstr "" #: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp msgid "Find in Files" -msgstr "" +msgstr "Hanapin sa mga file" #: editor/find_in_files.cpp msgid "Find:" -msgstr "" +msgstr "Hanapin:" #: editor/find_in_files.cpp msgid "Folder:" @@ -4761,7 +4789,7 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation" -msgstr "" +msgstr "Animasyon" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/version_control_editor_plugin.cpp @@ -5468,18 +5496,20 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Locked" -msgstr "" +msgstr "Nakakandado" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Grouped" -msgstr "" +msgstr "Nakapangkat" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" "Children of containers have their anchors and margins values overridden by " "their parent." msgstr "" +"Ang mga supling ng mga lalagyan ay may mga angkla at halaga ng mga margin na " +"napalitan ng magulang nila." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Presets for the anchors and margins values of a Control node." @@ -5525,7 +5555,7 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Center" -msgstr "" +msgstr "Gitna" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Left Wide" @@ -5553,23 +5583,23 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Full Rect" -msgstr "" +msgstr "Buong Sukat" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Keep Ratio" -msgstr "" +msgstr "Panatiliin Ang Ratio" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" -msgstr "" +msgstr "Mga angkla lang" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Anchors and Margins" -msgstr "" +msgstr "Ibahin Ang Mga Angkla at Gilid" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Anchors" -msgstr "" +msgstr "Ibahin Ang Mga Angkla" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5577,6 +5607,8 @@ msgid "" "Project Camera Override\n" "Overrides the running project's camera with the editor viewport camera." msgstr "" +"Pagpapalit ng Kamera ng Proyekto\n" +"Pinapalitan ang kamera ng tumatakbong proyekto sa kamera ng editor viewport." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5599,12 +5631,12 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Group Selected" -msgstr "" +msgstr "Ipangkat Ang Napili" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Ungroup Selected" -msgstr "" +msgstr "Ibuwag Ang Pangkat ng Napili" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Paste Pose" @@ -5612,15 +5644,15 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Guides" -msgstr "" +msgstr "Alisin Ang Mga Patnubay" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create Custom Bone(s) from Node(s)" -msgstr "" +msgstr "Lumikha ng (Mga) Pasadyang Buto Mula sa (Mga) Node" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Bones" -msgstr "" +msgstr "Alisin Ang Mga Buto" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make IK Chain" @@ -5646,7 +5678,7 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Select Mode" -msgstr "" +msgstr "Paraan ng Pagpili" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5655,11 +5687,11 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+Drag: Move selected node." -msgstr "" +msgstr "Alt+Drag: Maglipat ng napiling node." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "V: Set selected node's pivot position." -msgstr "" +msgstr "V: Itakda ang posisyon ng pivot sa node." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5673,17 +5705,17 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Move Mode" -msgstr "" +msgstr "Paraan ng Paggalaw" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate Mode" -msgstr "" +msgstr "Paraan ng Pag-ikot" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale Mode" -msgstr "" +msgstr "Paraan ng Pagpapalaki" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5691,18 +5723,20 @@ msgid "" "Show a list of all objects at the position clicked\n" "(same as Alt+RMB in select mode)." msgstr "" +"Ipakita ang tala ng lahat ng mga object sa posisyon ng napindot.\n" +"(parehas ng Alt+RMB sa paraang papili)." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Click to change object's rotation pivot." -msgstr "" +msgstr "Pindutin upang ibahin ang pivot ng pagikot ng object." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Pan Mode" -msgstr "" +msgstr "Paraan ng Pag-pan" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Ruler Mode" -msgstr "" +msgstr "Paraan ng Pag-sukat" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggle smart snapping." @@ -5795,24 +5829,24 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" -msgstr "" +msgstr "Pagsasaayos ng Kalansay" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Bones" -msgstr "" +msgstr "Ipakita Ang Mga Buto" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make Custom Bone(s) from Node(s)" -msgstr "" +msgstr "Lumikha ng (Mga) Pasadyang Buto Galing sa (Mga) Node" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Custom Bones" -msgstr "" +msgstr "Alisin Ang Mga Pasadyang Buto" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" -msgstr "" +msgstr "Tingnan" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Always Show Grid" @@ -5824,7 +5858,7 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Rulers" -msgstr "" +msgstr "Ipakita Ang Mga Ruler" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Guides" @@ -5844,7 +5878,7 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Center Selection" -msgstr "" +msgstr "Igitna Ang Napili" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Frame Selection" @@ -8279,18 +8313,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -8396,7 +8418,7 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible font items." -msgstr "" +msgstr "Piliin lahat ng nakikitang font items." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all visible font items and their data." @@ -8435,30 +8457,32 @@ msgid "" "Caution: Adding icon data may considerably increase the size of your Theme " "resource." msgstr "" +"Babala: Ang paglalagay ng icon data ay maaring magpalaki ng resource ng Tema " +"mo." #: editor/plugins/theme_editor_plugin.cpp msgid "Collapse types." -msgstr "" +msgstr "Paliitin ang mga uri." #: editor/plugins/theme_editor_plugin.cpp msgid "Expand types." -msgstr "" +msgstr "Ipalaki ang mga uri." #: editor/plugins/theme_editor_plugin.cpp msgid "Select all Theme items." -msgstr "" +msgstr "Piliin lahat ng mga items ng Tema." #: editor/plugins/theme_editor_plugin.cpp msgid "Select With Data" -msgstr "" +msgstr "Pumili na may Data" #: editor/plugins/theme_editor_plugin.cpp msgid "Select all Theme items with item data." -msgstr "" +msgstr "Piliin lahat ng mga item ng Temang may item data." #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect All" -msgstr "" +msgstr "I-deselect Lahat" #: editor/plugins/theme_editor_plugin.cpp msgid "Deselect all Theme items." @@ -8487,11 +8511,11 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Rename Item" -msgstr "" +msgstr "Baguhin ang Pangalan ng Item" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Constant Items" -msgstr "" +msgstr "Alisin Lahat ng Constant Items" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Font Items" @@ -8513,11 +8537,11 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Add Color Item" -msgstr "" +msgstr "Magdagdag ng Color Item" #: editor/plugins/theme_editor_plugin.cpp msgid "Add Constant Item" -msgstr "" +msgstr "Magdagdag ng Constant Item" #: editor/plugins/theme_editor_plugin.cpp msgid "Add Font Item" @@ -8605,7 +8629,7 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Old Name:" -msgstr "" +msgstr "Lumang Pangalan:" #: editor/plugins/theme_editor_plugin.cpp msgid "Import Items" @@ -8651,7 +8675,7 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Add Type" -msgstr "" +msgstr "Magdagdag ng Uri" #: editor/plugins/theme_editor_plugin.cpp msgid "Add Item Type" @@ -8663,7 +8687,7 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" -msgstr "" +msgstr "Ipakita ang Karaniwan" #: editor/plugins/theme_editor_plugin.cpp msgid "Show default type items alongside items that have been overridden." @@ -8699,7 +8723,7 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Select UI Scene:" -msgstr "" +msgstr "Pumili ng Eksenang UI:" #: editor/plugins/theme_editor_preview.cpp msgid "" @@ -8826,15 +8850,15 @@ msgstr "" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Line Draw" -msgstr "" +msgstr "Gumuhit ng Linya" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rectangle Paint" -msgstr "" +msgstr "Parihabang Pagpintura" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Bucket Fill" -msgstr "" +msgstr "Papuno" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase TileMap" @@ -8914,35 +8938,35 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" -msgstr "" +msgstr "Lumikha galing sa Eksena" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from Scene" -msgstr "" +msgstr "Ipagsama galing sa Eksena" #: editor/plugins/tile_set_editor_plugin.cpp msgid "New Single Tile" -msgstr "" +msgstr "Bagong Single Tile" #: editor/plugins/tile_set_editor_plugin.cpp msgid "New Autotile" -msgstr "" +msgstr "Bagong Pakusang-pagtatayl" #: editor/plugins/tile_set_editor_plugin.cpp msgid "New Atlas" -msgstr "" +msgstr "Bagong Atlas" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Next Coordinate" -msgstr "" +msgstr "Susunod na Koordinayt" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Select the next shape, subtile, or Tile." -msgstr "" +msgstr "Piliin ang susunod na hugis, subtile, o Tile." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Previous Coordinate" -msgstr "" +msgstr "Nakaraang Koordinayt" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Select the previous shape, subtile, or Tile." @@ -8950,7 +8974,7 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Region" -msgstr "" +msgstr "Saklaw" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Collision" @@ -8962,7 +8986,7 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Navigation" -msgstr "" +msgstr "Nabigasyon" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Bitmask" @@ -8970,15 +8994,15 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Priority" -msgstr "" +msgstr "Pagpapahalaga" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Icon" -msgstr "" +msgstr "Icon" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Z Index" -msgstr "" +msgstr "Index ng Z" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Region Mode" @@ -9014,39 +9038,39 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." -msgstr "" +msgstr "Kopyahin ang bitmask." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Paste bitmask." -msgstr "" +msgstr "I-pasta ang bitmask." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Erase bitmask." -msgstr "" +msgstr "Burahin ang bitmask." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new rectangle." -msgstr "" +msgstr "Lumikha ng bagong parihaba." #: editor/plugins/tile_set_editor_plugin.cpp msgid "New Rectangle" -msgstr "" +msgstr "Bagong Parisukat" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." -msgstr "" +msgstr "Gumawa ng bagong polygon." #: editor/plugins/tile_set_editor_plugin.cpp msgid "New Polygon" -msgstr "" +msgstr "Bagong Polygon" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Delete Selected Shape" -msgstr "" +msgstr "Burahin ang Napiling Hugis" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." -msgstr "" +msgstr "Panatiliing nasaloob ang polygon sa loob ng saklaw ng parisukat." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Enable snap and show grid (configurable via the Inspector)." @@ -9067,7 +9091,7 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp msgid "You haven't selected a texture to remove." -msgstr "" +msgstr "Wala ka pang napili na textura na aalisin." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from scene? This will overwrite all current tiles." @@ -9103,7 +9127,7 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Delete polygon." -msgstr "" +msgstr "Burahin ang polygon." #: editor/plugins/tile_set_editor_plugin.cpp msgid "" @@ -9134,19 +9158,19 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Set Tile Region" -msgstr "" +msgstr "Itakda ang Saklaw ng Tile" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create Tile" -msgstr "" +msgstr "Gumawa ng Tile" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Set Tile Icon" -msgstr "" +msgstr "Itakda ang Icon ng Tile" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Edit Tile Bitmask" -msgstr "" +msgstr "Ayusin ang Bitmask ng Tile" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Edit Collision Polygon" @@ -9178,7 +9202,7 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" -msgstr "" +msgstr "Alisin ang Tile" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Collision Polygon" @@ -9230,7 +9254,7 @@ msgstr "" #: editor/plugins/version_control_editor_plugin.cpp msgid "Error" -msgstr "" +msgstr "Nabigo" #: editor/plugins/version_control_editor_plugin.cpp msgid "No files added to stage" @@ -9238,7 +9262,7 @@ msgstr "" #: editor/plugins/version_control_editor_plugin.cpp msgid "Commit" -msgstr "" +msgstr "Magcommit" #: editor/plugins/version_control_editor_plugin.cpp msgid "VCS Addon is not initialized" @@ -9250,7 +9274,7 @@ msgstr "" #: editor/plugins/version_control_editor_plugin.cpp msgid "Initialize" -msgstr "" +msgstr "Simulan" #: editor/plugins/version_control_editor_plugin.cpp msgid "Staging area" @@ -9258,27 +9282,27 @@ msgstr "" #: editor/plugins/version_control_editor_plugin.cpp msgid "Detect new changes" -msgstr "" +msgstr "Pansinin ang anumang pagbabago" #: editor/plugins/version_control_editor_plugin.cpp msgid "Changes" -msgstr "" +msgstr "Mga Pagbabago" #: editor/plugins/version_control_editor_plugin.cpp msgid "Modified" -msgstr "" +msgstr "Binago" #: editor/plugins/version_control_editor_plugin.cpp msgid "Renamed" -msgstr "" +msgstr "Inibang Pangalan" #: editor/plugins/version_control_editor_plugin.cpp msgid "Deleted" -msgstr "" +msgstr "Nabura" #: editor/plugins/version_control_editor_plugin.cpp msgid "Typechange" -msgstr "" +msgstr "Pagbabago ng uri" #: editor/plugins/version_control_editor_plugin.cpp msgid "Stage Selected" @@ -9290,7 +9314,7 @@ msgstr "" #: editor/plugins/version_control_editor_plugin.cpp msgid "Commit Changes" -msgstr "" +msgstr "I-commit Lahat ng Pagbabago" #: editor/plugins/version_control_editor_plugin.cpp msgid "View file diffs before committing them to the latest version" @@ -9322,19 +9346,19 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Boolean" -msgstr "" +msgstr "Boolean" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Sampler" -msgstr "" +msgstr "Sampler" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Add input port" -msgstr "" +msgstr "Maglagay ng input port" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Add output port" -msgstr "" +msgstr "Maglagay ng output port" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Change input port type" @@ -10951,7 +10975,7 @@ msgstr "" #: editor/project_settings_editor.cpp msgid "Plugins" -msgstr "" +msgstr "Mga Plugin" #: editor/project_settings_editor.cpp msgid "Import Defaults" @@ -12359,43 +12383,43 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Variables:" -msgstr "" +msgstr "Mga Variable:" #: modules/visual_script/visual_script_editor.cpp msgid "Create a new variable." -msgstr "" +msgstr "Gumawa ng bagong variable." #: modules/visual_script/visual_script_editor.cpp msgid "Signals:" -msgstr "" +msgstr "Mga Hudyat:" #: modules/visual_script/visual_script_editor.cpp msgid "Create a new signal." -msgstr "" +msgstr "Gumawa ng bagong hudyat." #: modules/visual_script/visual_script_editor.cpp msgid "Name is not a valid identifier:" -msgstr "" +msgstr "Hindi wastong pangkilala ang pangalan:" #: modules/visual_script/visual_script_editor.cpp msgid "Name already in use by another func/var/signal:" -msgstr "" +msgstr "Ginagamit na ang pangalan ng ibang punsyon/var/hudyat:" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Function" -msgstr "" +msgstr "Ibahin ang Pangalan ng Punsyon" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Variable" -msgstr "" +msgstr "Pangalanan muli ang Variable" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Signal" -msgstr "" +msgstr "Pangalanan muli ang Hudyat" #: modules/visual_script/visual_script_editor.cpp msgid "Add Function" -msgstr "" +msgstr "Magdagdag ng Punsyon" #: modules/visual_script/visual_script_editor.cpp msgid "Delete input port" @@ -12407,7 +12431,7 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Add Signal" -msgstr "" +msgstr "Magdagdag ng Hudyat" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Input Port" @@ -12419,7 +12443,7 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Change Expression" -msgstr "" +msgstr "Ibahin ang Ekspresyon" #: modules/visual_script/visual_script_editor.cpp msgid "Remove VisualScript Nodes" @@ -12493,11 +12517,11 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Connect Nodes" -msgstr "" +msgstr "Ikonecta ang mga Node" #: modules/visual_script/visual_script_editor.cpp msgid "Disconnect Nodes" -msgstr "" +msgstr "Idiskonecta ang mga Node" #: modules/visual_script/visual_script_editor.cpp msgid "Connect Node Data" @@ -12509,19 +12533,19 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Script already has function '%s'" -msgstr "" +msgstr "Mayroon ng punsyong '%s' ang Scrip" #: modules/visual_script/visual_script_editor.cpp msgid "Change Input Value" -msgstr "" +msgstr "Ibahin ang Halaga ng Input" #: modules/visual_script/visual_script_editor.cpp msgid "Resize Comment" -msgstr "" +msgstr "Ibahin ang Laki ng Puna" #: modules/visual_script/visual_script_editor.cpp msgid "Can't copy the function node." -msgstr "" +msgstr "Hindi makopya ang punsyon ng node." #: modules/visual_script/visual_script_editor.cpp msgid "Paste VisualScript Nodes" @@ -12557,31 +12581,31 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Editing Variable:" -msgstr "" +msgstr "Inaayos ang Variable:" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Signal" -msgstr "" +msgstr "Alisin ang Hudyat" #: modules/visual_script/visual_script_editor.cpp msgid "Editing Signal:" -msgstr "" +msgstr "Inaayos ang Hudyat:" #: modules/visual_script/visual_script_editor.cpp msgid "Make Tool:" -msgstr "" +msgstr "Gumawa ng Kagamitan:" #: modules/visual_script/visual_script_editor.cpp msgid "Members:" -msgstr "" +msgstr "Mga Kasapi:" #: modules/visual_script/visual_script_editor.cpp msgid "Change Base Type:" -msgstr "" +msgstr "Ibahin ang Punong Uri:" #: modules/visual_script/visual_script_editor.cpp msgid "Add Nodes..." -msgstr "" +msgstr "Magdagdag ng mga Node..." #: modules/visual_script/visual_script_editor.cpp msgid "Add Function..." @@ -12589,23 +12613,23 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "function_name" -msgstr "" +msgstr "pangalan_ng_punsyon" #: modules/visual_script/visual_script_editor.cpp msgid "Select or create a function to edit its graph." -msgstr "" +msgstr "Pumili o gumawa ng punsyon para ayusin ang graph nito." #: modules/visual_script/visual_script_editor.cpp msgid "Delete Selected" -msgstr "" +msgstr "Ibura ang Nakapili" #: modules/visual_script/visual_script_editor.cpp msgid "Find Node Type" -msgstr "" +msgstr "Hanapin ang Uri ng Node" #: modules/visual_script/visual_script_editor.cpp msgid "Copy Nodes" -msgstr "" +msgstr "Kopyahin ang mga Node" #: modules/visual_script/visual_script_editor.cpp msgid "Cut Nodes" @@ -12613,7 +12637,7 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Make Function" -msgstr "" +msgstr "Gumawa ng Punsyon" #: modules/visual_script/visual_script_editor.cpp msgid "Refresh Graph" @@ -12621,7 +12645,7 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Edit Member" -msgstr "" +msgstr "Ayusin ang Kasapi" #: modules/visual_script/visual_script_flow_control.cpp msgid "Input type not iterable: " @@ -12679,7 +12703,7 @@ msgstr "" #: modules/visual_script/visual_script_property_selector.cpp msgid "Search VisualScript" -msgstr "" +msgstr "Maghanap ng VisualScript" #: modules/visual_script/visual_script_property_selector.cpp msgid "Get %s" @@ -12819,7 +12843,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12828,6 +12857,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" diff --git a/editor/translations/tr.po b/editor/translations/tr.po index 6cab155c7e..95e72abcb8 100644 --- a/editor/translations/tr.po +++ b/editor/translations/tr.po @@ -1,6 +1,6 @@ # Turkish translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Aprın Çor Tigin <kabusturk38@gmail.com>, 2016-2017. # Aykut YILDIRIM <aykutyildirim@windowslive.com>, 2018. @@ -2169,14 +2169,31 @@ msgstr "Metodlar" msgid "Theme Properties" msgstr "Tema Özellikleri" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Numaralandırmalar" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "Renkler" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Sabitler" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "Yazı Tipleri" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "Simgeler" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Styles" +msgstr "Yoldam" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Numaralandırmalar" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Özellik Açıklamaları" @@ -8615,18 +8632,6 @@ msgid "TextureRegion" msgstr "DokuBölgesi" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "Renkler" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "Yazı Tipleri" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "Simgeler" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "StilKutusu" @@ -13401,8 +13406,17 @@ msgstr "" "Eklentileri kullanabilmek için \"Özel Derleme Kullan\" seçeneği aktif olmalı." #: platform/android/export/export_plugin.cpp +#, fuzzy msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" +"\"El Takibi(Hand Tracking)\" sadece \"Xr Modu\" \"Oculus Mobile VR\" " +"olduğunda geçerlidir." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" "\"El Takibi(Hand Tracking)\" sadece \"Xr Modu\" \"Oculus Mobile VR\" " "olduğunda geçerlidir." @@ -13414,6 +13428,27 @@ msgstr "" "geçerlidir." #: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" +"\"AAB Dışa Aktar\" yalnızca \"Özel Yapı Kullan\" etkinleştirildiğinde " +"geçerlidir." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" +"\"AAB Dışa Aktar\" yalnızca \"Özel Yapı Kullan\" etkinleştirildiğinde " +"geçerlidir." + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " @@ -14595,2022 +14630,3 @@ msgstr "uniform için atama." #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Sabit değerler değiştirilemez." - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "Dinlenme duruşu oluştur (kemiklerden)" - -#~ msgid "Bottom" -#~ msgstr "Alt" - -#~ msgid "Left" -#~ msgstr "Sol" - -#~ msgid "Right" -#~ msgstr "Sağ" - -#~ msgid "Front" -#~ msgstr "Ön" - -#~ msgid "Rear" -#~ msgstr "Arka" - -#~ msgid "Nameless gizmo" -#~ msgstr "İsimsiz Gizmo" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "\"Özgürlük Derecesi (Degrees Of Freedom)\" sadece \"Xr Modu\" \"Oculus " -#~ "Mobile VR\" olduğunda geçerlidir." - -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "\"Odak Farkındalığı(Focus Awareness)\" yalnızca \"Xr Modu\" \"Oculus " -#~ "Mobil VR\" olduğunda geçerlidir." - -#~ msgid "Package Contents:" -#~ msgstr "Paket İçerikleri:" - -#~ msgid "Singleton" -#~ msgstr "Tekil nesne" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "'%s' profilini sil? (geri alınamaz)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Etkin Özellikler:" - -#~ msgid "Enabled Features:" -#~ msgstr "Aktif Özellikler:" - -#~ msgid "Unset" -#~ msgstr "Ayarı kaldır" - -#~ msgid "Class Options" -#~ msgstr "Sınıf Seçenekleri" - -#~ msgid "Set" -#~ msgstr "Ayarla" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "'%s' değiştirilmiş kaynak kaydedildi." - -#~ msgid "Q&A" -#~ msgstr "S&C" - -#~ msgid "Status:" -#~ msgstr "Durum:" - -#~ msgid "Edit:" -#~ msgstr "Düzenle:" - -#~ msgid "Redownload" -#~ msgstr "Yeniden İndir" - -#~ msgid "(Installed)" -#~ msgstr "(Kurulu)" - -#~ msgid "(Missing)" -#~ msgstr "(Mevcut Değil)" - -#~ msgid "Request Failed." -#~ msgstr "İstek Başarısız Oldu." - -#~ msgid "Redirect Loop." -#~ msgstr "Yönlendirme Döngüsü." - -#~ msgid "Download Complete." -#~ msgstr "İndirme Tamamlandı." - -#~ msgid "Remove Template" -#~ msgstr "Şablonu Kaldır" - -#~ msgid "Download Templates" -#~ msgstr "Şablonları İndir" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "Listeden ayna seç: (Shift+Tıkla: Tarayıcıda Aç)" - -#~ msgid "Move to Trash" -#~ msgstr "Çöpe At" - -#~ msgid "Expand All Properties" -#~ msgstr "Tüm Özellikleri Genişlet" - -#~ msgid "Collapse All Properties" -#~ msgstr "Tüm Özellikleri Daralt" - -#~ msgid "Copy Params" -#~ msgstr "Değişkenleri Tıpkıla" - -#~ msgid "Open in Help" -#~ msgstr "Yardımda Aç" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "Oyun Kamera Değiştir\n" -#~ "Çalışan oyun örneği yok." - -#~ msgid "Drag: Rotate" -#~ msgstr "Sürükle: Döndürür" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Ekseni Değiştirmek için 'v' dokunacına basın, Ekseni Sürüklemek için " -#~ "(sürüklerken) 'Shift + v' dokunaçlarına basın." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt + RMB: Derin liste seçimi" - -#~ msgid "Clone Down" -#~ msgstr "Aşağıya Eşle" - -#~ msgid "Yaw" -#~ msgstr "Yalpala" - -#~ msgid "Size" -#~ msgstr "Boyut" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "Sürükle: Döndür\n" -#~ "Alt+Sürükle: Taşı\n" -#~ "Alt+RMB: Derin liste seçimi" - -#~ msgid "Sep.:" -#~ msgstr "Ayraç:" - -#~ msgid "Add All" -#~ msgstr "Tümünü Ekle" - -#~ msgid "Theme editing menu." -#~ msgstr "Tema düzenleme menüsü." - -#~ msgid "Create Empty Template" -#~ msgstr "Boş Şablon Oluştur" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "Boş Düzenleyici Kalıbı Oluştur" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "Mevcut Düzenleyici Temasından Oluştur" - -#~ msgid "Data Type:" -#~ msgstr "Veri Türü:" - -#~ msgid "Theme File" -#~ msgstr "Tema Dosyası" - -#~ msgid "Compiled" -#~ msgstr "Derlenmiş" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "%d projeleri listeden kalksın mı?\n" -#~ "Proje klasörü'nün içeriği değiştirilmeyecek." - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "Bu projeyi listeden kaldır?\n" -#~ "Proje klasörünün içeriği değiştirilmeyecek." - -#~ msgid "Templates" -#~ msgstr "Şablonlar" - -#~ msgid "Add Remapped Path" -#~ msgstr "Yeniden Eşlenmiş Yol Ekle" - -#~ msgid "Can not perform with the root node." -#~ msgstr "Kök düğüm ile gerçekleştirilemez." - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "Açılış ekranı resim dosyası okunamadı:" - -#~ msgid "Using default boot splash image." -#~ msgstr "Açılış ekranı resim dosyası okunamadı." - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Bir animasyon oynatıcı kendisini oynamataz, sadece diğer oynatıcılar " -#~ "yapaibilir." - -#~ msgid "Clipboard is empty" -#~ msgstr "Pano boş" - -#~ msgid "" -#~ "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -#~ msgstr "" -#~ "InterpolatedCamera kullanımdan kaldırılmıştır ve Godot 4.0'da " -#~ "kaldırılacaktır." - -#~ msgid "No" -#~ msgstr "Hayır" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Sahne hiç kaydedilmedi. Çalıştırmadan önce kaydedilsin mi?" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "Editör Ayarlarında ADB uygulaması tayin edilmemiş." - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "OpenJDK jarimzalayıcı Editör Ayarlarında yapılandırılmamış." - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "" -#~ "Özel derleme için Editör Ayarları'nda geçerli bir Android SDK yolu " -#~ "gerekir." - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(Kalan Zaman:%d:%02d sn)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "Örüntüler Haritalanıyor: " - -#~ msgid "Lighting Meshes: " -#~ msgstr "Örüntüler Haritalanıyor: " - -#~ msgid "Search complete" -#~ msgstr "Arama tamamlandı" - -#~ msgid "No commit message was provided" -#~ msgstr "Hiçbir işleme mesajı sağlanmadı" - -#~ msgid "Add a commit message" -#~ msgstr "İşleme Mesajı Ekle" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "Bu konumda zaten aynı ada sahip bir dosya veya klasör var." - -#~ msgid "Unable to complete APK alignment." -#~ msgstr "APK hizalaması tamamlanamıyor." - -#~ msgid "Unable to delete unaligned APK." -#~ msgstr "Hizalanmamış APK silinemiyor." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Yerleşim Düzeni kaydedilmeye çalışılırken hata!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Varsayılan düzenleyici yerleşim düzeni geçersiz kılındı." - -#~ msgid "Move pivot" -#~ msgstr "Merkezi Taşı" - -#~ msgid "Move anchor" -#~ msgstr "Çapayı Taşı" - -#~ msgid "Resize CanvasItem" -#~ msgstr "CanvasItem Yeniden Boyutlandır" - -#~ msgid "Polygon->UV" -#~ msgstr "Çokgen->UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV->Çokgen" - -#~ msgid "Add initial export..." -#~ msgstr "İlk dışa aktarmayı ekle ..." - -#~ msgid "Add previous patches..." -#~ msgstr "Önceki yamaları ekle..." - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "'%s' yaması listeden silinsin mi?" - -#~ msgid "Patches" -#~ msgstr "Yamalar" - -#~ msgid "Make Patch" -#~ msgstr "Yama Yap" - -#~ msgid "Pack File" -#~ msgstr "Paket Dosyası" - -#~ msgid "No build apk generated at: " -#~ msgstr "Şurada derleme apk oluşturulmadı: " - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "DosyaSistemi ve İçe Aktarım" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "Verilen yürütülebilir dosya, dışa aktarılırken veya dağıtıldığında, hata " -#~ "ayıklanacak şekilde bu bilgisayarın IP'sine bağlanmaya çalışacaktır." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "" -#~ "Şimdiki sahne hiç kaydedilmedi, lütfen çalıştırmadan önce kaydediniz." - -#~ msgid "Revert" -#~ msgstr "Geri dön" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Bu eylem geri alınamaz. Yine de geri dönsün mü?" - -#~ msgid "Revert Scene" -#~ msgstr "Sahneyi Eski Durumuna Çevir" - -#~ msgid "Clear Script" -#~ msgstr "Betiği Temizle" - -#~ msgid "Issue Tracker" -#~ msgstr "Sorun İzleyici" - -#~ msgid "Request Docs" -#~ msgstr "Belgeleri İste" - -#~ msgid "Help improve the Godot documentation by giving feedback." -#~ msgstr "Dönüt vererek Godot belgelerini iyileştirmeye yardımcı olun." - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "%d değişiklik gerçekleştirildi." - -#~ msgid "Create Static Convex Body" -#~ msgstr "Durağan Dışbükey Gövde Oluştur" - -#~ msgid "Failed creating shapes!" -#~ msgstr "Şekil oluşturma başarısız!" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Bu metot için henüz bir rehber yok. Siz de\n" -#~ "[color=$color][url=$url]hazırlayabilir[/url][/color] ya da \n" -#~ "[color=$color][url=$url2]öneride bulunabilirsiniz[/url][/color]." - -#~ msgid "enum " -#~ msgstr "enum… " - -#~ msgid "Brief Description" -#~ msgstr "Kısa Açıklama" - -#~ msgid "Class Description" -#~ msgstr "Sınıf Açıklaması" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "Proje dışa aktarımı %d hata koduyla başarısız." - -#~ msgid "Password:" -#~ msgstr "Gizyazı:" - -#~ msgid "Pause the scene" -#~ msgstr "Sahneyi duraklat" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Control+" -#~ msgstr "Denetim+" - -#, fuzzy -#~ msgid "Snap to Grid" -#~ msgstr "Izgaraya yapış" - -#, fuzzy -#~ msgid "Add input +" -#~ msgstr "Giriş Ekle" - -#~ msgid "Language" -#~ msgstr "Dil" - -#~ msgid "Inherits" -#~ msgstr "Miras Alınmışlar" - -#~ msgid "Base Type:" -#~ msgstr "Taban Türü:" - -#~ msgid "Available Nodes:" -#~ msgstr "Kullanılabilir Düğümler:" - -#~ msgid "Input" -#~ msgstr "Giriş" - -#~ msgid "Methods:" -#~ msgstr "Metotlar:" - -#~ msgid "Theme Properties:" -#~ msgstr "Tema Özellikleri:" - -#~ msgid "Enumerations:" -#~ msgstr "Numaralandırmalar:" - -#~ msgid "Constants:" -#~ msgstr "Sabitler:" - -#~ msgid "Class Description:" -#~ msgstr "Sınıf Açıklaması:" - -#~ msgid "Property Descriptions:" -#~ msgstr "Özellik Açıklamaları:" - -#~ msgid "Method Descriptions:" -#~ msgstr "Metot Açıklamaları:" - -#, fuzzy -#~ msgid "" -#~ "This will install the Android project for custom builds.\n" -#~ "Note that, in order to use it, it needs to be enabled per export preset." -#~ msgstr "" -#~ "Bu, özel yapımlar için Android projesini yükleyecektir.\n" -#~ "Bunu kullanmak için, içe aktarım ön ayarı başına etkinleştirilmesi " -#~ "gerektiğine dikkat edin." - -#, fuzzy -#~ msgid "Reverse sorting." -#~ msgstr "İsteniyor..." - -#~ msgid "Delete Node(s)?" -#~ msgstr "Düğüm(ler) Silinsin mi?" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "file_type_cache.cch yazma için açılamıyor! dosya türü önbelleğe " -#~ "kaydedilmiyor!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "Gidilemiyor. '%s' bu dosya sisteminde bulunamadı!" - -#~ msgid "Error loading image:" -#~ msgstr "Resim yüklenirken hata:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "Saydamlığı olan nokta yok > 128 bedizde..." - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "Atanın doldurmak için eksiksiz yüzleri yok." - -#~ msgid "Couldn't map area." -#~ msgstr "Alan eşleştirilemedi." - -#~ msgid "Faces contain no area!" -#~ msgstr "Yüzler alan içermez!" - -#~ msgid "No faces!" -#~ msgstr "Yüzler yok!" - -#, fuzzy -#~ msgid "Error: could not load file." -#~ msgstr "Bediz yüklenemedi" - -#, fuzzy -#~ msgid "Error could not load file." -#~ msgstr "Bediz yüklenemedi" - -#~ msgid "Doppler Enable" -#~ msgstr "Çoğaltıcı Aktif" - -#~ msgid "Select Mode (Q)" -#~ msgstr "Seçim Kipi (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "Taşıma Biçimi (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "Döndürme Biçimi (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "Ölçek Biçimi (R)" - -#~ msgid "Local Coords" -#~ msgstr "Yerel Kordinatlar" - -#~ msgid "Snap Mode (%s)" -#~ msgstr "Yapışma Kipi (%s)" - -#~ msgid "Tool Select" -#~ msgstr "Seçim Aracı" - -#~ msgid "Tool Move" -#~ msgstr "Taşıma Aracı" - -#~ msgid "Tool Rotate" -#~ msgstr "Döndürme Aracı" - -#~ msgid "Tool Scale" -#~ msgstr "Ölçek Aracı" - -#, fuzzy -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "" -#~ "Proje listeden kaldırılsın mı? (Klasör içerikleri değiştirilmeyecek)" - -#~ msgid "Project List" -#~ msgstr "Proje Listesi" - -#~ msgid "Exit" -#~ msgstr "Çık" - -#~ msgid "Could not execute PVRTC tool:" -#~ msgstr "PVRTC aracı çalıştırılamadı:" - -#~ msgid "Can't load back converted image using PVRTC tool:" -#~ msgstr "PVRTC aracını kullanarak dönüştürülen bedizi geri yükleyemiyor:" - -#~ msgid "Error initializing FreeType." -#~ msgstr "FreeType başlatılırken hata." - -#~ msgid "Unknown font format." -#~ msgstr "Bilinmeyen yazıtipi formatı." - -#~ msgid "Error loading font." -#~ msgstr "Yazıtipi yükleme hatası." - -#~ msgid "Invalid font size." -#~ msgstr "Geçersiz yazıtipi boyutu." - -#~ msgid "Previous Folder" -#~ msgstr "Önceki Klasör" - -#~ msgid "Next Folder" -#~ msgstr "Sonraki Klasör" - -#, fuzzy -#~ msgid "Open in an external image editor." -#~ msgstr "Sonraki Düzenleyiciyi aç" - -#~ msgid "Reverse" -#~ msgstr "Tersi" - -#~ msgid "Mirror X" -#~ msgstr "X'e Aynala" - -#~ msgid "Mirror Y" -#~ msgstr "Y'ye Aynala" - -#~ msgid "Generating solution..." -#~ msgstr "Çözüm oluşturuluyor..." - -#~ msgid "Generating C# project..." -#~ msgstr "C# projesi üretiliyor..." - -#~ msgid "Failed to create solution." -#~ msgstr "Çözüm oluşturma başarısız." - -#~ msgid "Failed to save solution." -#~ msgstr "Çözüm kaydetme başarısız." - -#~ msgid "Failed to create C# project." -#~ msgstr "C# projesi oluşturma başarısız." - -#~ msgid "Mono" -#~ msgstr "Tekli" - -#~ msgid "About C# support" -#~ msgstr "C# desteği hakkında" - -#~ msgid "Create C# solution" -#~ msgstr "C# Çözümü oluştur" - -#~ msgid "Builds" -#~ msgstr "İnşalar" - -#~ msgid "Build Project" -#~ msgstr "Projeyi İnşa et" - -#, fuzzy -#~ msgid "View log" -#~ msgstr "Dosyaları Görüntüle" - -#~ msgid "WorldEnvironment needs an Environment resource." -#~ msgstr "WorldEnvironment bir Environment kaynağı gerektirir." - -#, fuzzy -#~ msgid "Enabled Classes" -#~ msgstr "Sınıfları Ara" - -#~ msgid "Update Always" -#~ msgstr "Sürekli Güncelle" - -#~ msgid "Raw Mode" -#~ msgstr "Ham Kip" - -#~ msgid "Path to Node:" -#~ msgstr "Düğüm Yolu:" - -#~ msgid "Delete selected files?" -#~ msgstr "Seçili dosyalar silinsin mi?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "'res://default_bus_layout.tres' dosyası bulunamadı." - -#~ msgid "Go to parent folder" -#~ msgstr "Üst klasöre git" - -#~ msgid "Open Scene(s)" -#~ msgstr "Sahne(ler) Aç" - -#~ msgid "Previous Directory" -#~ msgstr "Önceki Dizin" - -#~ msgid "Next Directory" -#~ msgstr "Sıradaki Dizin" - -#~ msgid "Ease in" -#~ msgstr "Açılma" - -#~ msgid "Ease out" -#~ msgstr "Kararma" - -#~ msgid "Create Convex Static Body" -#~ msgstr "Dışbükey Durağan Gövde Oluştur" - -#~ msgid "CheckBox Radio1" -#~ msgstr "OnayKutusu Radyo1" - -#~ msgid "CheckBox Radio2" -#~ msgstr "OnayKutusu Radyo2" - -#~ msgid "Create folder" -#~ msgstr "Klasör Oluştur" - -#, fuzzy -#~ msgid "Custom Node" -#~ msgstr "Düğümleri Kes" - -#~ msgid "Invalid Path" -#~ msgstr "Geçersiz Yol" - -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "IzgaraHaritası Seçimi Çoğalt" - -#~ msgid "Create Area" -#~ msgstr "Alan Oluştur" - -#~ msgid "Create Exterior Connector" -#~ msgstr "Dış Bağlayıcı Oluştur" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "Sinyal Değiştirgenlerini Düzenle:" - -#~ msgid "Edit Variable:" -#~ msgstr "Değişkeni Düzenle:" - -#, fuzzy -#~ msgid "Snap (s): " -#~ msgstr "Yapış (Noktalara):" - -#, fuzzy -#~ msgid "Insert keys." -#~ msgstr "Anahtarları Gir" - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "Seçilen sahneyi/sahneleri seçilen düğüme çocuk olarak örneklendir." - -#, fuzzy -#~ msgid "Font Size:" -#~ msgstr "Kaynak Yazı Türü Boyutu:" - -#~ msgid "Line:" -#~ msgstr "Satır:" - -#~ msgid "Col:" -#~ msgstr "Sütun:" - -#, fuzzy -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "" -#~ "PathFollow2D yalnızca Path2D düğümünün çocuğu olarak ayarlanınca çalışır." - -#, fuzzy -#~ msgid "Add Split" -#~ msgstr "Nokta Ekle" - -#, fuzzy -#~ msgid "Invalid Split: " -#~ msgstr "Geçersiz yol!" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "Noktayı kaldır" - -#, fuzzy -#~ msgid "Poly" -#~ msgstr "Çokluyu Düzenleyin" - -#, fuzzy -#~ msgid "Splits" -#~ msgstr "Yolu Ayır" - -#, fuzzy -#~ msgid "Add Node.." -#~ msgstr "Düğüm Ekle" - -#~ msgid "Create from scene?" -#~ msgstr "Sahneden mi oluşturulsun?" - -#~ msgid "Create Poly" -#~ msgstr "Çoklu Oluşturun" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "Sıfırdan yeni bir çokgen oluşturun" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "Uzaklaştır" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "Yaklaştır" - -#~ msgid "Create Poly3D" -#~ msgstr "Çoklu3B Oluştur" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "Bu düğümde OccluderPolygon2D kaynağı yok.\n" -#~ "Oluştur ve bir tane ata?" - -#~ msgid "LMB: Move Point." -#~ msgstr "LMB: Taşıma Noktası." - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl + LMB: Parçayı Böl." - -#~ msgid "RMB: Erase Point." -#~ msgstr "RMB: Noktayı Sil." - -#, fuzzy -#~ msgid "New TextFile" -#~ msgstr "Dosyaları Görüntüle" - -#~ msgid "Save Theme As" -#~ msgstr "Temayı Farklı Kaydet" - -#~ msgid "<None>" -#~ msgstr "<Yok>" - -#~ msgid "" -#~ "Select sub-tile to use as icon, this will be also used on invalid " -#~ "autotile bindings." -#~ msgstr "" -#~ "Simge olarak kullanmak işin alt-karo seç, bu aynı zamanda geçersiz oto-" -#~ "karo bağlantılarında kullanılacaktır." - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "Yaklaş (%):" - -#~ msgid "Class List:" -#~ msgstr "Sınıf Listesi:" - -#~ msgid "Public Methods" -#~ msgstr "Açık Metodlar" - -#~ msgid "Public Methods:" -#~ msgstr "Açık Metotlar:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "Grafik Arayüzü Tema Öğeleri:" - -#, fuzzy -#~ msgid "Property: " -#~ msgstr "Özellik:" - -#, fuzzy -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Klasör durumunu Beğenilen olarak değiştir" - -#, fuzzy -#~ msgid "Show current scene file." -#~ msgstr "Şuanki düzenlenmiş alt-döşemeyi seç." - -#, fuzzy -#~ msgid "Whole words" -#~ msgstr "Tam Kelimeler" - -#, fuzzy -#~ msgid "Match case" -#~ msgstr "Büyük/Küçük Harf Eşleştir" - -#~ msgid "Ok" -#~ msgstr "Tamam" - -#~ msgid "Show In File System" -#~ msgstr "Dosya Sisteminde Göster" - -#~ msgid "Search the class hierarchy." -#~ msgstr "Sınıf hiyerarşisi ara." - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "Sınıfları Ara" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "" -#~ "Gömülü betik dosyaları yalnızca ait oldukları sahne yüklendiğinde " -#~ "düzenlenebilirler" - -#~ msgid "Convert To Uppercase" -#~ msgstr "Büyük Harfe Dönüştür" - -#~ msgid "Convert To Lowercase" -#~ msgstr "Küçük Harfe Dönüştür" - -#~ msgid "Rotate 0 degrees" -#~ msgstr "0 Düzeyde Döndür" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "90 Düzeyde Döndür" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "180 Düzeyde Döndür" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "270 Düzeyde Döndür" - -#~ msgid "Errors:" -#~ msgstr "Hatalar:" - -#~ msgid "Stack Trace (if applicable):" -#~ msgstr "İzi Yığ (uygulanabilirse):" - -#~ msgid "Bake!" -#~ msgstr "Pişir!" - -#~ msgid "Bake the navigation mesh." -#~ msgstr "Yönlendirici örüntüsünü pişir." - -#~ msgid "Get" -#~ msgstr "Al" - -#~ msgid "Change RGB Constant" -#~ msgstr "RGB Sabitini Değiştir" - -#~ msgid "Change Vec Scalar Operator" -#~ msgstr "Vec Basamaklı İşletmeni Değiştir" - -#~ msgid "Change RGB Operator" -#~ msgstr "RGB İşletmenini Değiştir" - -#~ msgid "Toggle Rot Only" -#~ msgstr "Yalnız Döndürmeye Geçiş Yap" - -#~ msgid "Change Vec Function" -#~ msgstr "Vec İşlevini Değiştir" - -#~ msgid "Change RGB Uniform" -#~ msgstr "RGB Tekdüzenini Değiştir" - -#~ msgid "Change Default Value" -#~ msgstr "Varsayılan Değeri Değiştir" - -#~ msgid "Change XForm Uniform" -#~ msgstr "XForm Tekdüzenini Değiştir" - -#~ msgid "Change Cubemap Uniform" -#~ msgstr "Küp Eşleşme Tekdüzenini Değiştir" - -#~ msgid "Change Comment" -#~ msgstr "Yorumu Değiştir" - -#~ msgid "Add/Remove to Color Ramp" -#~ msgstr "Renk Yokuşuna Ekle / Kaldır" - -#~ msgid "Modify Color Ramp" -#~ msgstr "Renk Yokuşunu Değiştir" - -#~ msgid "Add/Remove to Curve Map" -#~ msgstr "Eğri Haritası Ekle / Kaldır" - -#~ msgid "Modify Curve Map" -#~ msgstr "Eğri Haritasını Değiştir" - -#~ msgid "Connect Graph Nodes" -#~ msgstr "Çizge Düğümlerini Bağla" - -#~ msgid "Remove Shader Graph Node" -#~ msgstr "Gölgelendirici Çizge Düğümünü Kaldır" - -#~ msgid "Move Shader Graph Node" -#~ msgstr "Gölgelendirici Çizge Düğümünü Taşı" - -#~ msgid "Duplicate Graph Node(s)" -#~ msgstr "Grafik Düğüm(lerini) Çoğalt" - -#~ msgid "Error: Cyclic Connection Link" -#~ msgstr "Hata: Döngüsel Bağlantı Bağlantısı" - -#~ msgid "Error: Missing Input Connections" -#~ msgstr "Hata: Girdi Bağlantıları Eksik" - -#~ msgid "Add Shader Graph Node" -#~ msgstr "Gölgelendirici Çizge Düğümü Ekle" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Animasyon İzini Yukarı Taşı" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Animasyon İzini Aşağı Taşı" - -#~ msgid "Set Transitions to:" -#~ msgstr "Geçişleri Şuna Ayarla:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Anim İzi Değişikliği İnterpolasyonu" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Animasyon İzi Değişikliği Kipi" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Animasyon İzi Değişikliği Sarmalama Kipi" - -#~ msgid "Edit Node Curve" -#~ msgstr "Düğüm Eğrisini Düzenle" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Seçim Eğrisini Düzenle" - -#~ msgid "Anim Add Key" -#~ msgstr "Animasyon Anahtar Ekle" - -#~ msgid "In" -#~ msgstr "Giriş" - -#~ msgid "Out" -#~ msgstr "Çıkış" - -#~ msgid "In-Out" -#~ msgstr "Giriş-Çıkış" - -#~ msgid "Out-In" -#~ msgstr "Çıkış-Giriş" - -#~ msgid "Change Anim Len" -#~ msgstr "Animasyon Uzunluğunu Değiştir" - -#~ msgid "Change Anim Loop" -#~ msgstr "Animasyon Döngüsünü Değiştir" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Animasyon Yazılı Değer Anahtarı Oluştur" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Animasyon Çağrı İzi Ekle" - -#~ msgid "Length (s):" -#~ msgstr "Uzunluk (sn):" - -#~ msgid "Step (s):" -#~ msgstr "Adım (sn):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "İmleç basamak yapışması (saniye)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Animasyon yinelemesini Aç/Kapat." - -#~ msgid "Add new tracks." -#~ msgstr "Yeni izler ekle." - -#~ msgid "Move current track up." -#~ msgstr "Mevcut izi yukarı taşı." - -#~ msgid "Move current track down." -#~ msgstr "Mevcut izi aşağı taşı." - -#~ msgid "Track tools" -#~ msgstr "İz araçları" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Anahtarlara tıklayarak tek tek düzenlemeyi etkinleştir." - -#~ msgid "Key" -#~ msgstr "Anahtar" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Hangi Düğümdeki İşlevler Çağrılsın?" - -#~ msgid "Thanks!" -#~ msgstr "Teşekkürler!" - -#~ msgid "I see..." -#~ msgstr "Anlıyorum..." - -#~ msgid "Ugh" -#~ msgstr "Öff" - -#~ msgid "Run Script" -#~ msgstr "Betiği Çalıştır" - -#~ msgid "Stop Profiling" -#~ msgstr "Kesitlemeyi Durdur" - -#~ msgid "Start Profiling" -#~ msgstr "Kesitlemeyi Başlat" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "Varsayılan (Düzenleyici İle Aynı)" - -#~ msgid "Create new animation in player." -#~ msgstr "Oynatıcıda yeni animasyon oluşturun." - -#~ msgid "Load animation from disk." -#~ msgstr "Animasyonu diskten yükle." - -#~ msgid "Load an animation from disk." -#~ msgstr "Bir animasyonu diskten yükle." - -#~ msgid "Save the current animation" -#~ msgstr "Geçerli animasyonu kaydet" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "Amaçlanan Karışma Zamanlarını Düzenle" - -#~ msgid "Copy Animation" -#~ msgstr "Animasyonu Tıpkıla" - -#~ msgid "Fetching:" -#~ msgstr "Alınıyor:" - -#~ msgid "prev" -#~ msgstr "önceki" - -#~ msgid "next" -#~ msgstr "sonraki" - -#~ msgid "last" -#~ msgstr "son" - -#~ msgid "Edit IK Chain" -#~ msgstr "IK Zincirini Düzenle" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "Pivotu Fare pozisyonundan sürükle" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "Pivotu fare pozisyonunda ayarla" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "Renk Yokuşu Noktası Ekle / Kaldır" - -#~ msgid "OK :(" -#~ msgstr "Tamam :(" - -#~ msgid "Skeleton Gizmo visibility" -#~ msgstr "İskelet Gizmo görünürlüğü" - -#~ msgid "StyleBox Preview:" -#~ msgstr "StyleBox Önizleme:" - -#~ msgid "Texture Region Editor" -#~ msgstr "Doku Bölgesi Düzenleyicisi" - -#~ msgid "Erase selection" -#~ msgstr "Seçimi Sil" - -#~ msgid "Item name or ID:" -#~ msgstr "Öğe adı yada kimliği:" - -#~ msgid "Export templates for this platform are missing/corrupted: " -#~ msgstr "Bu platform için dışa aktarma şablonları eksik/bozulmuş: " - -#~ msgid "Button 8" -#~ msgstr "Düğme 8" - -#~ msgid "Button 9" -#~ msgstr "Düğme 9" - -#~ msgid "Discard Instancing" -#~ msgstr "Örneği Boşalt" - -#~ msgid "Clear!" -#~ msgstr "Temiz!" - -#~ msgid "Toggle Spatial Visible" -#~ msgstr "Uzaysal Görünürlüğü Aç / Kapat" - -#~ msgid "Condition" -#~ msgstr "Koşul" - -#~ msgid "Sequence" -#~ msgstr "Dizi" - -#~ msgid "Switch" -#~ msgstr "Anahtar" - -#~ msgid "Iterator" -#~ msgstr "Yineleyici" - -#~ msgid "While" -#~ msgstr "İken" - -#~ msgid "Return" -#~ msgstr "Döndür" - -#~ msgid "Call" -#~ msgstr "Çağır" - -#~ msgid "Edit Variable" -#~ msgstr "Değişkeni Düzenle" - -#~ msgid "Edit Signal" -#~ msgstr "Sinyal Düzenle" - -#~ msgid "Invalid action (anything goes but '/' or ':')." -#~ msgstr "Geçersiz işlem (her şey ancak şu '/' ya da şuna ':' gider)." - -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "'/' veya ':' içeremez" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "Şablonların içinde geçersiz version.txt formatı. Revizyon geçerli bir " -#~ "tanımlayıcı değil." - -#~ msgid "Can't write file." -#~ msgstr "Dosyaya yazılamıyor." - -#~ msgid "Couldn't get project.godot in project path." -#~ msgstr "Proje yolunda proje.godot alınamadı." - -#~ msgid "Replace By" -#~ msgstr "Şununla Değiştir" - -#~ msgid "Backwards" -#~ msgstr "Tersten" - -#~ msgid "Prompt On Replace" -#~ msgstr "Değişimi Sor" - -#~ msgid "Skip" -#~ msgstr "Geç" - -#~ msgid "" -#~ "Your project will be created in a non empty folder (you might want to " -#~ "create a new folder)." -#~ msgstr "" -#~ "Projen boş olmayan bir klasörde oluşturulacak (yeni bir klasör oluşturmak " -#~ "isteyebilirsin)." - -#~ msgid "That's a BINGO!" -#~ msgstr "Yaşa BE!" - -#~ msgid "preview" -#~ msgstr "önizleme" - -#~ msgid "Move Add Key" -#~ msgstr "Hareket Anahtar Ekle" - -#~ msgid "Create Subscription" -#~ msgstr "Üyelik Oluştur" - -#~ msgid "List:" -#~ msgstr "Liste:" - -#~ msgid "Set Emission Mask" -#~ msgstr "Yayma Maskesini Ayarla" - -#~ msgid "Clear Emitter" -#~ msgstr "Yayıcıyı Temizle" - -#~ msgid " " -#~ msgstr " " - -#~ msgid "Sections:" -#~ msgstr "Bölümler:" - -#, fuzzy -#~ msgid "" -#~ "\n" -#~ "Source: " -#~ msgstr "Kaynak:" - -#, fuzzy -#~ msgid "Remove Point from Line2D" -#~ msgstr "Noktayı Eğriden Kaldır" - -#, fuzzy -#~ msgid "Add Point to Line2D" -#~ msgstr "Noktayı Eğriye Ekle" - -#, fuzzy -#~ msgid "Move Point in Line2D" -#~ msgstr "Noktayı Eğriye Taşı" - -#, fuzzy -#~ msgid "Split Segment (in line)" -#~ msgstr "Parçayı Ayır (eğriye göre)" - -#~ msgid "Meta+" -#~ msgstr "Meta+" - -#, fuzzy -#~ msgid "Setting '" -#~ msgstr "Ayarlar" - -#~ msgid "Remote Inspector" -#~ msgstr "Dolaylı Denetçi" - -#~ msgid "Live Scene Tree:" -#~ msgstr "Canlı Sahne Ağacı:" - -#~ msgid "Remote Object Properties: " -#~ msgstr "Dolaylı Nesne Özellikleri: " - -#, fuzzy -#~ msgid "Selection -> Duplicate" -#~ msgstr "Yalnızca Seçim" - -#, fuzzy -#~ msgid "Selection -> Clear" -#~ msgstr "Yalnızca Seçim" - -#~ msgid "" -#~ "Path property must point to a valid Viewport node to work. Such Viewport " -#~ "must be set to 'render target' mode." -#~ msgstr "" -#~ "Yol niteliği çalışması için geçerli bir Viewport düğümüne işaret " -#~ "etmelidir. Bu tür Viewport 'işleyici amacı' biçimine ayarlanmalıdır." - -#~ msgid "" -#~ "The Viewport set in the path property must be set as 'render target' in " -#~ "order for this sprite to work." -#~ msgstr "" -#~ "Bu sprite'ın çalışması için yol niteliğinde ayarlanan Viewport durumu " -#~ "'işleyici amacı' olarak ayarlanmalıdır." - -#~ msgid "Method List For '%s':" -#~ msgstr "'%s' İçin Yöntem Dizelgesi:" - -#~ msgid "Arguments:" -#~ msgstr "Değiştirgenler:" - -#~ msgid "Return:" -#~ msgstr "Döndür:" - -#~ msgid "Added:" -#~ msgstr "Eklenen:" - -#~ msgid "Could not save atlas subtexture:" -#~ msgstr "Atlas alt dokusu kaydedilemedi:" - -#~ msgid "Setting Up..." -#~ msgstr "Kurulum..." - -#~ msgid "Error loading scene." -#~ msgstr "Sahne yüklenirken sorun oluştu." - -#~ msgid "Re-Import" -#~ msgstr "Yeniden İçe Aktar" - -#~ msgid "Please wait for scan to complete." -#~ msgstr "Tarama için bitmesini bekleyin." - -#~ msgid "Current scene must be saved to re-import." -#~ msgstr "Yeniden içe aktarmak için şu anki sahneyi kaydet." - -#~ msgid "Re-Importing" -#~ msgstr "Yeniden-İçe Aktarım" - -#~ msgid "Re-Import Changed Resources" -#~ msgstr "Değiştirilmiş Kaynakları Yeniden İçe Aktar" - -#, fuzzy -#~ msgid "" -#~ "\n" -#~ "Status: Needs Re-Import" -#~ msgstr "Kaydet & Yeniden İçe Aktar" - -#~ msgid "Same source and destination files, doing nothing." -#~ msgstr "Özdeş kaynak ve varış dizeçleri, hiçbir şey yapılmıyor." - -#~ msgid "Same source and destination paths, doing nothing." -#~ msgstr "Özdeş kaynak ve varış yolları, hiçbir şey yapılmıyor." - -#~ msgid "Can't move directories to within themselves." -#~ msgstr "Dizinleri kendi içlerine taşıyamazsınız." - -#~ msgid "Pick New Name and Location For:" -#~ msgstr "Şunun için yeni ad ile konum seçin:" - -#~ msgid "Info" -#~ msgstr "Bilgi" - -#~ msgid "No bit masks to import!" -#~ msgstr "Alınacak hiç bit örteci yok!" - -#~ msgid "Target path is empty." -#~ msgstr "Amaçlanan dizeç yolu boş." - -#~ msgid "Target path must be a complete resource path." -#~ msgstr "Amaçlanan yol, tam bir kaynak yolu olmalıdır." - -#~ msgid "Target path must exist." -#~ msgstr "Amaçlanan dizeç yolu var olmalı." - -#~ msgid "Import BitMasks" -#~ msgstr "BitMasks İçe Aktar" - -#~ msgid "Source Texture(s):" -#~ msgstr "Kaynak Doku(lar):" - -#~ msgid "Target Path:" -#~ msgstr "Amaçlanan Dizeç Yolu :" - -#~ msgid "Accept" -#~ msgstr "Kabul" - -#~ msgid "Bit Mask" -#~ msgstr "Bit Örteci" - -#~ msgid "No source font file!" -#~ msgstr "Kaynak yazı türü dizeci yok!" - -#~ msgid "No target font resource!" -#~ msgstr "Amaçlanan yazı türü kaynağı yok!" - -#, fuzzy -#~ msgid "" -#~ "Invalid file extension.\n" -#~ "Please use .font." -#~ msgstr "" -#~ "Geçersiz dizeç uzantısı.\n" -#~ "Lütfen .fnt uzantısını kullanın." - -#~ msgid "Couldn't save font." -#~ msgstr "Yazı türü kaydedilemedi." - -#~ msgid "Source Font:" -#~ msgstr "Yazı Türü Kaynağı:" - -#~ msgid "Dest Resource:" -#~ msgstr "Varış Kaynağı:" - -#~ msgid "The quick brown fox jumps over the lazy dog." -#~ msgstr "Hızlı kahverengi tilki üşengeç köpeğin üstünden atlar." - -#~ msgid "Test:" -#~ msgstr "Deneme:" - -#~ msgid "Options:" -#~ msgstr "Seçenekler:" - -#~ msgid "Font Import" -#~ msgstr "Yazı Türü İçe Aktar" - -#~ msgid "" -#~ "This file is already a Godot font file, please supply a BMFont type file " -#~ "instead." -#~ msgstr "" -#~ "Bu dizeç zaten bir Godot yazı türü dizecidir , lütfen bunun yerine bir " -#~ "BMFont türü dizeci sağlayın." - -#~ msgid "Failed opening as BMFont file." -#~ msgstr "BMFont dizeci olarak açma başarısız oldu." - -#~ msgid "Invalid font custom source." -#~ msgstr "Geçersiz yazı türü özel kaynağı." - -#~ msgid "No meshes to import!" -#~ msgstr "İçe aktarılacak örüntü yok!" - -#~ msgid "Single Mesh Import" -#~ msgstr "Tekil Örüntü İçe Aktar" - -#~ msgid "Source Mesh(es):" -#~ msgstr "Kaynak Örüntü(leri):" - -#~ msgid "Surface %d" -#~ msgstr "Yüzey %d" - -#~ msgid "No samples to import!" -#~ msgstr "Alınacak örnek yok!" - -#~ msgid "Import Audio Samples" -#~ msgstr "Ses Örneklerini İçe Aktar" - -#~ msgid "Source Sample(s):" -#~ msgstr "Kaynak Örnek(leri):" - -#~ msgid "Audio Sample" -#~ msgstr "Ses Örneği" - -#~ msgid "New Clip" -#~ msgstr "Yeni Parça" - -#~ msgid "Flags" -#~ msgstr "Bayraklar" - -#~ msgid "Bake FPS:" -#~ msgstr "FPS'i Pişir:" - -#~ msgid "Optimizer" -#~ msgstr "İyileştirici" - -#~ msgid "Max Linear Error" -#~ msgstr "En üst Doğrusal Sorun" - -#~ msgid "Max Angular Error" -#~ msgstr "En üst Açısal Sorun" - -#~ msgid "Max Angle" -#~ msgstr "En üst Açı" - -#~ msgid "Start(s)" -#~ msgstr "Başlangıç(lar)" - -#~ msgid "Source path is empty." -#~ msgstr "Kaynak yol boş." - -#~ msgid "Couldn't load post-import script." -#~ msgstr "İçe aktarma sonrası betik dizeci yüklenemedi." - -#~ msgid "Invalid/broken script for post-import." -#~ msgstr "İçe aktarma sonrası için geçersiz/bozuk betik dizeci." - -#~ msgid "Error importing scene." -#~ msgstr "İçe aktarırken sorun oluştu." - -#~ msgid "Import 3D Scene" -#~ msgstr "3B Sahneyi İçe Aktar" - -#~ msgid "Source Scene:" -#~ msgstr "Kaynak Sahne:" - -#~ msgid "Same as Target Scene" -#~ msgstr "Hedef Sahne ile Aynı" - -#~ msgid "Shared" -#~ msgstr "Paylaşılan" - -#~ msgid "Target Texture Folder:" -#~ msgstr "Amaçlanan Doku Dizini:" - -#~ msgid "Custom Root Node Type:" -#~ msgstr "Özel Kök Düğüm Türü:" - -#~ msgid "Auto" -#~ msgstr "Kendiliğinden" - -#~ msgid "The Following Files are Missing:" -#~ msgstr "Aşağıdaki Dizeçler Eksik:" - -#~ msgid "Import Anyway" -#~ msgstr "Yine de İçe Aktar" - -#~ msgid "Edited scene has not been saved, open imported scene anyway?" -#~ msgstr "" -#~ "Düzenlenen sahne kaydedilmedi, yine de içe aktarılan sahne açılsın mı?" - -#~ msgid "Import Image:" -#~ msgstr "Bedizi İçe Aktar:" - -#~ msgid "Couldn't localize path: %s (already local)" -#~ msgstr "Yol yerelleştirilemedi: %s (zaten yerel)" - -#~ msgid "3D Scene Animation" -#~ msgstr "3B Sahne Canlandırması" - -#~ msgid "Uncompressed" -#~ msgstr "Sıkıştırılmamış" - -#~ msgid "Compress Lossless (PNG)" -#~ msgstr "Kayıpsız Sıkıştırma (PNG)" - -#~ msgid "Compress Lossy (WebP)" -#~ msgstr "Kayıplı Sıkıştırma (WebP)" - -#~ msgid "Compress (VRAM)" -#~ msgstr "Sıkıştır (VRAM)" - -#~ msgid "Texture Format" -#~ msgstr "Doku Biçemi" - -#~ msgid "Texture Compression Quality (WebP):" -#~ msgstr "Doku Sıkıştırma Niteliği (WebP):" - -#~ msgid "Please specify some files!" -#~ msgstr "Lütfen bazı dizeçleri belirtin!" - -#~ msgid "At least one file needed for Atlas." -#~ msgstr "Atlas için en az bir dizeç gerekli." - -#~ msgid "Error importing:" -#~ msgstr "İçe aktarırken sorun:" - -#~ msgid "Max Texture Size:" -#~ msgstr "En üst Doku Boyutu:" - -#~ msgid "Import Textures for Atlas (2D)" -#~ msgstr "Dokuları Atlas(2B) için içe aktar" - -#~ msgid "Large Texture" -#~ msgstr "Geniş Doku" - -#~ msgid "Import Large Textures (2D)" -#~ msgstr "Büyük Boyutlu(2D) Dokuları İçe Aktar" - -#~ msgid "Source Texture" -#~ msgstr "Kaynak Doku" - -#~ msgid "Base Atlas Texture" -#~ msgstr "Temel Atlas Doku" - -#~ msgid "Source Texture(s)" -#~ msgstr "Kaynak Doku(lar)" - -#~ msgid "Import Textures for 2D" -#~ msgstr "2B için Dokuları İçe Aktar" - -#~ msgid "Import Textures for 3D" -#~ msgstr "3B için Dokuları İçe Aktar" - -#~ msgid "Import Textures" -#~ msgstr "Dokuları İçe Aktar" - -#~ msgid "2D Texture" -#~ msgstr "2B Doku" - -#~ msgid "3D Texture" -#~ msgstr "3B Doku" - -#~ msgid "Atlas Texture" -#~ msgstr "Atlas Doku" - -#~ msgid "" -#~ "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files " -#~ "to the project." -#~ msgstr "" -#~ "UYARI: 2B dokuların içe aktarılması zorunlu değildir. Png / jpg " -#~ "dizeçlerini tasarıya tıpkılamanız yeterlidir." - -#~ msgid "Crop empty space." -#~ msgstr "Boş alanı kırp." - -#~ msgid "Texture" -#~ msgstr "Doku" - -#~ msgid "Import Large Texture" -#~ msgstr "Büyük Dokuyu İçe Aktar" - -#~ msgid "Load Source Image" -#~ msgstr "Kaynak Bedizi Yükle" - -#~ msgid "Slicing" -#~ msgstr "Dilimleme" - -#~ msgid "Saving" -#~ msgstr "Kaydediyor" - -#~ msgid "Couldn't save large texture:" -#~ msgstr "Büyük doku kaydedilemedi:" - -#~ msgid "Build Atlas For:" -#~ msgstr "Atlası Şunun için Oluştur:" - -#~ msgid "Loading Image:" -#~ msgstr "Bediz Yükleniyor:" - -#~ msgid "Converting Images" -#~ msgstr "Bedizleri Dönüştürüyor" - -#~ msgid "Cropping Images" -#~ msgstr "Bedizleri Kırpıyor" - -#~ msgid "Couldn't save atlas image:" -#~ msgstr "Atlas bedizi kaydedilemedi:" - -#~ msgid "Invalid translation source!" -#~ msgstr "Geçersiz çeviri kaynağı!" - -#~ msgid "Column" -#~ msgstr "Dikeç" - -#~ msgid "No items to import!" -#~ msgstr "Alınacak öğe yok!" - -#~ msgid "No target path!" -#~ msgstr "Amaçlanan yol yok!" - -#~ msgid "Import Translations" -#~ msgstr "Çevirileri İçe Aktar" - -#~ msgid "Couldn't import!" -#~ msgstr "Alınamadı!" - -#~ msgid "Import Translation" -#~ msgstr "Çeviriyi İçe Aktar" - -#~ msgid "Source CSV:" -#~ msgstr "Kaynak CSV:" - -#~ msgid "Ignore First Row" -#~ msgstr "İlk Sırayı Yoksay" - -#~ msgid "Compress" -#~ msgstr "Sıkıştır" - -#, fuzzy -#~ msgid "Add to Project (project.godot)" -#~ msgstr "Tasarıya Ekle (engine.cfg)" - -#~ msgid "Import Languages:" -#~ msgstr "Dilleri İçe Aktar:" - -#~ msgid "Translation" -#~ msgstr "Çeviri" - -#~ msgid "Triangle #" -#~ msgstr "Üçgen #" - -#~ msgid "Light Baker Setup:" -#~ msgstr "Işık Pişirici Kurulumu:" - -#~ msgid "Fixing Lights" -#~ msgstr "Işıkları Sabitliyor" - -#~ msgid "Making BVH" -#~ msgstr "BVH Yapıyor" - -#~ msgid "Allocating Texture #" -#~ msgstr "Doku Paylaşımı #" - -#~ msgid "Baking Triangle #" -#~ msgstr "Pişirme Üçgeni #" - -#~ msgid "Post-Processing Texture #" -#~ msgstr "İşleme-Sonrası Dokusu #" - -#~ msgid "Reset the lightmap octree baking process (start over)." -#~ msgstr "" -#~ "Işık haritası sekağacı pişirme işlemini sıfırlayın (baştan başlayın)." - -#~ msgid "Zoom Set..." -#~ msgstr "Yakınlaşmayı Ayarla..." - -#~ msgid "Parse BBCode" -#~ msgstr "BBCode'u Ayrıştır" - -#~ msgid "Length:" -#~ msgstr "Uzunluk:" - -#~ msgid "Open Sample File(s)" -#~ msgstr "Örnek Dizeçleri Aç" - -#~ msgid "ERROR: Couldn't load sample!" -#~ msgstr "SORUN: Örnek yüklenemedi!" - -#~ msgid "Add Sample" -#~ msgstr "Örnek Ekle" - -#~ msgid "Rename Sample" -#~ msgstr "Örneği Yeniden Addlandır" - -#~ msgid "Delete Sample" -#~ msgstr "Örneği Sil" - -#~ msgid "16 Bits" -#~ msgstr "16 bit" - -#~ msgid "8 Bits" -#~ msgstr "8 Bit" - -#~ msgid "Stereo" -#~ msgstr "Çiftli" - -#~ msgid "Scaling to %s%%." -#~ msgstr "Şuna %s%% Ölçeklendiriliyor." - -#~ msgid "Bucket" -#~ msgstr "Kova" - -#~ msgid "Invalid project path, the path must exist!" -#~ msgstr "Geçersiz tasarı yolu, yolun var olması gerekir!" - -#, fuzzy -#~ msgid "Invalid project path, project.godot must not exist." -#~ msgstr "Geçersiz tasarı yolu, engine.cfg var olmaması gerekir." - -#, fuzzy -#~ msgid "Invalid project path, project.godot must exist." -#~ msgstr "Geçersiz tasarı yolu, engine.cfg var olması gerekir." - -#~ msgid "Project Path (Must Exist):" -#~ msgstr "Tasarı Yolu (Var Olması Gerekir):" - -#~ msgid "Create New Resource" -#~ msgstr "Yeni Kaynak Oluştur" - -#~ msgid "Open Resource" -#~ msgstr "Kaynak Aç" - -#~ msgid "Save Resource" -#~ msgstr "Kaynağı Kaydet" - -#~ msgid "Resource Tools" -#~ msgstr "Kaynak Araçları" - -#, fuzzy -#~ msgid "Tiles" -#~ msgstr "Dizeç" - -#~ msgid "Ctrl+" -#~ msgstr "Ctrl+" - -#~ msgid "Close scene? (Unsaved changes will be lost)" -#~ msgstr "Sahneyi kapatsın mı? (Kaydedilmemiş değişiklikler yok olacak)" - -#~ msgid "" -#~ "Open Project Manager? \n" -#~ "(Unsaved changes will be lost)" -#~ msgstr "" -#~ "Tasarı Yöneticisini Aç\n" -#~ "(Kaydedilmemiş değişiklikler kaybolacak!)" - -#~ msgid "Close Goto Prev. Scene" -#~ msgstr "Önc. Sahneye Git sekmesini Kapat" - -#~ msgid "Del" -#~ msgstr "Sil" - -#~ msgid "just pressed" -#~ msgstr "yeni basıldı" - -#, fuzzy -#~ msgid "" -#~ "Couldn't read the certificate file. Are the path and password both " -#~ "correct?" -#~ msgstr "" -#~ "Onay belgesi dizeci okunamadı. Yol ve gizyazının her ikisi de doğru mu?" - -#~ msgid "Error creating the package signature." -#~ msgstr "Çıkın imzasını oluşturmada sorun." - -#, fuzzy -#~ msgid "RAW Mode" -#~ msgstr "Çalışma Biçimi:" - -#~ msgid "Node From Scene" -#~ msgstr "Sahneden Düğüm(node)" - -#~ msgid "Import assets to the project." -#~ msgstr "Varlıkları tasarının içine aktar." - -#~ msgid "Export the project to many platforms." -#~ msgstr "Tasarıyı pek çok ortama aktarın." - -#~ msgid "Alerts when an external resource has changed." -#~ msgstr "Dış kaynaklar değişince uyarır." - -#~ msgid "Open https://godotengine.org at tutorials section." -#~ msgstr "https://godotengine.org bağlantısını öğreticiler bölümünde aç." - -#~ msgid "No scene selected to instance!" -#~ msgstr "Örnek vermek için hiçbir sahne seçilmedi!" - -#~ msgid "Instance at Cursor" -#~ msgstr "Göstergede Örnekle" - -#~ msgid "Use Default Light" -#~ msgstr "Önyüklü Işık Kullan" - -#~ msgid "Default Light Normal:" -#~ msgstr "Önyüklü Işığın Olağanı:" - -#~ msgid "Ambient Light Color:" -#~ msgstr "Ortam Işığı Rengi:" - -#~ msgid "Invalid parent class name" -#~ msgstr "Geçersiz ata bölüt adı" - -#~ msgid "Valid chars:" -#~ msgstr "Geçerli damgalar:" - -#~ msgid "Valid name" -#~ msgstr "Uygun ad" - -#~ msgid "Class name is invalid!" -#~ msgstr "Bölüt adı geçersiz!" - -#~ msgid "Parent class name is invalid!" -#~ msgstr "Ata bölüt adı geçersiz!" - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "" -#~ "Yol niteliği çalışması için geçerli bir Particles2D düğümünü işaret " -#~ "etmelidir." - -#~ msgid "Surface" -#~ msgstr "Yüzey" - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SamplePlayer to play sound." -#~ msgstr "" -#~ "SamplePlayer ın ses çalması için bir SampleLibrary kaynağı oluşturulmalı " -#~ "veya 'örnekler' niteliğinde ayarlanmalıdır." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SpatialSamplePlayer to play sound." -#~ msgstr "" -#~ "SpatialSamplePlayer 'ın ses çalması için bir SampleLibrary kaynağı " -#~ "oluşturulmalı veya 'örnekler' niteliğinde ayarlanmalıdır." - -#~ msgid "Replaced %d Ocurrence(s)." -#~ msgstr "%d Olgusu(ları) ile Değiştirildi." - -#~ msgid "Save Translatable Strings" -#~ msgstr "Çevirilebilir Metinleri Kaydet" - -#~ msgid "Edit Script Options" -#~ msgstr "Betik Seçeneklerini Düzenle" - -#~ msgid "Error exporting project!" -#~ msgstr "Tasarı gönderilirken sorun oluştu!" - -#~ msgid "Error writing the project PCK!" -#~ msgstr "Tasarının PCK'ini yazarken sorun oluştu!" - -#~ msgid "No exporter for platform '%s' yet." -#~ msgstr "Şu anda '%s' ortamı için dışa aktarıcı yok." - -#~ msgid "Create Android keystore" -#~ msgstr "Android Dokunaç Yığımı Oluştur" - -#~ msgid "Organizational unit" -#~ msgstr "Kuruluşsal birim" - -#~ msgid "Organization" -#~ msgstr "Kuruluş" - -#~ msgid "City" -#~ msgstr "Şehir" - -#~ msgid "2 letter country code" -#~ msgstr "2 damgalı ülke imi" - -#~ msgid "User alias" -#~ msgstr "Kullanıcı takma adı" - -#~ msgid "Password" -#~ msgstr "Gizyazı" - -#~ msgid "at least 6 characters" -#~ msgstr "en az 6 geçerli damga" - -#~ msgid "File name" -#~ msgstr "Dizeç adı" - -#~ msgid "Path : (better to save outside of project)" -#~ msgstr "Yol: (tasarının dışında kaydetmek daha iyi)" - -#~ msgid "" -#~ "Release keystore is not set.\n" -#~ "Do you want to create one?" -#~ msgstr "" -#~ "Serbest bırakma dokunaç yığımı ayarlanmadı.Bir tane oluşturmak mı ister " -#~ "misin?" - -#~ msgid "Fill Keystore/Release User and Release Password" -#~ msgstr "Dokunaç Yığımını Doldur/Kullanıcıyı Bırak ve Gizyazıyı Bırak" - -#~ msgid "Include" -#~ msgstr "Katıştır" - -#~ msgid "Group name can't be empty!" -#~ msgstr "Öbek adı boş olamaz!" - -#~ msgid "Invalid character in group name!" -#~ msgstr "Öbek adında geçersiz damga!" - -#~ msgid "Add Image Group" -#~ msgstr "Bediz Öbeği Ekle" - -#~ msgid "Project Export Settings" -#~ msgstr "Tasarıyı Dışa Aktarma Ayarları" - -#~ msgid "Export to Platform" -#~ msgstr "Ortama Aktar" - -#~ msgid "Export all files in the project directory." -#~ msgstr "Tasarı dizinindeki tüm dizeçleri dışa aktarın." - -#~ msgid "Convert text scenes to binary on export." -#~ msgstr "Dışa aktarmada yazı sahnelerini ikili hale getirin." - -#~ msgid "Images" -#~ msgstr "Bedizler" - -#~ msgid "Keep Original" -#~ msgstr "Özgün Tut" - -#~ msgid "Compress for Disk (Lossy, WebP)" -#~ msgstr "Saklak İçin Sıkıştır (Kayıplı, WebP)" - -#~ msgid "Compress for RAM (BC/PVRTC/ETC)" -#~ msgstr "RAM için Sıkıştır (BC / PVRTC / ETC)" - -#~ msgid "Convert Images (*.png):" -#~ msgstr "Bedizleri Dönüştür (*.png):" - -#~ msgid "Compress for Disk (Lossy) Quality:" -#~ msgstr "Saklak İçin Sıkıştır (Kayıplı) Nitelik:" - -#~ msgid "Shrink All Images:" -#~ msgstr "Tüm Bedizleri Küçült:" - -#~ msgid "Compress Formats:" -#~ msgstr "Sıkıştırma Biçemleri:" - -#~ msgid "Groups:" -#~ msgstr "Öbekler:" - -#~ msgid "Compress Disk" -#~ msgstr "Saklağı Sıkıştır" - -#~ msgid "Compress RAM" -#~ msgstr "RAM'i Sıkıştır" - -#~ msgid "Compress Mode:" -#~ msgstr "Sıkıştırma Biçimi:" - -#~ msgid "Lossy Quality:" -#~ msgstr "Kayıplı Nitelik:" - -#~ msgid "Shrink By:" -#~ msgstr "Küçült:" - -#~ msgid "Images:" -#~ msgstr "Bedizler:" - -#~ msgid "Sample Conversion Mode: (.wav files):" -#~ msgstr "Örnek Dönüşüm Biçimi: (.wav dizeçleri):" - -#~ msgid "Compress (RAM - IMA-ADPCM)" -#~ msgstr "Sıkıştır (RAM - IMA-ADPCM)" - -#~ msgid "Sampling Rate Limit (Hz):" -#~ msgstr "Örnekleme Oranının Sınırı (Hz):" - -#~ msgid "Trim" -#~ msgstr "Buda" - -#~ msgid "Trailing Silence:" -#~ msgstr "Sessizliği İzliyor:" - -#~ msgid "Export Project PCK" -#~ msgstr "Tasarı PCK Dışa Aktar" - -#~ msgid "Project Export" -#~ msgstr "Tasarı Dışa Aktar" - -#~ msgid "BakedLightInstance does not contain a BakedLight resource." -#~ msgstr "BakedLightInstance, bir BakedLight kaynağı içermez." - -#~ msgid "Lighting" -#~ msgstr "Aydınlatma" - -#~ msgid "Global" -#~ msgstr "Bütünsel" - -#~ msgid "" -#~ "This item cannot be made visible because the parent is hidden. Unhide the " -#~ "parent first." -#~ msgstr "" -#~ "Ata gizli olduğu için bu öğe görünür hale getirilemiyor. Önce atayı " -#~ "göster." - -#~ msgid "" -#~ "Paths cannot start with '/', absolute paths must start with 'res://', " -#~ "'user://', or 'local://'" -#~ msgstr "" -#~ "Yollar '/' ile başlayamaz, mutlak yollar 'res://', 'user://' veya " -#~ "'local://' ile başlamalıdır" - -#~ msgid "File exists" -#~ msgstr "Dosya mevcut" - -#~ msgid "Valid path" -#~ msgstr "Geçerli yol" diff --git a/editor/translations/tt.po b/editor/translations/tt.po index b9631ca8b4..df894bce42 100644 --- a/editor/translations/tt.po +++ b/editor/translations/tt.po @@ -1,6 +1,6 @@ # Tatar translation of the Godot Engine editor. -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # Bualma Show <appleaidar6@gmail.com>, 2021. @@ -2045,14 +2045,30 @@ msgstr "" msgid "Theme Properties" msgstr "" -#: editor/editor_help.cpp -msgid "Enumerations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "" @@ -8242,18 +8258,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -12782,7 +12786,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12791,6 +12800,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" diff --git a/editor/translations/tzm.po b/editor/translations/tzm.po index b75bb26463..8ca9ae1f18 100644 --- a/editor/translations/tzm.po +++ b/editor/translations/tzm.po @@ -1,6 +1,6 @@ # Central Atlas Tamazight translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # Hakim Oubouali <hakim.oubouali.skr@gmail.com>, 2020. @@ -2043,14 +2043,30 @@ msgstr "" msgid "Theme Properties" msgstr "" -#: editor/editor_help.cpp -msgid "Enumerations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "" @@ -8240,18 +8256,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -12780,7 +12784,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -12789,6 +12798,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" diff --git a/editor/translations/uk.po b/editor/translations/uk.po index 401f0fa006..338c931b04 100644 --- a/editor/translations/uk.po +++ b/editor/translations/uk.po @@ -1,6 +1,6 @@ # Ukrainian translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Aleksandr <XpycT.TOP@gmail.com>, 2017. # Yuri Chornoivan <yurchor@ukr.net>, 2018, 2019, 2020, 2021. @@ -22,7 +22,7 @@ msgstr "" "Project-Id-Version: Ukrainian (Godot Engine)\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-10-18 15:35+0000\n" +"PO-Revision-Date: 2021-12-11 06:25+0000\n" "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n" "Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/" "godot/uk/>\n" @@ -32,7 +32,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.9-dev\n" +"X-Generator: Weblate 4.10-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -2135,14 +2135,30 @@ msgstr "Методи" msgid "Theme Properties" msgstr "Властивості теми" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Переліки" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "Кольори" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Константи" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "Шрифти" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "Піктограми" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "Стилі" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Переліки" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Описи властивостей" @@ -8601,18 +8617,6 @@ msgid "TextureRegion" msgstr "TextureRegion" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "Кольори" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "Шрифти" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "Піктограми" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "Стильові панелі" @@ -13418,10 +13422,17 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" +"«Стеженням за руками» можна скористатися, лише якщо «Режим Xr» дорівнює " +"«Oculus Mobile VR» або «OpenXR»." + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" "«Стеженням за руками» можна скористатися, лише якщо «Режим Xr» дорівнює " -"«Oculus Mobile VR»." +"«OpenXR»." #: platform/android/export/export_plugin.cpp msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." @@ -13431,6 +13442,25 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" +"Пункт «Мін. SDK» є чинним, лише якщо увімкнено «Використовувати нетипове " +"збирання»." + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" +"Пункт «SDK цілі» є чинним, лише якщо увімкнено «Використовувати нетипове " +"збирання»." + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "Версія «SDK цілі» має бути більшою або рівною за версію «Мін. SDK»." + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14641,1372 +14671,3 @@ msgstr "Призначення однорідного." #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Сталі не можна змінювати." - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "Створити вільну позу (з кісток)" - -#~ msgid "Bottom" -#~ msgstr "Знизу" - -#~ msgid "Left" -#~ msgstr "Зліва" - -#~ msgid "Right" -#~ msgstr "Справа" - -#~ msgid "Front" -#~ msgstr "Спереду" - -#~ msgid "Rear" -#~ msgstr "Ззаду" - -#~ msgid "Nameless gizmo" -#~ msgstr "Штука без назви" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "«.Степені свободи» працюють, лише якщо «Режим Xr» має значення «Oculus " -#~ "Mobile VR»." - -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "«Врахуванням фокуса» можна скористатися, лише якщо «Режим Xr» дорівнює " -#~ "«Oculus Mobile VR»." - -#~ msgid "Package Contents:" -#~ msgstr "Вміст пакунка:" - -#~ msgid "Singleton" -#~ msgstr "Одинак (шаблон проєктування)" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Витерти профіль «%s»? (не можна скасувати)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Увімкнені властивості:" - -#~ msgid "Enabled Features:" -#~ msgstr "Увімкнені можливості:" - -#~ msgid "Unset" -#~ msgstr "Не встановлено" - -#~ msgid "Class Options" -#~ msgstr "Параметри класу" - -#~ msgid "Set" -#~ msgstr "Множина" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Збережено змінених ресурсів: %s." - -#~ msgid "Q&A" -#~ msgstr "Запитання та відповіді" - -#~ msgid "Status:" -#~ msgstr "Статус:" - -#~ msgid "Edit:" -#~ msgstr "Редагувати:" - -#~ msgid "Redownload" -#~ msgstr "Отримати повторно" - -#~ msgid "(Installed)" -#~ msgstr "(Встановлено)" - -#~ msgid "(Missing)" -#~ msgstr "(Відсутній)" - -#~ msgid "Request Failed." -#~ msgstr "Запит не вдався." - -#~ msgid "Redirect Loop." -#~ msgstr "Циклічне переспрямування." - -#~ msgid "Download Complete." -#~ msgstr "Завантаження закінчено." - -#~ msgid "Remove Template" -#~ msgstr "Вилучити шаблон" - -#~ msgid "Download Templates" -#~ msgstr "Завантажити шаблони" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "Виберіть дзеркало зі списку: (Shift+клацання: відкрити у браузері)" - -#~ msgid "Move to Trash" -#~ msgstr "Пересунути до смітника" - -#~ msgid "Expand All Properties" -#~ msgstr "Розгорнути всі властивості" - -#~ msgid "Collapse All Properties" -#~ msgstr "Згорнути всі властивості" - -#~ msgid "Copy Params" -#~ msgstr "Копіювати параметри" - -#~ msgid "Open in Help" -#~ msgstr "Відкрити у довідці" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "Перевизначення камери гри\n" -#~ "Немає запущеного екземпляра гри." - -#~ msgid "Drag: Rotate" -#~ msgstr "Перетягування: Поворот" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "" -#~ "Натисніть 'V', щоб змінити Pivot, 'Shift + V' для перетягування Pivot " -#~ "(під час переміщення)." - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Альт+ПКМ: Список вибору глибини" - -#~ msgid "Clone Down" -#~ msgstr "Клонувати вниз" - -#~ msgid "Yaw" -#~ msgstr "Відхилення" - -#~ msgid "Size" -#~ msgstr "Розмір" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "Перетягування: Обертати\n" -#~ "Alt+Перетягування: Пересунути\n" -#~ "Alt+Права кнопка: Вибір у списку за глибиною" - -#~ msgid "Sep.:" -#~ msgstr "Роздільник:" - -#~ msgid "Add All" -#~ msgstr "Додати усі" - -#~ msgid "Theme editing menu." -#~ msgstr "Меню редагування теми." - -#~ msgid "Create Empty Template" -#~ msgstr "Створити порожній шаблон" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "Створити порожній шаблон редактора" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "Створити на основі поточної теми редактора" - -#~ msgid "Data Type:" -#~ msgstr "Тип даних:" - -#~ msgid "Theme File" -#~ msgstr "Файл теми" - -#~ msgid "Compiled" -#~ msgstr "Зібрано" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "Вилучити %d проєктів зі списку?\n" -#~ "Вміст тек проєктів змінено не буде." - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "Вилучити цей проєкт зі списку?\n" -#~ "Вміст теки не буде змінено." - -#~ msgid "Templates" -#~ msgstr "Шаблони" - -#~ msgid "Add Remapped Path" -#~ msgstr "Додати переспрямований шлях" - -#~ msgid "Can not perform with the root node." -#~ msgstr "Не можна виконувати із кореневим вузлом." - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "Не вдалося розпізнати файл зображення заставки:" - -#~ msgid "Using default boot splash image." -#~ msgstr "Використання типового файлу зображення заставки." - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Відтворювач анімації не може відтворювати сам себе, лише інші " -#~ "відтворювачі анімації." - -#~ msgid "Clipboard is empty" -#~ msgstr "Буфер обміну порожній" - -#~ msgid "" -#~ "Godot editor was built without ray tracing support; lightmaps can't be " -#~ "baked.\n" -#~ "If you are using an Apple Silicon-based Mac, try forcing Rosetta " -#~ "emulation on Godot.app in the application settings\n" -#~ "then restart the editor." -#~ msgstr "" -#~ "Редактор Godot було зібрано без підтримки трасування променів; мапи " -#~ "освітлення створити не вдасться.\n" -#~ "Якщо ви користуєтеся Mac на основі Apple Silicon, спробуйте примусово " -#~ "встановити емуляцію Rosetta для Godot.app у параметрах програми,\n" -#~ "а потім перезапустіть редактор." - -#~ msgid "" -#~ "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -#~ msgstr "" -#~ "InterpolatedCamera вважається застарілою, її буде вилучено у Godot 4.0." - -#~ msgid "No" -#~ msgstr "Ні" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Ця сцена ніколи не була збережена. Зберегти перед запуском?" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "У параметрах редактора не налаштовано виконуваного файла ADB." - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "У параметрах редактора не налаштовано jarsigner з OpenJDK." - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "" -#~ "Нетипове збирання потребує коректного шляху до SDK для Android у " -#~ "параметрах редактора." - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(Лишилося часу: %d:%02d с)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "Побудова сітки: " - -#~ msgid "Lighting Meshes: " -#~ msgstr "Освітлення сітки: " - -#~ msgid "Search complete" -#~ msgstr "Пошук завершено" - -#~ msgid "No commit message was provided" -#~ msgstr "Не було вказано повідомлення щодо внеску" - -#~ msgid "Add a commit message" -#~ msgstr "Додати повідомлення щодо внеску" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "У вказаному каталозі вже міститься тека або файл із вказано назвою." - -#~ msgid "Unable to complete APK alignment." -#~ msgstr "Не вдалося завершити вирівнювання APK." - -#~ msgid "Unable to delete unaligned APK." -#~ msgstr "Не вдалося вилучити невирівняний APK." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Помилка при спробі зберегти компонування!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Типове компонування редактора перевизначено." - -#~ msgid "Move pivot" -#~ msgstr "Пересунути опорну точку" - -#~ msgid "Move anchor" -#~ msgstr "Пересунути прив'язку" - -#~ msgid "Resize CanvasItem" -#~ msgstr "Змінити розмір CanvasItem" - -#~ msgid "Polygon->UV" -#~ msgstr "Полігон -> UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV -> полігон" - -#~ msgid "Add initial export..." -#~ msgstr "Додати початкове експортування…" - -#~ msgid "Add previous patches..." -#~ msgstr "Додати попередні латки…" - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "Вилучити латку «%s» зі списку?" - -#~ msgid "Patches" -#~ msgstr "Латки" - -#~ msgid "Make Patch" -#~ msgstr "Створити латку" - -#~ msgid "Pack File" -#~ msgstr "Файл пакунка" - -#~ msgid "No build apk generated at: " -#~ msgstr "Немає apk для збирання у: " - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "Бічна панель файлової системи та імпортування" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "При експорті або розгортанні, отриманий виконуваний файл буде намагатися " -#~ "підключитися до IP цього комп'ютера, для налагодження." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "" -#~ "Поточна сцена ніколи не була збережена, будь ласка, збережіть її до " -#~ "запуску." - -#~ msgid "Revert" -#~ msgstr "Повернутися" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Цю дію не можна скасувати. Повернутися в будь-якому випадку?" - -#~ msgid "Revert Scene" -#~ msgstr "Повернути сцену" - -#~ msgid "Clear Script" -#~ msgstr "Вилучити скрипт" - -#~ msgid "Issue Tracker" -#~ msgstr "Відстеження помилок" - -#~ msgid "Request Docs" -#~ msgstr "Запит щодо документації" - -#~ msgid "Help improve the Godot documentation by giving feedback." -#~ msgstr "Допоможіть у поліпшенні документації Godot наданням відгуків." - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "Замінено %d випадок(-ів)." - -#~ msgid "Create Static Convex Body" -#~ msgstr "Створити опукле статичне тіло" - -#~ msgid "Failed creating shapes!" -#~ msgstr "Не вдалося створити форми!" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "Настанов щодо цього класу ще немає. Ви можете [color=$color][url=" -#~ "$url]створити їх[/url][/color] або [color=$color][url=$url2]надіслати " -#~ "запит щодо їхнього створення[/url][/color]." - -#~ msgid "enum " -#~ msgstr "перелічуваний " - -#~ msgid "Brief Description" -#~ msgstr "Стислий опис" - -#~ msgid "Class Description" -#~ msgstr "Опис класу" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "Не вдалося експортувати проєкт, код помилки — %d." - -#~ msgid "Password:" -#~ msgstr "Пароль:" - -#~ msgid "Identifier segments must be of non-zero length." -#~ msgstr "Сегменти ідентифікатора повинні мати ненульову довжину." - -#~ msgid "A digit cannot be the first character in a Identifier segment." -#~ msgstr "" -#~ "Не можна використовувати цифри як перші символи сегмента ідентифікатора." - -#~ msgid "" -#~ "The character '%s' cannot be the first character in a Identifier segment." -#~ msgstr "" -#~ "Не можна використовувати символ «%s» як перший символ сегмента " -#~ "ідентифікатора." - -#~ msgid "The Identifier must have at least one '.' separator." -#~ msgstr "У ідентифікаторі має бути принаймні один роздільник «.»." - -#~ msgid "Pause the scene" -#~ msgstr "Призупинити сцену" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Control+" -#~ msgstr "Ctrl+" - -#~ msgid "Snap to Grid" -#~ msgstr "Прилипання до сітки" - -#~ msgid "Add input +" -#~ msgstr "Додати вхід +" - -#~ msgid "Language" -#~ msgstr "Мова" - -#~ msgid "Inherits" -#~ msgstr "Успадковує" - -#~ msgid "Base Type:" -#~ msgstr "Базовий тип:" - -#~ msgid "Available Nodes:" -#~ msgstr "Доступні вузли:" - -#~ msgid "Input" -#~ msgstr "Вхідні дані" - -#~ msgid "Methods:" -#~ msgstr "Методи:" - -#~ msgid "Theme Properties:" -#~ msgstr "Властивості теми:" - -#~ msgid "Enumerations:" -#~ msgstr "Перелічуваний:" - -#~ msgid "Constants:" -#~ msgstr "Константи:" - -#~ msgid "Class Description:" -#~ msgstr "Опис класу:" - -#~ msgid "Property Descriptions:" -#~ msgstr "Описи властивостей:" - -#~ msgid "Method Descriptions:" -#~ msgstr "Описи методів:" - -#~ msgid "" -#~ "This will install the Android project for custom builds.\n" -#~ "Note that, in order to use it, it needs to be enabled per export preset." -#~ msgstr "" -#~ "У результаті виконання цієї дії буде встановлено проєкт Android для " -#~ "нетипового збирання.\n" -#~ "Зауважте, що для того, щоб ним можна було скористатися, його слід " -#~ "увімкнути експортуванням набору правил." - -#~ msgid "Reverse sorting." -#~ msgstr "Обернений порядок." - -#~ msgid "Delete Node(s)?" -#~ msgstr "Вилучити вузли?" - -#~ msgid "No Matches" -#~ msgstr "Немає збігів" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "" -#~ "Не вдається відкрити file_type_cache.cch для запису, не буде збережений " -#~ "файл тип кешу!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "" -#~ "Неможливо перейти до '%s' , оскільки він не був знайдений в файловій " -#~ "системі!" - -#~ msgid "Error loading image:" -#~ msgstr "Помилка завантаження зображення:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "В зображенні немає пікселів з прозорістю > 128..." - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "Предок не має суцільних граней для заповнення." - -#~ msgid "Couldn't map area." -#~ msgstr "Не вдалося відобразити ділянку." - -#~ msgid "Faces contain no area!" -#~ msgstr "Грані не містять ділянки!" - -#~ msgid "No faces!" -#~ msgstr "Немає граней!" - -#~ msgid "Error: could not load file." -#~ msgstr "Помилка: не вдалося завантажити файл." - -#~ msgid "Error could not load file." -#~ msgstr "Помилка: не вдалося завантажити файл." - -#~ msgid "Doppler Enable" -#~ msgstr "Ефект Доплера" - -#~ msgid "Select Mode (Q)" -#~ msgstr "Режим виділення (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "Режим пересування (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "Режим обертання (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "Режим масштабування (R)" - -#~ msgid "Local Coords" -#~ msgstr "Локальні координати" - -#~ msgid "Snap Mode (%s)" -#~ msgstr "Режим прилипання (%s)" - -#~ msgid "Tool Select" -#~ msgstr "Інструмент позначення" - -#~ msgid "Tool Move" -#~ msgstr "Інструмент пересування" - -#~ msgid "Tool Rotate" -#~ msgstr "Інструмент обертання" - -#~ msgid "Tool Scale" -#~ msgstr "Інструмент масштабування" - -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "" -#~ "Вилучити усі проєкти, які не знайдено, зі списку? (Вміст тек не буде " -#~ "змінено)" - -#~ msgid "Project List" -#~ msgstr "Список проєктів" - -#~ msgid "Exit" -#~ msgstr "Вихід" - -#~ msgid "Could not execute PVRTC tool:" -#~ msgstr "Не вдалося виконати інструмент PVRTC:" - -#~ msgid "Can't load back converted image using PVRTC tool:" -#~ msgstr "" -#~ "Не вдалося завантажити перетворене зображення за допомогою засобу PVRTC:" - -#~ msgid "Error initializing FreeType." -#~ msgstr "Помилка ініціалізації FreeType." - -#~ msgid "Unknown font format." -#~ msgstr "Невідомий формат шрифту." - -#~ msgid "Error loading font." -#~ msgstr "Помилка завантаження шрифту." - -#~ msgid "Invalid font size." -#~ msgstr "Некоректний розмір шрифту." - -#~ msgid "Previous Folder" -#~ msgstr "Попередня тека" - -#~ msgid "Next Folder" -#~ msgstr "Наступна тека" - -#~ msgid "Automatically Open Screenshots" -#~ msgstr "Автоматично відкривати знімки вікон" - -#~ msgid "Open in an external image editor." -#~ msgstr "Відкрити у зовнішньому редакторі зображень." - -#~ msgid "Reverse" -#~ msgstr "Зворотний" - -#~ msgid "Mirror X" -#~ msgstr "Віддзеркалити за X" - -#~ msgid "Mirror Y" -#~ msgstr "Віддзеркалити за Y" - -#~ msgid "Generating solution..." -#~ msgstr "Створення розв'язку..." - -#~ msgid "Generating C# project..." -#~ msgstr "Створюємо проєкт C#..." - -#~ msgid "Failed to create solution." -#~ msgstr "Не вдалося створити розв'язок." - -#~ msgid "Failed to save solution." -#~ msgstr "Не вдалося зберегти розв'язок." - -#~ msgid "Failed to create C# project." -#~ msgstr "Не вдалося створити проєкт C#." - -#~ msgid "Mono" -#~ msgstr "Моно" - -#~ msgid "About C# support" -#~ msgstr "Про підтримку C#" - -#~ msgid "Create C# solution" -#~ msgstr "Створити розв'язок C#" - -#~ msgid "Builds" -#~ msgstr "Збирання" - -#~ msgid "Build Project" -#~ msgstr "Зібрати проєкт" - -#~ msgid "View log" -#~ msgstr "Переглянути журнал" - -#~ msgid "WorldEnvironment needs an Environment resource." -#~ msgstr "WorldEnvironment потребує ресурсу Environment." - -#~ msgid "Enabled Classes" -#~ msgstr "Увімкнені класи" - -#~ msgid "Update Always" -#~ msgstr "Завжди оновлювати" - -#~ msgid "'camera' input parameter for all shader modes." -#~ msgstr "Вхідний параметр «camera» для усіх режимів шейдера." - -#~ msgid "'inv_camera' input parameter for all shader modes." -#~ msgstr "Вхідний параметр «inv_camera» для усіх режимів шейдера." - -#~ msgid "'inv_projection' input parameter for all shader modes." -#~ msgstr "Вхідний параметр «inv_projection» для усіх режимів шейдера." - -#~ msgid "'normal' input parameter for all shader modes." -#~ msgstr "Вхідний параметр «normal» для усіх режимів шейдера." - -#~ msgid "'projection' input parameter for all shader modes." -#~ msgstr "Вхідний параметр «projection» для усіх режимів шейдера." - -#~ msgid "'time' input parameter for all shader modes." -#~ msgstr "Вхідний параметр «time» для усіх режимів шейдера." - -#~ msgid "'viewport_size' input parameter for all shader modes." -#~ msgstr "Вхідний параметр «viewport_size» для усіх режимів шейдера." - -#~ msgid "'world' input parameter for all shader modes." -#~ msgstr "Вхідний параметр «world» для усіх режимів шейдера." - -#~ msgid "'alpha' input parameter for all shader modes." -#~ msgstr "Вхідний параметр «alpha» для усіх режимів шейдера." - -#~ msgid "'color' input parameter for all shader modes." -#~ msgstr "Вхідний параметр «color» для усіх режимів шейдера." - -#~ msgid "'texture_pixel_size' input parameter for all shader modes." -#~ msgstr "Вхідний параметр «texture_pixel_size» для усіх режимів шейдера." - -#~ msgid "'alpha' input parameter for vertex and fragment shader modes." -#~ msgstr "Вхідний параметр «alpha» для режиму вершин і фрагментів шейдера." - -#~ msgid "'binormal' input parameter for vertex and fragment shader modes." -#~ msgstr "Вхідний параметр «binormal» для режиму вершин і фрагментів шейдера." - -#~ msgid "'color' input parameter for vertex and fragment shader modes." -#~ msgstr "Вхідний параметр «color» для режиму вершин і фрагментів шейдера." - -#~ msgid "'fragcoord' input parameter for fragment and light shader modes." -#~ msgstr "" -#~ "Вхідний параметр «fragcoord» для режимів фрагментів та світла шейдера." - -#~ msgid "'point_coord' input parameter for fragment shader mode." -#~ msgstr "Вхідний параметр «point_coord» для режиму фрагментів шейдера." - -#~ msgid "'screen_uv' input parameter for fragment shader mode." -#~ msgstr "Вхідний параметр «screen_uv» для режимів фрагментів шейдера." - -#~ msgid "'tangent' input parameter for vertex and fragment shader modes." -#~ msgstr "Вхідний параметр «tangent» для режиму вершин і фрагментів шейдера." - -#~ msgid "'uv2' input parameter for vertex and fragment shader modes." -#~ msgstr "Вхідний параметр «uv2» для режиму вершин і фрагментів шейдера." - -#~ msgid "'vertex' input parameter for vertex and fragment shader modes." -#~ msgstr "Вхідний параметр «vertex» для режиму вершин і фрагментів шейдера." - -#~ msgid "'albedo' input parameter for light shader mode." -#~ msgstr "Вхідний параметр «albedo» для режиму світла шейдера." - -#~ msgid "'attenuation' input parameter for light shader mode." -#~ msgstr "Вхідний параметр «attenuation» для режиму світла шейдера." - -#~ msgid "'light' input parameter for light shader mode." -#~ msgstr "Вхідний параметр «light» для режиму світла шейдера." - -#~ msgid "'light_color' input parameter for light shader mode." -#~ msgstr "Вхідний параметр «light_color» для режиму світла шейдера." - -#~ msgid "'roughness' input parameter for light shader mode." -#~ msgstr "Вхідний параметр «roughness» для режиму світла шейдера." - -#~ msgid "'specular' input parameter for light shader mode." -#~ msgstr "Вхідний параметр «specular» для режиму світла шейдера." - -#~ msgid "'transmission' input parameter for light shader mode." -#~ msgstr "Вхідний параметр «transmission» для режиму світла шейдера." - -#~ msgid "'modelview' input parameter for vertex shader mode." -#~ msgstr "Вхідний параметр «modelview» для режиму вершин шейдера." - -#~ msgid "'point_size' input parameter for vertex shader mode." -#~ msgstr "Вхідний параметр «point_size» для режиму вершин шейдера." - -#~ msgid "'tangent' input parameter for vertex and fragment shader mode." -#~ msgstr "Вхідний параметр «tangent» для режиму вершин і фрагментів шейдера." - -#~ msgid "'light_pass' input parameter for vertex and fragment shader modes." -#~ msgstr "" -#~ "Вхідний параметр «light_pass» для режиму вершин і фрагментів шейдера." - -#~ msgid "'point_coord' input parameter for fragment and light shader modes." -#~ msgstr "" -#~ "Вхідний параметр «point_coord» для режимів фрагментів та світла шейдера." - -#~ msgid "'screen_pixel_size' input parameter for fragment shader mode." -#~ msgstr "Вхідний параметр «screen_pixel_size» для режиму фрагментів шейдера." - -#~ msgid "'screen_uv' input parameter for fragment and light shader modes." -#~ msgstr "" -#~ "Вхідний параметр «screen_uv» для режимів фрагментів та світла шейдера." - -#~ msgid "'light_alpha' input parameter for light shader mode." -#~ msgstr "Вхідний параметр «light_alpha» для режиму світла шейдера." - -#~ msgid "'light_height' input parameter for light shader mode." -#~ msgstr "Вхідний параметр «light_height» для режиму світла шейдера." - -#~ msgid "'light_uv' input parameter for light shader mode." -#~ msgstr "Вхідний параметр «light_uv» для режиму світла шейдера." - -#~ msgid "'light_vec' input parameter for light shader mode." -#~ msgstr "Вхідний параметр «light_vec» для режиму світла шейдера." - -#~ msgid "'normal' input parameter for light shader mode." -#~ msgstr "Вхідний параметр «normal» для режиму світла шейдера." - -#~ msgid "'shadow_color' input parameter for light shader mode." -#~ msgstr "Вхідний параметр «shadow_color» для режиму світла шейдера." - -#~ msgid "'extra' input parameter for vertex shader mode." -#~ msgstr "Вхідний параметр «extra» для режиму вершин шейдера." - -#~ msgid "'projection' input parameter for vertex shader mode." -#~ msgstr "Вхідний параметр «projection» для режиму вершин шейдера." - -#~ msgid "'vertex' input parameter for vertex shader mode." -#~ msgstr "Вхідний параметр «vertex» для режиму вершин шейдера." - -#~ msgid "'world' input parameter for vertex shader mode." -#~ msgstr "Вхідний параметр «world» для режиму вершин шейдера." - -#~ msgid "'active' input parameter for vertex shader mode." -#~ msgstr "Вхідний параметр «active» для режиму вершин шейдера." - -#~ msgid "'alpha' input parameter for vertex shader mode." -#~ msgstr "Вхідний параметр «alpha» для режиму вершин шейдера." - -#~ msgid "'color' input parameter for vertex shader mode." -#~ msgstr "Вхідний параметр «color» для режиму вершин шейдера." - -#~ msgid "'custom_alpha' input parameter for vertex shader mode." -#~ msgstr "Вхідний параметр «custom_alph» для режиму вершин шейдера." - -#~ msgid "'delta' input parameter for vertex shader mode." -#~ msgstr "Вхідний параметр «delta» для режиму вершин шейдера." - -#~ msgid "'emission_transform' input parameter for vertex shader mode." -#~ msgstr "Вхідний параметр «emission_transform» для режиму вершин шейдера." - -#~ msgid "'index' input parameter for vertex shader mode." -#~ msgstr "Вхідний параметр «index» для режиму вершин шейдера." - -#~ msgid "'lifetime' input parameter for vertex shader mode." -#~ msgstr "Вхідний параметр «lifetime» для режиму вершин шейдера." - -#~ msgid "'restart' input parameter for vertex shader mode." -#~ msgstr "Вхідний параметр «restart» для режиму вершин шейдера." - -#~ msgid "'time' input parameter for vertex shader mode." -#~ msgstr "Вхідний параметр «time» для режиму вершин шейдера." - -#~ msgid "'transform' input parameter for vertex shader mode." -#~ msgstr "Вхідний параметр «transform» для режиму вершин шейдера." - -#~ msgid "'velocity' input parameter for vertex shader mode." -#~ msgstr "Вхідний параметр «velocity» для режиму вершин шейдера." - -#~ msgid "Raw Mode" -#~ msgstr "Raw (сирий) режим" - -#~ msgid "Path to Node:" -#~ msgstr "Шлях до вузла:" - -#~ msgid "Delete selected files?" -#~ msgstr "Видалити вибрані файли?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "Файл 'res: //default_bus_layout.tres' не знайдено." - -#~ msgid "Go to parent folder" -#~ msgstr "Перейти до батьківської теки" - -#~ msgid "Open Scene(s)" -#~ msgstr "Відкрити сцену(и)" - -#~ msgid "Previous Directory" -#~ msgstr "Попередній каталог" - -#~ msgid "Next Directory" -#~ msgstr "Наступний каталог" - -#~ msgid "Ease in" -#~ msgstr "Перейти в" - -#~ msgid "Ease out" -#~ msgstr "Перейти з" - -#~ msgid "Create Convex Static Body" -#~ msgstr "Створити опукле статичне тіло" - -#~ msgid "CheckBox Radio1" -#~ msgstr "Варіант 1" - -#~ msgid "CheckBox Radio2" -#~ msgstr "Варіант 2" - -#~ msgid "Create folder" -#~ msgstr "Створити теку" - -#~ msgid "Custom Node" -#~ msgstr "Нетиповий вузол" - -#~ msgid "Invalid Path" -#~ msgstr "Неправильний шлях" - -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "Дублювання позначеного GridMap" - -#~ msgid "Create Area" -#~ msgstr "Створити область" - -#~ msgid "Create Exterior Connector" -#~ msgstr "Створити зовнішнє з'єднання" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "Редагувати аргументи сигналу:" - -#~ msgid "Edit Variable:" -#~ msgstr "Редагувати змінну:" - -#~ msgid "Snap (s): " -#~ msgstr "Прилипання (с): " - -#~ msgid "Insert keys." -#~ msgstr "Вставити ключі." - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "Додати вибрану сцену(и), як нащадка вибраного вузла." - -#~ msgid "Font Size:" -#~ msgstr "Розмір шрифту:" - -#~ msgid "Line:" -#~ msgstr "Рядок:" - -#~ msgid "Col:" -#~ msgstr "Колонка:" - -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "OrientedPathFollow працюватиме лише як дочірній елемент вузла Path." - -#~ msgid "Split point with itself." -#~ msgstr "Розділити точку." - -#~ msgid "Split can't form an existing edge." -#~ msgstr "Поділ не може створювати наявного ребра." - -#~ msgid "Add Split" -#~ msgstr "Додати поділ" - -#~ msgid "Remove Split" -#~ msgstr "Вилучити поділ" - -#~ msgid "Poly" -#~ msgstr "Полігон" - -#~ msgid "Splits" -#~ msgstr "Дроблення" - -#~ msgid "Connect two points to make a split." -#~ msgstr "З'єднайте дві точки для створення розрізу." - -#~ msgid "Add Node.." -#~ msgstr "Додати вузол…" - -#~ msgid "Create from scene?" -#~ msgstr "Створити зі сцени?" - -#~ msgid "Create Poly" -#~ msgstr "Створити полігон" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "Створення нового полігону з нуля" - -#~ msgid "Zoom out" -#~ msgstr "Зменшити" - -#~ msgid "Zoom in" -#~ msgstr "Збільшити" - -#~ msgid "Create Poly3D" -#~ msgstr "Створити полігон3D" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "Цей вузол не має ресурсу OccluderPolygon2D.\n" -#~ "Створити і призначити?" - -#~ msgid "LMB: Move Point." -#~ msgstr "ЛКМ: Перемістити точку." - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "CTRL+ЛКМ: Розділити сегмент." - -#~ msgid "RMB: Erase Point." -#~ msgstr "ПКМ: Стерти точку." - -#~ msgid "New TextFile" -#~ msgstr "Новий текстовий файл" - -#~ msgid "Save Theme As" -#~ msgstr "Зберегти тему як" - -#~ msgid "<None>" -#~ msgstr "<Немає>" - -#~ msgid "" -#~ "Select sub-tile to use as icon, this will be also used on invalid " -#~ "autotile bindings." -#~ msgstr "" -#~ "Виберіть підплитку для використання як піктограми. Її також буде " -#~ "використано для некоректних прив'язок у режимі автоплитки." - -#~ msgid "Zoom:" -#~ msgstr "Масштаб:" - -#~ msgid "Are you sure you want to remove all connections from the \"" -#~ msgstr "Ви справді хочете вилучити усі з'єднання з сигналу \"" - -#~ msgid "Class List:" -#~ msgstr "Список класів:" - -#~ msgid "Public Methods" -#~ msgstr "Публічні методи" - -#~ msgid "Public Methods:" -#~ msgstr "Публічні методи:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "Тема елементів ГІК:" - -#~ msgid "Property: " -#~ msgstr "Властивість: " - -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "Перемкнути стан теки як вибраної." - -#~ msgid "Show current scene file." -#~ msgstr "Показати файл поточної сцени." - -#~ msgid "Enter tree-view." -#~ msgstr "Увійти до ієрархічного списку." - -#~ msgid "Whole words" -#~ msgstr "Цілі слова" - -#~ msgid "Match case" -#~ msgstr "Із ураховуванням регістру" - -#~ msgid "Ok" -#~ msgstr "Гаразд" - -#~ msgid "Show In File System" -#~ msgstr "Показати в файловій системі" - -#~ msgid "Search the class hierarchy." -#~ msgstr "Пошук в ієрархії класів." - -#~ msgid "Search in files" -#~ msgstr "Шукати у файлах" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "" -#~ "Вбудовані скрипти можна змінити тільки тоді, коли завантажено сцену, до " -#~ "якої вони належать" - -#~ msgid "Convert To Uppercase" -#~ msgstr "Конвертувати у ВЕРХНІЙ РЕГІСТР" - -#~ msgid "Convert To Lowercase" -#~ msgstr "Конвертувати в нижній регістр" - -#~ msgid "Rotate 0 degrees" -#~ msgstr "Обертання на 0 градусів" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "Обертання на 90 градусів" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "Обертання на 180 градусів" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "Обертання на 270 градусів" - -#~ msgid "Errors:" -#~ msgstr "Помилки:" - -#~ msgid "Stack Trace (if applicable):" -#~ msgstr "Трасування стека (якщо застосовне):" - -#~ msgid "Bake!" -#~ msgstr "Запекти!" - -#~ msgid "Bake the navigation mesh." -#~ msgstr "Створити навігаційну сітку." - -#~ msgid "Get" -#~ msgstr "Отримати" - -#~ msgid "Change RGB Constant" -#~ msgstr "Змінити сталу RGB" - -#~ msgid "Change Vec Scalar Operator" -#~ msgstr "Змінити векторно-числовий оператор" - -#~ msgid "Change RGB Operator" -#~ msgstr "Змінити оператор RGB" - -#~ msgid "Toggle Rot Only" -#~ msgstr "Перемкнути лише поворот" - -#~ msgid "Change Vec Function" -#~ msgstr "Змінити векторну функцію" - -#~ msgid "Change Vec Uniform" -#~ msgstr "Змінити векторну одиницю" - -#~ msgid "Change RGB Uniform" -#~ msgstr "Змінити одиницю RGB" - -#~ msgid "Change Default Value" -#~ msgstr "Змінити значення за промовчанням" - -#~ msgid "Change XForm Uniform" -#~ msgstr "Змінити одиницю XForm" - -#~ msgid "Change Cubemap Uniform" -#~ msgstr "Змінити одиницю кубічної мапи" - -#~ msgid "Change Comment" -#~ msgstr "Змінити коментар" - -#~ msgid "Add/Remove to Color Ramp" -#~ msgstr "Додати до рампи кольорів або вилучити з неї" - -#~ msgid "Modify Color Ramp" -#~ msgstr "Змінити градієнт" - -#~ msgid "Add/Remove to Curve Map" -#~ msgstr "Додати до карти кривих або вилучити з неї" - -#~ msgid "Modify Curve Map" -#~ msgstr "Змінити карту кривої" - -#~ msgid "Connect Graph Nodes" -#~ msgstr "З'єднати вузли графу" - -#~ msgid "Remove Shader Graph Node" -#~ msgstr "Вилучити вузол графу шейдера" - -#~ msgid "Move Shader Graph Node" -#~ msgstr "Пересунути вузол графу шейдера" - -#~ msgid "Duplicate Graph Node(s)" -#~ msgstr "Дублювати вузли графу" - -#~ msgid "Error: Cyclic Connection Link" -#~ msgstr "Помилка: циклічне посилання" - -#~ msgid "Error: Missing Input Connections" -#~ msgstr "Помилка: пропущено вхідні з'єднання" - -#~ msgid "Add Shader Graph Node" -#~ msgstr "Додати вузол графу шейдера" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Пересунути доріжку вгору" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Пересунути доріжку вниз" - -#~ msgid "Set Transitions to:" -#~ msgstr "Встановити перехід на:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Змінити інтерполяцію" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "Змінити режим значень" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "Змінити режим циклу" - -#~ msgid "Edit Node Curve" -#~ msgstr "Редагувати криву вузла" - -#~ msgid "Edit Selection Curve" -#~ msgstr "Редагувати обрану криву" - -#~ msgid "Anim Add Key" -#~ msgstr "Додати ключ анімації" - -#~ msgid "In" -#~ msgstr "В" - -#~ msgid "Out" -#~ msgstr "Із" - -#~ msgid "In-Out" -#~ msgstr "В-із" - -#~ msgid "Out-In" -#~ msgstr "Із-в" - -#~ msgid "Change Anim Len" -#~ msgstr "Змінити довжину анімації" - -#~ msgid "Change Anim Loop" -#~ msgstr "Змінити цикл анімації" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Створити типовий ключ значення анімації" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Додати доріжку виклику анімації" - -#~ msgid "Length (s):" -#~ msgstr "Тривалість (сек.):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "Крок прив'язки курсору (в секундах)." - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Увімкнення/вимкнення циклічного відтворення у анімації." - -#~ msgid "Add new tracks." -#~ msgstr "Додати нові доріжки." - -#~ msgid "Move current track up." -#~ msgstr "Переміщення поточної доріжки вгору." - -#~ msgid "Move current track down." -#~ msgstr "Перемістити поточну доріжку вниз." - -#~ msgid "Track tools" -#~ msgstr "Інструменти відстеження" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Дозволити редагування окремих ключів, клацаючи по ним." - -#~ msgid "Key" -#~ msgstr "Ключ" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "З якого вузла викликати функцію?" - -#~ msgid "Thanks!" -#~ msgstr "Подяка!" - -#~ msgid "I see..." -#~ msgstr "Бачу..." - -#~ msgid "Ugh" -#~ msgstr "Тьху" - -#~ msgid "Run Script" -#~ msgstr "Запустити скрипт" - -#~ msgid "Stop Profiling" -#~ msgstr "Зупинити профілювання" - -#~ msgid "Start Profiling" -#~ msgstr "Початок профілювання" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "Типовий (так само, як редактор)" - -#~ msgid "Create new animation in player." -#~ msgstr "Створити нову анімацію у програвачі." - -#~ msgid "Load animation from disk." -#~ msgstr "Завантажити анімацію з диска." - -#~ msgid "Load an animation from disk." -#~ msgstr "Завантажити цю анімацію з диска." - -#~ msgid "Save the current animation" -#~ msgstr "Зберегти поточну анімацію" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "Редагувати цільовий час змішування" - -#~ msgid "Copy Animation" -#~ msgstr "Копіювати анімацію" - -#~ msgid "Fetching:" -#~ msgstr "Видобування:" - -#~ msgid "prev" -#~ msgstr "попередній" - -#~ msgid "next" -#~ msgstr "наступний" - -#~ msgid "last" -#~ msgstr "останній" - -#~ msgid "Edit IK Chain" -#~ msgstr "Редагувати ІК-ланцюг" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "Перетягти центр обертання з положення миші" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "Встановити центр обертання на місці вказівника миші" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "Додати/Видалити точку градієнта" - -#~ msgid "OK :(" -#~ msgstr "Гаразд :(" - -#~ msgid "Skeleton Gizmo visibility" -#~ msgstr "Видимість каркасу гаджетів" - -#~ msgid "StyleBox Preview:" -#~ msgstr "Перегляд StyleBox:" - -#~ msgid "Texture Region Editor" -#~ msgstr "Редактор області текстури" - -#~ msgid "Erase selection" -#~ msgstr "Витерти позначене" - -#~ msgid "Item name or ID:" -#~ msgstr "Назва або ідентифікатор елемента:" - -#~ msgid "Export templates for this platform are missing/corrupted: " -#~ msgstr "" -#~ "Не вистачає шаблонів експортування для платформи або шаблони пошкоджено: " - -#~ msgid "Button 8" -#~ msgstr "Кнопка 8" - -#~ msgid "Button 9" -#~ msgstr "Кнопка 9" - -#~ msgid "Discard Instancing" -#~ msgstr "Відкинути екземпляри" - -#~ msgid "Clear!" -#~ msgstr "Вилучено!" - -#~ msgid "Toggle Spatial Visible" -#~ msgstr "Перемкнути просторову видимість" - -#~ msgid "Condition" -#~ msgstr "Умова" - -#~ msgid "Sequence" -#~ msgstr "Послідовність" - -#~ msgid "Iterator" -#~ msgstr "Ітератор" - -#~ msgid "While" -#~ msgstr "Поки" - -#~ msgid "Return" -#~ msgstr "Повернення" - -#~ msgid "Call" -#~ msgstr "Виклик" - -#~ msgid "Edit Variable" -#~ msgstr "Редагувати змінну" - -#~ msgid "Edit Signal" -#~ msgstr "Редагувати сигнал" - -#~ msgid "Invalid action (anything goes but '/' or ':')." -#~ msgstr "Некоректна дія (можна усе, окрім «/» або «:»)." - -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "Не може містити «/» або «:»" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "" -#~ "Неправильний формат version.txt у шаблонах. Ідентифікатор ревізії не є " -#~ "дійсним." - -#~ msgid "Can't write file." -#~ msgstr "Не вдалося записати файл." - -#~ msgid "Couldn't get project.godot in project path." -#~ msgstr "Не вдалося отримати project.godot з каталогу проекту." - -#~ msgid "Replace By" -#~ msgstr "Замінити на" - -#~ msgid "Backwards" -#~ msgstr "Назад" - -#~ msgid "Prompt On Replace" -#~ msgstr "Запитувати при заміні" - -#~ msgid "Skip" -#~ msgstr "Пропустити" - -#~ msgid "Move Add Key" -#~ msgstr "Посунути ключ" - -#~ msgid "Create Subscription" -#~ msgstr "Створення підписки" - -#~ msgid "List:" -#~ msgstr "Список:" diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po index c557fa7dfc..d266a4a216 100644 --- a/editor/translations/ur_PK.po +++ b/editor/translations/ur_PK.po @@ -1,17 +1,17 @@ # Urdu (Pakistan) translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # # Muhammad Ali <ali@codeonion.com>, 2016. -# +# Faisal Rehman <faisalurrehman234@gmail.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2018-12-13 14:44+0100\n" -"Last-Translator: Muhammad Ali <ali@codeonion.com>\n" +"PO-Revision-Date: 2021-11-26 18:51+0000\n" +"Last-Translator: Faisal Rehman <faisalurrehman234@gmail.com>\n" "Language-Team: Urdu (Pakistan) <https://hosted.weblate.org/projects/godot-" "engine/godot/ur_PK/>\n" "Language: ur_PK\n" @@ -19,10 +19,11 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Weblate 4.10-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp +#, fuzzy msgid "Invalid type argument to convert(), use TYPE_* constants." msgstr "" ".استمال کیجۓ TYPE_* constants .کے لیے غلط ہیں convert() دیے گئے ارگمنٹس." @@ -43,7 +44,7 @@ msgstr "" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" -msgstr "" +msgstr "self استعمال نہیں کیا جا سکتا کیونکہ مثال null ہے (پاس نہیں ہوئی)" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." @@ -58,10 +59,8 @@ msgid "Invalid named index '%s' for base type %s" msgstr "" #: core/math/expression.cpp -#, fuzzy msgid "Invalid arguments to construct '%s'" -msgstr "" -".استمال کیجۓ TYPE_* constants .کے لیے غلط ہیں convert() دیے گئے ارگمنٹس." +msgstr "'%s' کی تعمیر کے لیے غلط دلائل" #: core/math/expression.cpp msgid "On call to '%s':" @@ -344,7 +343,7 @@ msgstr "" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" -msgstr "" +msgstr "انیم ٹریک ہٹائیں" #. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp @@ -916,7 +915,7 @@ msgstr "" #: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp msgid "Signals" -msgstr "" +msgstr "سگنلز" #: editor/connections_dialog.cpp #, fuzzy @@ -1832,7 +1831,7 @@ msgstr "" #: editor/editor_feature_profile.cpp editor/editor_node.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp msgid "Import" -msgstr "" +msgstr "درآمد" #: editor/editor_feature_profile.cpp editor/project_export.cpp msgid "Export" @@ -2083,22 +2082,38 @@ msgstr "" #: editor/editor_help.cpp msgid "Methods" -msgstr "" +msgstr "طریقے" #: editor/editor_help.cpp #, fuzzy msgid "Theme Properties" msgstr ".تمام کا انتخاب" -#: editor/editor_help.cpp -msgid "Enumerations" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" +msgstr "مستقل" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" msgstr "" #: editor/editor_help.cpp +msgid "Enumerations" +msgstr "گنتی" + +#: editor/editor_help.cpp #, fuzzy msgid "Property Descriptions" msgstr "سب سکریپشن بنائیں" @@ -2256,7 +2271,7 @@ msgstr "" #: editor/editor_network_profiler.cpp editor/editor_node.cpp msgid "Node" -msgstr "" +msgstr "نوڈ" #: editor/editor_network_profiler.cpp msgid "Incoming RPC" @@ -4788,9 +4803,8 @@ msgid "No animation to copy!" msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "No animation resource on clipboard!" -msgstr ".یہ ریسورس فائل پر مبنی نہی ہے" +msgstr "کلپ بورڈ پر کوئی حرکت پذیری وسیلہ نہیں!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Pasted Animation" @@ -6195,7 +6209,7 @@ msgstr "" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat 1" -msgstr "" +msgstr "فلیٹ 1" #: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp msgid "Ease In" @@ -8456,18 +8470,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -11533,14 +11535,12 @@ msgid "Make node as Root" msgstr "" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Delete %d nodes and any children?" -msgstr ".اینیمیشن کی کیز کو ڈیلیٹ کرو" +msgstr "%d نوڈس اور کوئی بچہ حذف کریں؟" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Delete %d nodes?" -msgstr ".اینیمیشن کی کیز کو ڈیلیٹ کرو" +msgstr "%d نوڈس حذف کریں؟" #: editor/scene_tree_dock.cpp msgid "Delete the root node \"%s\"?" @@ -11551,9 +11551,8 @@ msgid "Delete node \"%s\" and its children?" msgstr "" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Delete node \"%s\"?" -msgstr ".اینیمیشن کی کیز کو ڈیلیٹ کرو" +msgstr "نوڈ \"%s\" کو حذف کریں؟" #: editor/scene_tree_dock.cpp msgid "" @@ -11992,9 +11991,8 @@ msgid "Attach Node Script" msgstr "سب سکریپشن بنائیں" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Remote " -msgstr ".تمام کا انتخاب" +msgstr "ریموٹ " #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -13170,7 +13168,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -13179,6 +13182,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -13253,9 +13271,8 @@ msgid "Could not export project files to gradle project\n" msgstr "" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Could not write expansion package file!" -msgstr "سب سکریپشن بنائیں" +msgstr "توسیعی پیکیج فائل نہیں لکھی جا سکی!" #: platform/android/export/export_plugin.cpp msgid "Building Android Project (gradle)" @@ -14174,67 +14191,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "" - -#, fuzzy -#~ msgid "Remove Template" -#~ msgstr ".تمام کا انتخاب" - -#, fuzzy -#~ msgid "Move to Trash" -#~ msgstr "ایکشن منتقل کریں" - -#, fuzzy -#~ msgid "Templates" -#~ msgstr ".تمام کا انتخاب" - -#, fuzzy -#~ msgid "Move pivot" -#~ msgstr "ایکشن منتقل کریں" - -#, fuzzy -#~ msgid "Move anchor" -#~ msgstr "ایکشن منتقل کریں" - -#, fuzzy -#~ msgid "Clear Script" -#~ msgstr "سب سکریپشن بنائیں" - -#, fuzzy -#~ msgid "Class Description" -#~ msgstr "سب سکریپشن بنائیں" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "سب سکریپشن بنائیں" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "سب سکریپشن بنائیں" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "سب سکریپشن بنائیں" - -#, fuzzy -#~ msgid "Tool Select" -#~ msgstr ".تمام کا انتخاب" - -#, fuzzy -#~ msgid "Create C# solution" -#~ msgstr "سب سکریپشن بنائیں" - -#, fuzzy -#~ msgid "Ease in" -#~ msgstr ".تمام کا انتخاب" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr ".تمام کا انتخاب" - -#, fuzzy -#~ msgid "Set pivot at mouse position" -#~ msgstr ".تمام کا انتخاب" - -#, fuzzy -#~ msgid "Can't write file." -#~ msgstr "سب سکریپشن بنائیں" diff --git a/editor/translations/vi.po b/editor/translations/vi.po index 4e1718101e..3254821ac6 100644 --- a/editor/translations/vi.po +++ b/editor/translations/vi.po @@ -1,6 +1,6 @@ # Vietnamese translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # 01lifeleft <01lifeleft@gmail.com>, 2018. # Dlean Jeans <dleanjeans@gmail.com>, 2018. @@ -2119,14 +2119,34 @@ msgstr "Phương thức" msgid "Theme Properties" msgstr "Thuộc tính Chủ đề" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "Liệt kê" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Colors" +msgstr "Màu" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "Hằng số" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Fonts" +msgstr "Phông chữ" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Icons" +msgstr "Biểu tượng" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Styles" +msgstr "Kiểu" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "Liệt kê" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "Nội dung Thuộc tính" @@ -8579,21 +8599,6 @@ msgstr "TextureRegion" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy -msgid "Colors" -msgstr "Màu" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Fonts" -msgstr "Phông chữ" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Icons" -msgstr "Biểu tượng" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Styleboxes" msgstr "Kiểu" @@ -13410,8 +13415,17 @@ msgid "\"Use Custom Build\" must be enabled to use the plugins." msgstr "\"Sử dụng Bản dựng tùy chỉnh\" phải được bật để sử dụng các tiện ích." #: platform/android/export/export_plugin.cpp +#, fuzzy msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" +"\"Theo dõi chuyển động tay\" chỉ dùng được khi \"Xr Mode\" là \"Oculus " +"Mobile VR\"." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" "\"Theo dõi chuyển động tay\" chỉ dùng được khi \"Xr Mode\" là \"Oculus " "Mobile VR\"." @@ -13422,6 +13436,25 @@ msgstr "" "\"Xuất AAB\" chỉ dùng được khi \"Sử dụng Bản dựng tùy chỉnh\" được bật." #: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" +"\"Xuất AAB\" chỉ dùng được khi \"Sử dụng Bản dựng tùy chỉnh\" được bật." + +#: platform/android/export/export_plugin.cpp +#, fuzzy +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" +"\"Xuất AAB\" chỉ dùng được khi \"Sử dụng Bản dựng tùy chỉnh\" được bật." + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " @@ -14509,478 +14542,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "Không thể chỉnh sửa hằng số." - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "Tạo tư thế nghỉ (Từ Xương)" - -#~ msgid "Bottom" -#~ msgstr "Dưới" - -#~ msgid "Left" -#~ msgstr "Trái" - -#~ msgid "Right" -#~ msgstr "Phải" - -#~ msgid "Front" -#~ msgstr "Trước" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "\"Bậc tự do\" chỉ dùng được khi \"Xr Mode\" là \"Oculus Mobile VR\"." - -#~ msgid "Package Contents:" -#~ msgstr "Trong Gói có:" - -#~ msgid "Singleton" -#~ msgstr "Đơn nhất" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "Xoá hồ sơ '%s'? (không hoàn tác)" - -#~ msgid "Enabled Properties:" -#~ msgstr "Thuộc tính đã bật:" - -#~ msgid "Enabled Features:" -#~ msgstr "Tính năng đã bật:" - -#~ msgid "Unset" -#~ msgstr "Bỏ đặt" - -#~ msgid "Class Options" -#~ msgstr "Tuỳ chỉnh lớp" - -#~ msgid "Set" -#~ msgstr "Gán" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "Đã lưu tài nguyên được sửa đổi." - -#~ msgid "Q&A" -#~ msgstr "Hỏi và Đáp" - -#~ msgid "Status:" -#~ msgstr "Trạng thái:" - -#~ msgid "Edit:" -#~ msgstr "Sửa:" - -#~ msgid "Redownload" -#~ msgstr "Tải lại xuống" - -#~ msgid "(Installed)" -#~ msgstr "(Đã cài đặt)" - -#~ msgid "(Missing)" -#~ msgstr "(Thiếu)" - -#~ msgid "Request Failed." -#~ msgstr "Yêu cầu thất bại." - -#~ msgid "Redirect Loop." -#~ msgstr "Chuyển hướng vòng lặp." - -#~ msgid "Download Complete." -#~ msgstr "Tải xuống xong." - -#~ msgid "Remove Template" -#~ msgstr "Xóa Template" - -#~ msgid "Download Templates" -#~ msgstr "Tải Xuống Các Mẫu Xuất Bản" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "" -#~ "Chọn trang dự phòng từ danh sách: (Shift + Chuột trái: Mở trong trình " -#~ "duyệt)" - -#~ msgid "Move to Trash" -#~ msgstr "Di chuyển vào Thùng rác" - -#~ msgid "Expand All Properties" -#~ msgstr "Mở rộng tất cả" - -#~ msgid "Collapse All Properties" -#~ msgstr "Thu gọn tất cả" - -#~ msgid "Copy Params" -#~ msgstr "Sao chép các đối số" - -#~ msgid "Open in Help" -#~ msgstr "Mở trong Trợ giúp" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "Ghi đè máy quay trò chơi\n" -#~ "Không có thực thể trò chơi này đang chạy." - -#~ msgid "Drag: Rotate" -#~ msgstr "Kéo: Xoay" - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+chuột phải: Chọn theo tầng" - -#~ msgid "Size" -#~ msgstr "Kích cỡ" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "Kéo: Xoay\n" -#~ "Alt+Kéo: Di chuyển\n" -#~ "Alt+Chuột phải: Chọn theo tầng" - -#~ msgid "Add All" -#~ msgstr "Thêm Tất cả" - -#~ msgid "Theme editing menu." -#~ msgstr "Menu chỉnh Tông màu." - -#~ msgid "Create Empty Template" -#~ msgstr "Tạo Mẫu Trống" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "Tạo mẫu Trình biên tập trống" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "Tạo từ Tông màu Trình biên soạn hiện tại" - -#~ msgid "Data Type:" -#~ msgstr "Kiểu Dữ liệu:" - -#~ msgid "Theme File" -#~ msgstr "Tệp Tông màu" - -#~ msgid "Compiled" -#~ msgstr "Đã biên dịch" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "Gỡ các dự án %d khỏi danh sách?\n" -#~ "Nội dung các thư mục dự án sẽ không được sửa đổi." - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "Gỡ dự án này khỏi danh sách?\n" -#~ "Nội dung của thư mục dự án sẽ không được sửa đổi." - -#~ msgid "Templates" -#~ msgstr "Thư Viện" - -#~ msgid "Can not perform with the root node." -#~ msgstr "Không thể thực hiện với nút gốc." - -#~ msgid "Using default boot splash image." -#~ msgstr "Sử dụng hình khởi động mặc định." - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "" -#~ "Animation player không tự tạo hoạt ảnh được, phải thông qua các player " -#~ "khác." - -#~ msgid "Clipboard is empty" -#~ msgstr "Clipboard rỗng" - -#~ msgid "No" -#~ msgstr "Không" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "Scene này chưa được lưu. Lưu trước khi chạy?" - -#~ msgid "Search complete" -#~ msgstr "Tìm kiếm hoàn tất" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "Đã có tệp tin hoặc thư mục cùng tên tại vị trí này." - -#~ msgid "Error trying to save layout!" -#~ msgstr "Lỗi khi cố gắng lưu bố cục!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "Bố cục trình biên tập mặc định bị ghi đè." - -#~ msgid "Move pivot" -#~ msgstr "Di chuyển trục" - -#~ msgid "Move anchor" -#~ msgstr "Di chuyển neo" - -#~ msgid "Resize CanvasItem" -#~ msgstr "Đổi kích thước CanvasItem" - -#, fuzzy -#~ msgid "Add initial export..." -#~ msgstr "Thêm Input" - -#, fuzzy -#~ msgid "Pack File" -#~ msgstr " Tệp tin" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "Khi xuất ra hoặc triển khai, kết quả thực thi sẽ kết nối đến IP máy tính " -#~ "này để được gỡ lỗi." - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "Cảnh hiện tại chưa được lưu, hãy lưu nó trước khi chạy." - -#, fuzzy -#~ msgid "Revert" -#~ msgstr "Trở lại" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "Hành động này không thể hoàn tác. Trở lại luôn?" - -#~ msgid "Issue Tracker" -#~ msgstr "Theo dõi vấn đề" - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "Đã thay thế %d biến cố." - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "Mô tả ngắn gọn:" - -#~ msgid "Class Description" -#~ msgstr "Mô tả lớp" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "Xuất dự án thất bại với mã lỗi %d." - -#~ msgid "Password:" -#~ msgstr "Mật khẩu:" - -#~ msgid "Pause the scene" -#~ msgstr "Tạm dừng cảnh" - -#~ msgid "Snap to Grid" -#~ msgstr "Snap dạng lưới" - -#, fuzzy -#~ msgid "Add input +" -#~ msgstr "Thêm Input" - -#~ msgid "Available Nodes:" -#~ msgstr "Nodes khả dụng:" - -#~ msgid "Input" -#~ msgstr "Nhập" - -#~ msgid "Methods:" -#~ msgstr "Hàm:" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "Mô tả:" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "Mô tả ngắn gọn:" - -#~ msgid "Method Descriptions:" -#~ msgstr "Mô tả hàm:" - -#, fuzzy -#~ msgid "Reverse sorting." -#~ msgstr "Đang yêu cầu..." - -#~ msgid "Delete Node(s)?" -#~ msgstr "Xóa Node(s)?" - -#~ msgid "No Matches" -#~ msgstr "Không khớp" - -#~ msgid "Error loading image:" -#~ msgstr "Lỗi tải nạp hình ảnh:" - -#~ msgid "Exit" -#~ msgstr "Thoát" - -#~ msgid "Error initializing FreeType." -#~ msgstr "Lỗi khởi tạo FreeType." - -#~ msgid "Unknown font format." -#~ msgstr "Định dạng font không hợp lệ." - -#~ msgid "Error loading font." -#~ msgstr "Lỗi tải font." - -#~ msgid "Invalid font size." -#~ msgstr "Kích thước font không hợp lệ." - -#~ msgid "Previous Folder" -#~ msgstr "Thư mục trước" - -#~ msgid "Next Folder" -#~ msgstr "Thư mục sau" - -#~ msgid "Reverse" -#~ msgstr "Ngược lại" - -#~ msgid "Enabled Classes" -#~ msgstr "Các lớp đã bật" - -#, fuzzy -#~ msgid "Path to Node:" -#~ msgstr "Đường đến Node:" - -#, fuzzy -#~ msgid "Go to parent folder" -#~ msgstr "Đến folder parent" - -#~ msgid "Open Scene(s)" -#~ msgstr "Mở Scene" - -#~ msgid "Previous Directory" -#~ msgstr "Thư mục trước" - -#~ msgid "Next Directory" -#~ msgstr "Thư mục tiếp theo" - -#~ msgid "Custom Node" -#~ msgstr "Node tùy chọn" - -#~ msgid "Line:" -#~ msgstr "Dòng:" - -#, fuzzy -#~ msgid "Col:" -#~ msgstr "Col:" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "Bỏ lựa chọn" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "Thu nhỏ" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "Phóng to" - -#~ msgid "Save Theme As" -#~ msgstr "Lưu Theme thành" - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "Phóng to" - -#~ msgid "Are you sure you want to remove all connections from the \"" -#~ msgstr "Bạn có chắc muốn xóa bỏ tất cả kết nối từ \"" - -#~ msgid "Class List:" -#~ msgstr "Danh sách Class:" - -#, fuzzy -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "(Bỏ) Chọn thư mục Hay sử dụng" - -#, fuzzy -#~ msgid "Whole words" -#~ msgstr "Cả từ" - -#, fuzzy -#~ msgid "Match case" -#~ msgstr "Trùng khớp" - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "Đổi tên file:" - -#~ msgid "Rotate 0 degrees" -#~ msgstr "Xoay 0 độ" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "Xoay 90 độ" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "Xoay 180 độ" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "Xoay 270 độ" - -#~ msgid "Move Anim Track Up" -#~ msgstr "Di chuyển Anim Track lên trên" - -#~ msgid "Move Anim Track Down" -#~ msgstr "Di chuyển Anim Track xuống dưới" - -#~ msgid "Set Transitions to:" -#~ msgstr "Đặt Transtions thành:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "Đổi phép nội suy Anim Track" - -#~ msgid "Anim Add Key" -#~ msgstr "Thêm Key Anim" - -#~ msgid "In" -#~ msgstr "Trong" - -#~ msgid "Out" -#~ msgstr "Ngoài" - -#~ msgid "In-Out" -#~ msgstr "Trong-Ngoài" - -#~ msgid "Out-In" -#~ msgstr "Ngoài-Trong" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "Tạo Key để nhập giá trị Anim" - -#~ msgid "Anim Add Call Track" -#~ msgstr "Thêm Track Gọi Function" - -#~ msgid "Length (s):" -#~ msgstr "Độ dài (giây):" - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "Mở/Tắt lặp animation." - -#~ msgid "Add new tracks." -#~ msgstr "Thêm track mới." - -#~ msgid "Move current track up." -#~ msgstr "Di chuyển track lên." - -#~ msgid "Move current track down." -#~ msgstr "Di chuyển track xuống." - -#~ msgid "Track tools" -#~ msgstr "Công cụ Track" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Cho phép chỉnh sửa từng key riêng bằng cách chọn chúng." - -#, fuzzy -#~ msgid "Key" -#~ msgstr "Mã" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Gọi Function từ Node nào?" - -#~ msgid "Thanks!" -#~ msgstr "Cảm ơn!" - -#~ msgid "Create new animation in player." -#~ msgstr "Tạo animation mới trong player." - -#~ msgid "Load animation from disk." -#~ msgstr "Load animation từ disk." - -#~ msgid "Load an animation from disk." -#~ msgstr "Load một animation từ disk." diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po index 51e1b6212b..ac33ae1073 100644 --- a/editor/translations/zh_CN.po +++ b/editor/translations/zh_CN.po @@ -1,6 +1,6 @@ # Chinese (Simplified) translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # 360119124 <360119124@qq.com>, 2018. # 柠檬杀手 <lemonkiller@gmail.com>, 2018, 2020. @@ -82,13 +82,14 @@ # Sam Sun <oppositenormal@outlook.com>, 2021. # 苏轼 <youwanyuyu@gmail.com>, 2021. # nitenook <admin@alterbaum.net>, 2021. +# jker <cxgmfy@163.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Chinese (Simplified) (Godot Engine)\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: 2018-01-20 12:15+0200\n" -"PO-Revision-Date: 2021-11-11 16:02+0000\n" -"Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n" +"PO-Revision-Date: 2021-12-20 18:53+0000\n" +"Last-Translator: jker <cxgmfy@163.com>\n" "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hans/>\n" "Language: zh_CN\n" @@ -96,7 +97,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.9.1-dev\n" +"X-Generator: Weblate 4.10\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -247,7 +248,7 @@ msgstr "修改多个动画过渡方式" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Transform" -msgstr "动画多次修改变换量" +msgstr "修改多个动画变换" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Keyframe Value" @@ -255,7 +256,7 @@ msgstr "修改多个动画关键帧的值" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Call" -msgstr "修改多个回调" +msgstr "修改多个动画回调" #: editor/animation_track_editor.cpp msgid "Change Animation Length" @@ -403,15 +404,15 @@ msgstr "删除关键帧" #: editor/animation_track_editor.cpp msgid "Change Animation Update Mode" -msgstr "更改动画更新模式" +msgstr "修改动画更新模式" #: editor/animation_track_editor.cpp msgid "Change Animation Interpolation Mode" -msgstr "更改动画插值模式" +msgstr "修改动画插值模式" #: editor/animation_track_editor.cpp msgid "Change Animation Loop Mode" -msgstr "更改动画循环模式" +msgstr "修改动画循环模式" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" @@ -454,7 +455,7 @@ msgstr "动画" #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." -msgstr "AnimationPlayer 不能动画化自己,只可动画化其它 Player。" +msgstr "AnimationPlayer 不能动画化自己,只可动画化其他 Player。" #. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. #: editor/animation_track_editor.cpp @@ -475,7 +476,7 @@ msgstr "插入动画关键帧" #: editor/animation_track_editor.cpp msgid "Change Animation Step" -msgstr "更改动画步长" +msgstr "修改动画步长" #: editor/animation_track_editor.cpp msgid "Rearrange Tracks" @@ -539,7 +540,7 @@ msgstr "添加方法轨道帧" #: editor/animation_track_editor.cpp msgid "Method not found in object: " -msgstr "方法未找到: " +msgstr "对象方法未找到: " #: editor/animation_track_editor.cpp msgid "Anim Move Keys" @@ -592,7 +593,7 @@ msgstr "选择一个 AnimationPlayer 节点以创建和编辑动画。" #: editor/animation_track_editor.cpp msgid "Only show tracks from nodes selected in tree." -msgstr "仅显示在树中选择的节点的轨道。" +msgstr "仅显示在树中选中节点的轨道。" #: editor/animation_track_editor.cpp msgid "Group tracks by node or display them as plain list." @@ -657,11 +658,11 @@ msgstr "删除选中项" #: editor/animation_track_editor.cpp msgid "Go to Next Step" -msgstr "前往下一步" +msgstr "跳到下一步" #: editor/animation_track_editor.cpp msgid "Go to Previous Step" -msgstr "返回上一步" +msgstr "跳到上一步" #: editor/animation_track_editor.cpp msgid "Apply Reset" @@ -677,7 +678,7 @@ msgstr "清空动画" #: editor/animation_track_editor.cpp msgid "Pick the node that will be animated:" -msgstr "选取动画中的节点:" +msgstr "选择要设置动画的节点:" #: editor/animation_track_editor.cpp msgid "Use Bezier Curves" @@ -754,15 +755,15 @@ msgstr "添加音频轨道剪辑" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip Start Offset" -msgstr "更改音频轨道剪辑起始偏移" +msgstr "修改音频轨道剪辑起始偏移" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip End Offset" -msgstr "更改音频轨道剪辑结束偏移" +msgstr "修改音频轨道剪辑结束偏移" #: editor/array_property_edit.cpp msgid "Resize Array" -msgstr "修改数组大小" +msgstr "调整数组大小" #: editor/array_property_edit.cpp msgid "Change Array Value Type" @@ -915,7 +916,7 @@ msgstr "延迟" #: editor/connections_dialog.cpp msgid "" "Defers the signal, storing it in a queue and only firing it at idle time." -msgstr "延迟信号触发,将其添加到信号队列,在引擎空闲时触发。" +msgstr "延迟信号触发,将其保存到队列中,在空闲时触发。" #: editor/connections_dialog.cpp msgid "Oneshot" @@ -1011,7 +1012,7 @@ msgstr "跳转到方法" #: editor/create_dialog.cpp msgid "Change %s Type" -msgstr "更改 %s 类型" +msgstr "修改 %s 类型" #: editor/create_dialog.cpp editor/project_settings_editor.cpp msgid "Change" @@ -1143,7 +1144,7 @@ msgid "" "Depending on your filesystem configuration, the files will either be moved " "to the system trash or deleted permanently." msgstr "" -"其它资源需要这些即将被删除的文件才能正常工作。\n" +"其他资源需要这些即将被删除的文件才能正常工作。\n" "仍然要删除吗?(无法撤销。)\n" "根据你的文件系统设置,文件会被移动至系统回收站或永久删除。" @@ -1177,7 +1178,7 @@ msgstr "加载出错!" #: editor/dependency_editor.cpp msgid "Permanently delete %d item(s)? (No undo!)" -msgstr "要永久删除选中的 %d 条项目吗?(此操作无法撤销!)" +msgstr "要永久删除选中的 %d 条项目吗?(无法撤销!)" #: editor/dependency_editor.cpp msgid "Show Dependencies" @@ -1209,7 +1210,7 @@ msgstr "修改字典键" #: editor/dictionary_property_edit.cpp msgid "Change Dictionary Value" -msgstr "改变字典值" +msgstr "修改字典值" #: editor/editor_about.cpp msgid "Thanks from the Godot community!" @@ -1338,7 +1339,7 @@ msgstr "以下文件无法从素材“%s”中提取:" #: editor/editor_asset_installer.cpp msgid "(and %s more files)" -msgstr "(以及其它 %s 个文件)" +msgstr "(以及其他 %s 个文件)" #: editor/editor_asset_installer.cpp msgid "Asset \"%s\" installed successfully!" @@ -1424,7 +1425,7 @@ msgstr "总线选项" #: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" -msgstr "制作副本" +msgstr "创建副本" #: editor/editor_audio_buses.cpp msgid "Reset Volume" @@ -1554,7 +1555,7 @@ msgstr "关键字不可用作 Autoload 名称。" #: editor/editor_autoload_settings.cpp msgid "Autoload '%s' already exists!" -msgstr "Autoload '%s' 已存在!" +msgstr "Autoload“%s”已存在!" #: editor/editor_autoload_settings.cpp msgid "Rename Autoload" @@ -1562,7 +1563,7 @@ msgstr "重命名 Autoload" #: editor/editor_autoload_settings.cpp msgid "Toggle AutoLoad Globals" -msgstr "开启/关闭全局 AutoLoad" +msgstr "开关 AutoLoad 全局变量" #: editor/editor_autoload_settings.cpp msgid "Move Autoload" @@ -1578,7 +1579,7 @@ msgstr "启用" #: editor/editor_autoload_settings.cpp msgid "Rearrange Autoloads" -msgstr "重排序 Autoload" +msgstr "重排 Autoload" #: editor/editor_autoload_settings.cpp msgid "Can't add autoload:" @@ -1677,7 +1678,7 @@ msgstr "保存文件:" #: editor/editor_export.cpp msgid "No export template found at the expected path:" -msgstr "目标路径找不到导出模版:" +msgstr "目标路径找不到导出模板:" #: editor/editor_export.cpp msgid "Packing" @@ -1891,7 +1892,7 @@ msgstr "创建配置文件" #: editor/editor_feature_profile.cpp msgid "Remove Profile" -msgstr "删除配置文件" +msgstr "移除配置文件" #: editor/editor_feature_profile.cpp msgid "Available Profiles:" @@ -2030,7 +2031,7 @@ msgstr "切换显示隐藏文件" #: editor/editor_file_dialog.cpp msgid "Toggle Favorite" -msgstr "开关收藏" +msgstr "切换收藏" #: editor/editor_file_dialog.cpp msgid "Toggle Mode" @@ -2152,14 +2153,30 @@ msgstr "方法" msgid "Theme Properties" msgstr "主题属性" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "枚举" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "颜色" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "常量" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "字体" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "图标" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "样式" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "枚举" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "属性说明" @@ -2836,15 +2853,15 @@ msgstr "切换场景选项卡" #: editor/editor_node.cpp msgid "%d more files or folders" -msgstr "其它 %d 个文件和文件夹" +msgstr "其他 %d 个文件和文件夹" #: editor/editor_node.cpp msgid "%d more folders" -msgstr "其它 %d 个文件夹" +msgstr "其他 %d 个文件夹" #: editor/editor_node.cpp msgid "%d more files" -msgstr "其它 %d 个文件" +msgstr "其他 %d 个文件" #: editor/editor_node.cpp msgid "Dock Position" @@ -3265,8 +3282,8 @@ msgstr "" "目。\n" "然后,可以应用修改并在导出时构建自己的自定义 APK(添加模块、更改 " "AndroidManifest.xml 等)。\n" -"请注意,要使用自定义构建而不是使用预先构建的APK,需在 Android 导出预设中启用 " -"“使用自定义构建” 选项。" +"请注意,要使用自定义构建而不是使用预先构建的 APK,需在 Android 导出预设中启" +"用 “Use Custom Build” 选项。" #: editor/editor_node.cpp msgid "" @@ -3447,10 +3464,10 @@ msgid "" "functions called by that function.\n" "Use this to find individual functions to optimize." msgstr "" -"全部:包括该函数调用的其它函数的时间。\n" +"全部:包括该函数调用的其他函数的时间。\n" "使用该选项寻找瓶颈。\n" "\n" -"仅自己:只计算消耗在该函数本身的时间,不包含该函数所调用的其它函数。\n" +"仅自己:只计算消耗在该函数本身的时间,不包含该函数所调用的其他函数。\n" "使用该选项寻找需要优化的函数。" #: editor/editor_profiler.cpp @@ -3804,7 +3821,7 @@ msgstr "解压 Android Build 资源" #: editor/export_template_manager.cpp msgid "Export Template Manager" -msgstr "模板导出工具" +msgstr "导出模板管理器" #: editor/export_template_manager.cpp msgid "Current Version:" @@ -3879,7 +3896,7 @@ msgstr "取消下载模板。" #: editor/export_template_manager.cpp msgid "Other Installed Versions:" -msgstr "其它已安装版本:" +msgstr "其他已安装版本:" #: editor/export_template_manager.cpp msgid "Uninstall Template" @@ -3920,7 +3937,7 @@ msgstr "无法移动或重命名根资源。" #: editor/filesystem_dock.cpp msgid "Cannot move a folder into itself." -msgstr "无法将文件夹移动到文件夹自己内。" +msgstr "无法将文件夹移动到其自身。" #: editor/filesystem_dock.cpp msgid "Error moving:" @@ -3936,15 +3953,15 @@ msgstr "无法更新依赖:" #: editor/filesystem_dock.cpp editor/scene_tree_editor.cpp msgid "No name provided." -msgstr "没有提供任何名称。" +msgstr "没有提供名称。" #: editor/filesystem_dock.cpp msgid "Provided name contains invalid characters." -msgstr "存在无效字符。" +msgstr "名称中存在无效字符。" #: editor/filesystem_dock.cpp msgid "A file or folder with this name already exists." -msgstr "同名的文件夹已经存在。" +msgstr "已经存在同名的文件或文件夹。" #: editor/filesystem_dock.cpp msgid "Name contains invalid characters." @@ -3963,7 +3980,7 @@ msgstr "" "\n" "%s\n" "\n" -"要复写这些文件或文件夹吗?" +"要覆盖吗?" #: editor/filesystem_dock.cpp msgid "Renaming file:" @@ -4075,7 +4092,7 @@ msgstr "复制为..." #: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Rename..." -msgstr "重命名为..." +msgstr "重命名..." #: editor/filesystem_dock.cpp msgid "Focus the search box" @@ -4364,8 +4381,9 @@ msgid "" "Selecting another resource in the FileSystem dock without clicking Reimport " "first will discard changes made in the Import dock." msgstr "" -"有些修改未被应用。点击“重新导入”来应用导入的修改。\n" -"若在选择另一个资源前没有点击“重新导入”,则会忽略导入的修改。" +"存在尚未应用的修改。点击“重新导入”来应用对导入选项的修改。\n" +"若在文件系统面板中选择另一个资源前没有点击“重新导入”,则会忽略在导入面板中所" +"做出的修改。" #: editor/import_dock.cpp msgid "Import As:" @@ -4468,11 +4486,11 @@ msgstr "管理对象属性。" #: editor/inspector_dock.cpp msgid "Changes may be lost!" -msgstr "更改可能会丢失!" +msgstr "更改可能会丢失!" #: editor/multi_node_edit.cpp msgid "MultiNode Set" -msgstr "多节点组" +msgstr "设置多个节点" #: editor/node_dock.cpp msgid "Select a single node to edit its signals and groups." @@ -4575,15 +4593,15 @@ msgstr "加载..." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Move Node Point" -msgstr "移动节点" +msgstr "移动节点顶点" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Change BlendSpace1D Limits" -msgstr "更改 BlendSpace1D 限制" +msgstr "修改 BlendSpace1D 限制" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Change BlendSpace1D Labels" -msgstr "更改 BlendSpace1D 标签" +msgstr "修改 BlendSpace1D 标签" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -4659,15 +4677,15 @@ msgstr "三角形已经存在。" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Add Triangle" -msgstr "添加三角面" +msgstr "添加三角形" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Change BlendSpace2D Limits" -msgstr "更改 BlendSpace2D 限制" +msgstr "修改 BlendSpace2D 限制" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Change BlendSpace2D Labels" -msgstr "更改 BlendSpace2D 标签" +msgstr "修改 BlendSpace2D 标签" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Remove BlendSpace2D Point" @@ -4761,7 +4779,7 @@ msgstr "开关过滤器" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Change Filter" -msgstr "更改过滤器" +msgstr "修改过滤器" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "No animation player set, so unable to retrieve track names." @@ -4823,7 +4841,7 @@ msgstr "新建动画" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Animation Name:" -msgstr "重命名动画:" +msgstr "修改动画名称:" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -4854,7 +4872,7 @@ msgstr "混合下一步变更" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Blend Time" -msgstr "更改混合时间" +msgstr "修改混合时间" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load Animation" @@ -4987,7 +5005,7 @@ msgstr "强制用白色调和" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "包括 Gizmo (3D)" +msgstr "包括控制器(3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Pin AnimationPlayer" @@ -5101,7 +5119,7 @@ msgstr "移除选中的节点或过渡动画。" #: editor/plugins/animation_state_machine_editor.cpp msgid "Toggle autoplay this animation on start, restart or seek to zero." -msgstr "开启或关闭动画在开始,重启或者搜索0位置处的自动播放。" +msgstr "切换动画在开始、重启或者搜索至开头时的自动播放。" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set the end animation. This is useful for sub-transitions." @@ -5176,7 +5194,7 @@ msgstr "混合 1:" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "X-Fade Time (s):" -msgstr "交叉淡化 (X-Fade) 时间(秒):" +msgstr "淡入淡出时间(秒):" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Current:" @@ -5190,11 +5208,11 @@ msgstr "添加输入" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Clear Auto-Advance" -msgstr "清除自动 Advance" +msgstr "清除自动推进" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Set Auto-Advance" -msgstr "设置自动 Advance" +msgstr "设置自动推进" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Delete Input" @@ -5214,7 +5232,7 @@ msgstr "动画节点" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "OneShot Node" -msgstr "单项节点" +msgstr "OneShot 节点" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Mix Node" @@ -5366,7 +5384,7 @@ msgstr "请求错误" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Idle" -msgstr "闲置" +msgstr "空闲" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Install..." @@ -5509,7 +5527,7 @@ msgstr "无法确定光照贴图大小。最大光照贴图大小太小?" msgid "" "Some mesh is invalid. Make sure the UV2 channel values are contained within " "the [0.0,1.0] square region." -msgstr "某些网格无效。确保UV2通道值包含在[0.0,1.0]平方区域内。" +msgstr "某些网格无效。确保 UV2 通道值包含在 [0.0,1.0] 矩形区域内。" #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "" @@ -5571,7 +5589,7 @@ msgstr "创建垂直参考线" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Remove Vertical Guide" -msgstr "删除垂直参考线" +msgstr "移除垂直参考线" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Horizontal Guide" @@ -5729,11 +5747,11 @@ msgstr "仅锚点" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Anchors and Margins" -msgstr "更改锚点和边距" +msgstr "修改锚点和边距" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Anchors" -msgstr "编辑锚点" +msgstr "修改锚点" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5792,7 +5810,7 @@ msgstr "清除骨骼" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make IK Chain" -msgstr "添加 IK 链" +msgstr "制作 IK 链" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear IK Chain" @@ -5860,7 +5878,7 @@ msgid "" "(same as Alt+RMB in select mode)." msgstr "" "显示鼠标点击位置的所有节点\n" -"(同 Alt + 鼠标右键)。" +"(同选择模式下 Alt+右键)。" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Click to change object's rotation pivot." @@ -5876,11 +5894,11 @@ 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" -msgstr "使用吸附" +msgstr "使用智能吸附" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggle grid snapping." @@ -5929,15 +5947,15 @@ msgstr "吸附到节点锚点" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to Node Sides" -msgstr "吸附到节点侧" +msgstr "吸附到节点边沿" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to Node Center" -msgstr "吸附到节点中心位置" +msgstr "吸附到节点中心" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to Other Nodes" -msgstr "吸附到其它节点" +msgstr "吸附到其他节点" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to Guides" @@ -6022,7 +6040,7 @@ msgstr "完整显示所选项" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Preview Canvas Scale" -msgstr "预览画布比例" +msgstr "预览画布缩放" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." @@ -6155,7 +6173,7 @@ msgstr "从 %s 实例化场景出错" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Default Type" -msgstr "更改默认类型" +msgstr "修改默认类型" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" @@ -6241,7 +6259,7 @@ msgstr "发射色彩" #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" -msgstr "CPU粒子" +msgstr "CPUParticles" #: editor/plugins/cpu_particles_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp @@ -6327,7 +6345,7 @@ msgstr "烘焙 GI 探针" #: editor/plugins/gradient_editor_plugin.cpp msgid "Gradient Edited" -msgstr "渐变编辑" +msgstr "编辑渐变" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" @@ -6343,7 +6361,7 @@ msgstr "项目列表编辑器" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create Occluder Polygon" -msgstr "添加遮光多边形" +msgstr "创建遮光多边形" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh is empty!" @@ -6848,11 +6866,11 @@ msgstr "镜像手柄长度" #: editor/plugins/path_editor_plugin.cpp msgid "Curve Point #" -msgstr "曲线定点 #" +msgstr "曲线顶点 #" #: editor/plugins/path_editor_plugin.cpp msgid "Set Curve Point Position" -msgstr "设置曲线的顶点坐标" +msgstr "设置曲线的顶点位置" #: editor/plugins/path_editor_plugin.cpp msgid "Set Curve In Position" @@ -6935,15 +6953,15 @@ msgstr "添加自定义多边形" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Remove Custom Polygon" -msgstr "删除自定义多边形" +msgstr "移除自定义多边形" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Transform UV Map" -msgstr "变换UV贴图" +msgstr "变换 UV 贴图" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Transform Polygon" -msgstr "多边形变换" +msgstr "变换多边形" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Paint Bone Weights" @@ -7143,11 +7161,11 @@ msgstr "翻转入口" #: editor/plugins/room_manager_editor_plugin.cpp msgid "Room Generate Points" -msgstr "房间生成点" +msgstr "房间生成顶点" #: editor/plugins/room_manager_editor_plugin.cpp msgid "Generate Points" -msgstr "生成点" +msgstr "生成顶点" #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portal" @@ -7603,7 +7621,7 @@ msgstr "转到上一个书签" #: editor/plugins/script_text_editor.cpp msgid "Remove All Bookmarks" -msgstr "删除所有书签" +msgstr "移除所有书签" #: editor/plugins/script_text_editor.cpp msgid "Go to Function..." @@ -7973,11 +7991,11 @@ msgstr "自由观看向下" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Speed Modifier" -msgstr "自由视图速度调整" +msgstr "自由观看加速调整" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Slow Modifier" -msgstr "缓慢自由视图速度" +msgstr "自由观看减速调整" #: editor/plugins/spatial_editor_plugin.cpp msgid "Toggle Camera Preview" @@ -8006,7 +8024,7 @@ msgstr "转换房间" #: editor/plugins/spatial_editor_plugin.cpp msgid "XForm Dialog" -msgstr "XForm 对话框" +msgstr "变换对话框" #: editor/plugins/spatial_editor_plugin.cpp msgid "" @@ -8018,9 +8036,9 @@ msgid "" msgstr "" "点击以切换可见状态。\n" "\n" -"睁眼:Gizmo 可见。\n" -"闭眼:Gizmo 隐藏。\n" -"半睁眼:Gizmo 也可穿过不透明的表面可见(“X 光”)。" +"睁眼:控制器可见。\n" +"闭眼:控制器隐藏。\n" +"半睁眼:控制器也可穿过不透明的表面可见(“X 光”)。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes to Floor" @@ -8145,7 +8163,7 @@ msgstr "4 个视窗" #: editor/plugins/spatial_editor_plugin.cpp msgid "Gizmos" -msgstr "Gizmo" +msgstr "控制器" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Origin" @@ -8481,18 +8499,6 @@ msgid "TextureRegion" msgstr "纹理区域" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "颜色" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "字体" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "图标" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "样式盒" @@ -8685,7 +8691,7 @@ msgid "" "You can add a custom type or import a type with its items from another theme." msgstr "" "从列表中选择一个主题类型以编辑其项目。\n" -"你可以添加一个自定义类型,或者从其它主题中导入一个类型及其项目。" +"你可以添加一个自定义类型,或者从其他主题中导入一个类型及其项目。" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Color Items" @@ -8717,7 +8723,7 @@ msgid "" "Add more items to it manually or by importing from another theme." msgstr "" "该主题类型为空。\n" -"请手动添加或者从其它主题导入更多项目。" +"请手动添加或者从其他主题导入更多项目。" #: editor/plugins/theme_editor_plugin.cpp msgid "Add Color Item" @@ -8829,11 +8835,11 @@ msgstr "编辑器主题" #: editor/plugins/theme_editor_plugin.cpp msgid "Select Another Theme Resource:" -msgstr "选择其它主题资源:" +msgstr "选择其他主题资源:" #: editor/plugins/theme_editor_plugin.cpp msgid "Another Theme" -msgstr "其它主题" +msgstr "其他主题" #: editor/plugins/theme_editor_plugin.cpp msgid "Confirm Item Rename" @@ -8856,7 +8862,7 @@ msgid "" "Pin this StyleBox as a main style. Editing its properties will update the " "same properties in all other StyleBoxes of this type." msgstr "" -"将此样式盒置顶为主样式。编辑其属性会更新该类型下其它所有样式盒的相同属性。" +"将此样式盒置顶为主样式。编辑其属性会更新该类型下其他所有样式盒的相同属性。" #: editor/plugins/theme_editor_plugin.cpp msgid "Add Type" @@ -9082,16 +9088,16 @@ msgid "" "Shift+LMB: Line Draw\n" "Shift+Command+LMB: Rectangle Paint" msgstr "" -"Shift + 鼠标左键:绘制直线\n" -"Shift + Command + 鼠标左键:绘制矩形" +"Shift+左键:绘制直线\n" +"Shift+Command+左键:绘制矩形" #: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" msgstr "" -"Shift + 鼠标左键:绘制直线\n" -"Shift + Ctrl + 鼠标左键:绘制矩形" +"Shift+左键:绘制直线\n" +"Shift+Ctrl+左键:绘制矩形" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Pick Tile" @@ -9123,7 +9129,7 @@ msgstr "添加纹理到图块集。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove selected Texture from TileSet." -msgstr "从图块集中删除所选纹理。" +msgstr "从图块集中移除所选纹理。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" @@ -9239,7 +9245,7 @@ msgstr "擦除位掩码。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new rectangle." -msgstr "创建新矩形。" +msgstr "新建矩形。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "New Rectangle" @@ -9247,7 +9253,7 @@ msgstr "新建矩形" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." -msgstr "创建新多边形。" +msgstr "新建多边形。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "New Polygon" @@ -9276,7 +9282,7 @@ msgstr "在左侧面板上添加或选择纹理以编辑与其绑定的图块。 #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove selected texture? This will remove all tiles which use it." -msgstr "删除选定的纹理?所有使用它的图块也将被一并删除。" +msgstr "移除选定的纹理?所有使用它的图块也将被一并移除。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "You haven't selected a texture to remove." @@ -9292,11 +9298,11 @@ msgstr "确定要合并场景?" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Texture" -msgstr "删除纹理" +msgstr "移除纹理" #: editor/plugins/tile_set_editor_plugin.cpp msgid "%s file(s) were not added because was already on the list." -msgstr "因为有 %s 个文件已添加在列表中,所以没有被添加。" +msgstr "有 %s 个文件因为已在列表中,所以没有被添加。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "" @@ -9409,15 +9415,15 @@ msgstr "移除图块" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Collision Polygon" -msgstr "删除碰撞多边形" +msgstr "移除碰撞多边形" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Occlusion Polygon" -msgstr "删除遮挡多边形" +msgstr "移除遮挡多边形" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Navigation Polygon" -msgstr "删除导航多边形" +msgstr "移除导航多边形" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Edit Tile Priority" @@ -9429,11 +9435,11 @@ msgstr "编辑图块 Z 坐标" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Make Convex" -msgstr "转为凸多边形" +msgstr "制作凸多边形" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Make Concave" -msgstr "转为凹多边形" +msgstr "制作凹多边形" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create Collision Polygon" @@ -9565,19 +9571,19 @@ msgstr "增加输出端口" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Change input port type" -msgstr "更改输入端口类型" +msgstr "修改输入端口类型" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Change output port type" -msgstr "更改输出端口类型" +msgstr "修改输出端口类型" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Change input port name" -msgstr "更改输入端口名称" +msgstr "修改输入端口名称" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Change output port name" -msgstr "更改输出端口名称" +msgstr "修改输出端口名称" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Remove input port" @@ -10346,13 +10352,13 @@ msgstr "(仅限片段/光照模式)(标量)使用本地差分的“ x” msgid "" "(Fragment/Light mode only) (Vector) Derivative in 'y' using local " "differencing." -msgstr "(仅适用于片段/光照模式)(向量)使用局部差分的'y'导数。" +msgstr "(仅适用于片段/光照模式)(向量)使用局部差分的“y”导数。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "(Fragment/Light mode only) (Scalar) Derivative in 'y' using local " "differencing." -msgstr "(仅限片段/光照模式)(标量)使用局部差分的'y'导数。" +msgstr "(仅限片段/光照模式)(标量)使用局部差分的“y”导数。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -10957,7 +10963,7 @@ msgstr "鼠标按键" msgid "" "Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " "'\"'" -msgstr "无效的动作名称。动作名不能为空,也不能包含 “/”, “:”, “=”, “\\” 或 “\"”" +msgstr "无效的动作名称。动作名不能为空,也不能包含“/”、“:”、“=”、“\\”或“\"”" #: editor/project_settings_editor.cpp msgid "An action with the name '%s' already exists." @@ -10969,7 +10975,7 @@ msgstr "重命名输入事件" #: editor/project_settings_editor.cpp msgid "Change Action deadzone" -msgstr "改变动作盲区" +msgstr "修改动作盲区" #: editor/project_settings_editor.cpp msgid "Add Input Action Event" @@ -11045,11 +11051,11 @@ msgstr "手柄按钮索引:" #: editor/project_settings_editor.cpp msgid "Erase Input Action" -msgstr "移除输入动作" +msgstr "擦除输入动作" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" -msgstr "移除输入动作事件" +msgstr "擦除输入动作事件" #: editor/project_settings_editor.cpp msgid "Add Event" @@ -11103,8 +11109,7 @@ msgstr "删除条目" msgid "" "Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " "'\"'." -msgstr "" -"无效的动作名称。动作不能为空,也不能包含 “/”, “:”, “=”, “\\” 或者 “\"”。" +msgstr "无效的动作名称。动作不能为空,也不能包含“/”、“:”、“=”、“\\”或“\"”。" #: editor/project_settings_editor.cpp msgid "Add Input Action" @@ -11680,7 +11685,7 @@ msgstr "移除节点" #: editor/scene_tree_dock.cpp msgid "Change type of node(s)" -msgstr "更改节点的类型" +msgstr "修改节点的类型" #: editor/scene_tree_dock.cpp msgid "" @@ -11731,7 +11736,7 @@ msgstr "展开/折叠全部" #: editor/scene_tree_dock.cpp msgid "Change Type" -msgstr "更改类型" +msgstr "修改类型" #: editor/scene_tree_dock.cpp msgid "Reparent to New Node" @@ -11822,7 +11827,7 @@ msgid "" "Click to show signals dock." msgstr "" "节点具有 %s 个连接和 %s 个分组。\n" -"单击以显示信号面板。" +"点击显示信号面板。" #: editor/scene_tree_editor.cpp msgid "" @@ -11830,7 +11835,7 @@ msgid "" "Click to show signals dock." msgstr "" "节点具有 %s 个连接。\n" -"单击以显示信号面板。" +"点击显示信号面板。" #: editor/scene_tree_editor.cpp msgid "" @@ -11838,7 +11843,7 @@ msgid "" "Click to show groups dock." msgstr "" "节点位于 %s 个分组中。\n" -"单击以显示分组面板。" +"点击显示分组面板。" #: editor/scene_tree_editor.cpp msgid "Open Script:" @@ -12026,7 +12031,7 @@ msgstr "远程 " #: editor/script_editor_debugger.cpp msgid "Bytes:" -msgstr "字节:" +msgstr "字节:" #: editor/script_editor_debugger.cpp msgid "Warning:" @@ -12050,7 +12055,7 @@ msgstr "C++ 源文件" #: editor/script_editor_debugger.cpp msgid "Source:" -msgstr "源文件:" +msgstr "源文件:" #: editor/script_editor_debugger.cpp msgid "C++ Source:" @@ -12174,7 +12179,7 @@ msgstr "导出为 CSV 格式" #: editor/settings_config_dialog.cpp msgid "Erase Shortcut" -msgstr "清除快捷键" +msgstr "擦除快捷键" #: editor/settings_config_dialog.cpp msgid "Restore Shortcut" @@ -12182,7 +12187,7 @@ msgstr "恢复快捷键" #: editor/settings_config_dialog.cpp msgid "Change Shortcut" -msgstr "更改快捷键" +msgstr "修改快捷键" #: editor/settings_config_dialog.cpp msgid "Editor Settings" @@ -12198,15 +12203,15 @@ msgstr "绑定" #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" -msgstr "设置光照半径" +msgstr "修改光照半径" #: editor/spatial_editor_gizmos.cpp msgid "Change AudioStreamPlayer3D Emission Angle" -msgstr "改变 AudioStreamPlayer3D 发射角" +msgstr "修改 AudioStreamPlayer3D 发射角" #: editor/spatial_editor_gizmos.cpp msgid "Change Camera FOV" -msgstr "更改摄像机视角" +msgstr "修改摄像机视角" #: editor/spatial_editor_gizmos.cpp msgid "Change Camera Size" @@ -12226,11 +12231,11 @@ msgstr "修改探针范围" #: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp msgid "Change Sphere Shape Radius" -msgstr "更改球体半径" +msgstr "修改球体半径" #: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp msgid "Change Box Shape Extents" -msgstr "改变立方体大小" +msgstr "修改立方体大小" #: editor/spatial_editor_gizmos.cpp msgid "Change Capsule Shape Radius" @@ -12254,11 +12259,11 @@ msgstr "修改射线形状长度" #: editor/spatial_editor_gizmos.cpp msgid "Set Room Point Position" -msgstr "设置房间点位置" +msgstr "设置房间顶点位置" #: editor/spatial_editor_gizmos.cpp msgid "Set Portal Point Position" -msgstr "设置入口点位置" +msgstr "设置入口顶点位置" #: editor/spatial_editor_gizmos.cpp msgid "Set Occluder Sphere Radius" @@ -12270,7 +12275,7 @@ msgstr "设置遮挡球体位置" #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" -msgstr "改变圆柱体半径" +msgstr "修改圆柱体半径" #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Height" @@ -12278,11 +12283,11 @@ msgstr "修改圆柱体高度" #: modules/csg/csg_gizmos.cpp msgid "Change Torus Inner Radius" -msgstr "更改圆环内半径" +msgstr "修改圆环内半径" #: modules/csg/csg_gizmos.cpp msgid "Change Torus Outer Radius" -msgstr "更改圆环外半径" +msgstr "修改圆环外半径" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Select the dynamic library for this entry" @@ -12294,7 +12299,7 @@ msgstr "选择该链接库的依赖项" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Remove current entry" -msgstr "删除当前配置项" +msgstr "移除当前配置项" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Double click to create a new entry" @@ -12410,23 +12415,23 @@ msgstr "层:" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Delete Selection" -msgstr "网格地图删除所选项" +msgstr "GridMap 删除所选项" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Fill Selection" -msgstr "网格地图填充所选项" +msgstr "GridMap 填充所选项" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Paste Selection" -msgstr "网格地图粘贴所选项" +msgstr "GridMap 粘贴所选项" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Paint" -msgstr "网格地图绘制" +msgstr "GridMap 绘制" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Selection" -msgstr "网格地图选择" +msgstr "GridMap 选择" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" @@ -12606,7 +12611,7 @@ msgstr "转换为导航网格..." #: modules/recast/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" -msgstr "导航网格生成设置:" +msgstr "导航网格生成器设置:" #: modules/recast/navigation_mesh_generator.cpp msgid "Parsing Geometry..." @@ -12614,7 +12619,7 @@ msgstr "解析多边形中..." #: modules/recast/navigation_mesh_generator.cpp msgid "Done!" -msgstr "完成 !" +msgstr "完成!" #: modules/visual_script/visual_script.cpp msgid "" @@ -12650,7 +12655,7 @@ msgstr "堆栈深度溢出: " #: modules/visual_script/visual_script_editor.cpp msgid "Change Signal Arguments" -msgstr "编辑信号参数" +msgstr "修改信号参数" #: modules/visual_script/visual_script_editor.cpp msgid "Change Argument Type" @@ -12658,7 +12663,7 @@ msgstr "修改参数类型" #: modules/visual_script/visual_script_editor.cpp msgid "Change Argument name" -msgstr "更改参数名称" +msgstr "修改参数名称" #: modules/visual_script/visual_script_editor.cpp msgid "Set Variable Default Value" @@ -12678,11 +12683,11 @@ msgstr "增加输出端口" #: modules/visual_script/visual_script_editor.cpp msgid "Change Port Type" -msgstr "更改端口类型" +msgstr "修改端口类型" #: modules/visual_script/visual_script_editor.cpp msgid "Change Port Name" -msgstr "更改端口名称" +msgstr "修改端口名称" #: modules/visual_script/visual_script_editor.cpp msgid "Override an existing built-in function." @@ -12690,7 +12695,7 @@ msgstr "覆盖现有的内置函数。" #: modules/visual_script/visual_script_editor.cpp msgid "Create a new function." -msgstr "创建新函数。" +msgstr "新建函数。" #: modules/visual_script/visual_script_editor.cpp msgid "Variables:" @@ -12698,7 +12703,7 @@ msgstr "变量:" #: modules/visual_script/visual_script_editor.cpp msgid "Create a new variable." -msgstr "创建新变量。" +msgstr "新建变量。" #: modules/visual_script/visual_script_editor.cpp msgid "Signals:" @@ -12706,7 +12711,7 @@ msgstr "信号:" #: modules/visual_script/visual_script_editor.cpp msgid "Create a new signal." -msgstr "创建新信号。" +msgstr "新建信号。" #: modules/visual_script/visual_script_editor.cpp msgid "Name is not a valid identifier:" @@ -12754,11 +12759,11 @@ msgstr "移除输出端口" #: modules/visual_script/visual_script_editor.cpp msgid "Change Expression" -msgstr "更改表达式" +msgstr "修改表达式" #: modules/visual_script/visual_script_editor.cpp msgid "Remove VisualScript Nodes" -msgstr "删除 VisualScript 节点" +msgstr "移除 VisualScript 节点" #: modules/visual_script/visual_script_editor.cpp msgid "Duplicate VisualScript Nodes" @@ -12818,7 +12823,7 @@ msgstr "添加属性 Setter" #: modules/visual_script/visual_script_editor.cpp msgid "Change Base Type" -msgstr "更改基础类型" +msgstr "修改基础类型" #: modules/visual_script/visual_script_editor.cpp msgid "Move Node(s)" @@ -12826,7 +12831,7 @@ msgstr "移动节点" #: modules/visual_script/visual_script_editor.cpp msgid "Remove VisualScript Node" -msgstr "删除 VisualScript 节点" +msgstr "移除 VisualScript 节点" #: modules/visual_script/visual_script_editor.cpp msgid "Connect Nodes" @@ -12850,7 +12855,7 @@ msgstr "脚本已有函数 “%s”" #: modules/visual_script/visual_script_editor.cpp msgid "Change Input Value" -msgstr "更改输入值" +msgstr "修改输入值" #: modules/visual_script/visual_script_editor.cpp msgid "Resize Comment" @@ -12886,11 +12891,11 @@ msgstr "创建函数" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Function" -msgstr "删除函数" +msgstr "移除函数" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Variable" -msgstr "删除变量" +msgstr "移除变量" #: modules/visual_script/visual_script_editor.cpp msgid "Editing Variable:" @@ -12898,7 +12903,7 @@ msgstr "编辑变量:" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Signal" -msgstr "删除信号" +msgstr "移除信号" #: modules/visual_script/visual_script_editor.cpp msgid "Editing Signal:" @@ -12914,7 +12919,7 @@ msgstr "成员:" #: modules/visual_script/visual_script_editor.cpp msgid "Change Base Type:" -msgstr "更改基础类型:" +msgstr "修改基础类型:" #: modules/visual_script/visual_script_editor.cpp msgid "Add Nodes..." @@ -13159,12 +13164,33 @@ msgstr "必须启用 “使用自定义构建” 才能使用插件。" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." -msgstr "“Hand Tracking” 只有在当 “Xr Mode” 是 “Oculus Mobile VR” 时才有效。" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" +"“Hand Tracking”只有在当“Xr Mode”是“Oculus Mobile VrApi”或“OpenXR”时才有效。" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." +msgstr "“Passthrough”只有在当“Xr Mode”是“OpenXR”时才有效。" #: platform/android/export/export_plugin.cpp msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." -msgstr "“Export AAB” 只有在当启用 “Use Custom Build” 时才有效。" +msgstr "“Export AAB”只有在当启用“Use Custom Build”时才有效。" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "修改“Min Sdk”只有在当启用“Use Custom Build”时才有效。" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "修改“Target Sdk”只有在当启用“Use Custom Build”时才有效。" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "“Target Sdk”版本必须大于等于“Min Sdk”版本。" #: platform/android/export/export_plugin.cpp msgid "" @@ -13323,7 +13349,7 @@ msgstr "缺少标识符。" #: platform/iphone/export/export.cpp platform/osx/export/export.cpp msgid "The character '%s' is not allowed in Identifier." -msgstr "标识符中不允许使用字符 '%s' 。" +msgstr "标识符中不允许使用字符“%s”。" #: platform/iphone/export/export.cpp msgid "App Store Team ID not specified - cannot configure the project." @@ -13471,7 +13497,7 @@ msgid "" "Consider adding a CollisionShape2D or CollisionPolygon2D as a child to " "define its shape." msgstr "" -"该节点没有描述其形状的子节点,因此它无法与其它物体产生碰撞或者进行交互。\n" +"该节点没有描述其形状的子节点,因此它无法与其他物体产生碰撞或者进行交互。\n" "请添加一个 CollisionShape2D 或 CollisionPolygon2D 类型的子节点来定义它的形" "状。" @@ -13482,7 +13508,7 @@ msgid "" "StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." msgstr "" "CollisionPolygon2D 类型节点只能为 CollisionObject2D 的派生类提供碰撞形状数" -"据,请将其放在 Area2D, StaticBody2D, RigidBody2D 或 KinematicBody2D 节点下。" +"据,请将其放在 Area2D、StaticBody2D、RigidBody2D 或 KinematicBody2D 节点下。" #: scene/2d/collision_polygon_2d.cpp msgid "An empty CollisionPolygon2D has no effect on collision." @@ -13503,7 +13529,7 @@ msgid "" "StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." msgstr "" "CollisionShape2D 类型节点只能为 CollisionObject2D 的派生类提供碰撞形状数据," -"请将其放在 Area2D, StaticBody2D, RigidBody2D 或者是 KinematicBody2D 节点下。" +"请将其放在 Area2D、StaticBody2D、RigidBody2D 或 KinematicBody2D 节点下。" #: scene/2d/collision_shape_2d.cpp msgid "" @@ -13541,7 +13567,7 @@ msgstr "Node B 必须为 PhysicsBody2D" #: scene/2d/joints_2d.cpp msgid "Joint is not connected to two PhysicsBody2Ds" -msgstr "Joint 未连结到 2 个 PhysicsBody2D" +msgstr "Joint 未连接 2 个 PhysicsBody2D" #: scene/2d/joints_2d.cpp msgid "Node A and Node B must be different PhysicsBody2Ds" @@ -13560,7 +13586,7 @@ msgstr "此遮光体必须设置遮光形状才能起到遮光作用。" #: scene/2d/light_occluder_2d.cpp msgid "The occluder polygon for this occluder is empty. Please draw a polygon." -msgstr "此封堵器的封堵器多边形为空。请绘制一个多边形。" +msgstr "此遮光体的遮光多边形为空。请绘制一个多边形。" #: scene/2d/navigation_polygon.cpp msgid "" @@ -13590,13 +13616,13 @@ msgid "" "CPUParticles\" option for this purpose." msgstr "" "基于 GPU 的粒子不受 GLES2 视频驱动程序的支持。\n" -"改为使用 CPUParticles2D 节点。为此,可以使用 “Convert to CPUParticles” 选项。" +"改为使用 CPUParticles2D 节点。为此,可以使用 “转换为 CPUParticles” 选项。" #: scene/2d/particles_2d.cpp scene/3d/particles.cpp msgid "" "A material to process the particles is not assigned, so no behavior is " "imprinted." -msgstr "粒子材质没有指定,该行为无效。" +msgstr "未指定处理粒子的材质,因此不会产生任何行为。" #: scene/2d/particles_2d.cpp msgid "" @@ -13617,7 +13643,7 @@ msgid "" msgstr "" "对 RigidBody2D (在 Character 或 Rigid 模式下)的尺寸修改在运行时会被物理引擎" "的覆盖。\n" -"建议您修改子节点的碰撞形状。" +"建议您修改其子节点碰撞形状的尺寸。" #: scene/2d/remote_transform_2d.cpp msgid "Path property must point to a valid Node2D node to work." @@ -13644,7 +13670,7 @@ msgid "" "KinematicBody2D, etc. to give them a shape." msgstr "" "启用了“Use Parent” 的 TileMap 需要父级 CollisionObject2D 才能提供形状。请使用" -"它作为 Area2D, StaticBody2D, RigidBody2D, KinematicBody2D 等的子项来赋予它们" +"它作为 Area2D、StaticBody2D、RigidBody2D、KinematicBody2D 等的子项来赋予它们" "形状。" #: scene/2d/visibility_notifier_2d.cpp @@ -13711,7 +13737,7 @@ msgid "" "Consider adding a CollisionShape or CollisionPolygon as a child to define " "its shape." msgstr "" -"该节点没有描述其形状的子节点,因此它无法与其它物体产生碰撞或者进行交互。\n" +"该节点没有描述其形状的子节点,因此它无法与其他物体产生碰撞或者进行交互。\n" "请添加一个 CollisionShape 或 CollisionPolygon 类型的子节点来定义它的形状。" #: scene/3d/collision_polygon.cpp @@ -13721,7 +13747,7 @@ msgid "" "StaticBody, RigidBody, KinematicBody, etc. to give them a shape." msgstr "" "CollisionPolygon 类型节点只能为 CollisionObject 的派生类提供碰撞形状数据,请" -"将其放在 Area, StaticBody, RigidBody, KinematicBody 等节点下来为节点提供形" +"将其放在 Area、StaticBody、RigidBody、KinematicBody 等节点下来为节点提供形" "状。" #: scene/3d/collision_polygon.cpp @@ -13735,7 +13761,7 @@ msgid "" "KinematicBody, etc. to give them a shape." msgstr "" "CollisionShape 类型节点只能为 CollisionObject 的派生类提供碰撞形状数据,请将" -"其放在 Area, StaticBody, RigidBody, KinematicBody 节点下来为节点提供形状。" +"其放在 Area、StaticBody、RigidBody、KinematicBody 等节点下来为节点提供形状。" #: scene/3d/collision_shape.cpp msgid "" @@ -13772,7 +13798,7 @@ msgstr "正在绘制网格" #: scene/3d/gi_probe.cpp msgid "Finishing Plot" -msgstr "正在完成划分" +msgstr "正在完成绘制" #: scene/3d/gi_probe.cpp msgid "" @@ -13822,7 +13848,7 @@ msgid "" "\" option for this purpose." msgstr "" "基于 GPU 的粒子不受 GLES2 视频驱动程序的支持。\n" -"改为使用 CPUParticles 节点。为此,您可以使用 “Convert to CPUParticles” 选项。" +"改为使用 CPUParticles 节点。为此,您可以使用 “转换为 CPUParticles” 选项。" #: scene/3d/particles.cpp msgid "" @@ -13873,7 +13899,7 @@ msgstr "Node B 必须为 PhysicsBody" #: scene/3d/physics_joint.cpp msgid "Joint is not connected to any PhysicsBodies" -msgstr "Joint 未连结到任何 PhysicsBody" +msgstr "Joint 未连接到任何 PhysicsBody" #: scene/3d/physics_joint.cpp msgid "Node A and Node B must be different PhysicsBodies" @@ -14173,20 +14199,20 @@ msgid "" "minimum size manually." msgstr "" "ScrollContainer 适用于与单个子控件一起使用。\n" -"子节点应该是单个容器(VBox, HBox 等)或者使用单个控件并手动设置其自定义最小尺" +"子节点应该是单个容器(VBox、HBox 等)或者使用单个控件并手动设置其自定义最小尺" "寸。" #: scene/gui/tree.cpp msgid "(Other)" -msgstr "(其它)" +msgstr "(其他)" #: scene/main/scene_tree.cpp msgid "" "Default Environment as specified in Project Settings (Rendering -> " "Environment -> Default Environment) could not be loaded." msgstr "" -"无法加载项目设置中的默认环境 (Rendering -> Environment -> Default " -"Environment)。" +"无法加载项目设置中的默认环境(Rendering -> Environment -> Default " +"Environment)。" #: scene/main/timer.cpp msgid "" @@ -14269,2097 +14295,3 @@ msgstr "对 Uniform 的赋值。" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "不允许修改常量。" - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "制作放松姿势(从骨骼)" - -#~ msgid "Bottom" -#~ msgstr "底部" - -#~ msgid "Left" -#~ msgstr "左方" - -#~ msgid "Right" -#~ msgstr "右方" - -#~ msgid "Front" -#~ msgstr "前面" - -#~ msgid "Rear" -#~ msgstr "后方" - -#~ msgid "Nameless gizmo" -#~ msgstr "无名控制器" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "“Degrees Of Freedom” 只有在当 “Xr Mode” 是 “Oculus Mobile VR” 时才有效。" - -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "“Focus Awareness” 只有在当 “Xr Mode” 是 “Oculus Mobile VR” 时才有效。" - -#~ msgid "Package Contents:" -#~ msgstr "包内容:" - -#~ msgid "Singleton" -#~ msgstr "单例" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "是否删除配置文件 “%s”?(无法撤销)" - -#~ msgid "Enabled Properties:" -#~ msgstr "启用的属性:" - -#~ msgid "Enabled Features:" -#~ msgstr "启用的功能:" - -#~ msgid "Unset" -#~ msgstr "未设置" - -#~ msgid "Class Options" -#~ msgstr "类选项" - -#~ msgid "Set" -#~ msgstr "设置" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "已保存 %s 个修改后的资源。" - -#~ msgid "Q&A" -#~ msgstr "问答" - -#~ msgid "Status:" -#~ msgstr "状态:" - -#~ msgid "Edit:" -#~ msgstr "编辑:" - -#~ msgid "Redownload" -#~ msgstr "重新下载" - -#~ msgid "(Installed)" -#~ msgstr "(已安装)" - -#~ msgid "(Missing)" -#~ msgstr "(缺失)" - -#~ msgid "Request Failed." -#~ msgstr "请求失败。" - -#~ msgid "Redirect Loop." -#~ msgstr "循环重定向。" - -#~ msgid "Download Complete." -#~ msgstr "下载完成。" - -#~ msgid "Remove Template" -#~ msgstr "移除模板" - -#~ msgid "Download Templates" -#~ msgstr "下载模板" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "从列表中选择镜像:(Shift+单击:在浏览器中打开)" - -#~ msgid "Move to Trash" -#~ msgstr "移动至回收站" - -#~ msgid "Expand All Properties" -#~ msgstr "展开所有属性" - -#~ msgid "Collapse All Properties" -#~ msgstr "折叠所有属性" - -#~ msgid "Copy Params" -#~ msgstr "复制参数" - -#~ msgid "Open in Help" -#~ msgstr "在帮助中打开" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "游戏相机覆盖\n" -#~ "没有正在运行的游戏实例。" - -#~ msgid "Drag: Rotate" -#~ msgstr "拖动来旋转" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "按下 “V” 键修改旋转中心,在移动时按下 Shift+V 来拖动它。" - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+鼠标右键:显示鼠标点击位置下的所有节点列表" - -#~ msgid "Clone Down" -#~ msgstr "复制到下一行" - -#~ msgid "Yaw" -#~ msgstr "偏航角" - -#~ msgid "Size" -#~ msgstr "大小" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "鼠标拖拽:旋转\n" -#~ "Alt+拖拽:移动\n" -#~ "Alt+鼠标右键:显示列表" - -#~ msgid "Sep.:" -#~ msgstr "间隔:" - -#~ msgid "Add All" -#~ msgstr "添加所有" - -#~ msgid "Theme editing menu." -#~ msgstr "主题编辑菜单。" - -#~ msgid "Create Empty Template" -#~ msgstr "创建主题模板" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "创建空编辑器主题模板" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "从当前编辑器主题模板创建" - -#~ msgid "Data Type:" -#~ msgstr "数据类型:" - -#~ msgid "Theme File" -#~ msgstr "主题文件" - -#~ msgid "Compiled" -#~ msgstr "编译" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "是否从列表中删除 %d 个项目? \n" -#~ "项目文件夹的内容不会被修改。" - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "是否从列表中删除该项目?\n" -#~ "项目文件夹的内容不会被修改。" - -#~ msgid "Templates" -#~ msgstr "模板" - -#~ msgid "Add Remapped Path" -#~ msgstr "添加重定向路径" - -#~ msgid "Can not perform with the root node." -#~ msgstr "无法对根节点执行此操作。" - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "无法读取启动图片:" - -#~ msgid "Using default boot splash image." -#~ msgstr "使用默认启动图片。" - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "动画播放器不能动画化自己,只能动画化其他播放器。" - -#~ msgid "Clipboard is empty" -#~ msgstr "剪贴板是空的" - -#~ msgid "" -#~ "Godot editor was built without ray tracing support; lightmaps can't be " -#~ "baked.\n" -#~ "If you are using an Apple Silicon-based Mac, try forcing Rosetta " -#~ "emulation on Godot.app in the application settings\n" -#~ "then restart the editor." -#~ msgstr "" -#~ "Godot 编辑器是在没有光线跟踪支持的情况下构建的;无法烘焙光照贴图。\n" -#~ "如果你使用的是基于 Apple Silicon 的 Mac,可以尝试在应用设置中让 Godot.app " -#~ "强制使用 Rosetta 模拟\n" -#~ "并重启编辑器。" - -#~ msgid "" -#~ "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -#~ msgstr "InterpolatedCamera 已废弃,将在 Godot 4.0 中删除。" - -#~ msgid "No" -#~ msgstr "否" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "此场景尚未保存。是否在运行前保存?" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "未在编辑器设置中配置 ADB 可执行文件。" - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "未在编辑器设置中配置 OpenJDK Jarsigner。" - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "自定义构建需要在 “编辑器设置” 中使用有效的 Android SDK 路径。" - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(剩余时间:%d:%02d 秒)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "正在绘制网格: " - -#~ msgid "Lighting Meshes: " -#~ msgstr "正在对网格进行照明 " - -#~ msgid "Search complete" -#~ msgstr "搜索完毕" - -#~ msgid "No commit message was provided" -#~ msgstr "没有提供提交消息" - -#~ msgid "Add a commit message" -#~ msgstr "添加提交消息" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "当前位置已存在同名文件或文件夹。" - -#~ msgid "Unable to complete APK alignment." -#~ msgstr "无法完成 APK 对齐。" - -#~ msgid "Unable to delete unaligned APK." -#~ msgstr "无法删除未对齐 APK。" - -#~ msgid "Error trying to save layout!" -#~ msgstr "保存布局出错!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "覆盖编辑器默认布局。" - -#~ msgid "Move pivot" -#~ msgstr "移动轴心点" - -#~ msgid "Move anchor" -#~ msgstr "移动锚点" - -#~ msgid "Resize CanvasItem" -#~ msgstr "调整 CanvasItem 尺寸" - -#~ msgid "Polygon->UV" -#~ msgstr "多边形->UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV->多边形" - -#~ msgid "Add initial export..." -#~ msgstr "添加原始导出项..." - -#~ msgid "Add previous patches..." -#~ msgstr "添加已有补丁..." - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "是否从列表中删除补丁“%s”?" - -#~ msgid "Patches" -#~ msgstr "补丁" - -#~ msgid "Make Patch" -#~ msgstr "制作补丁" - -#~ msgid "Pack File" -#~ msgstr "包文件" - -#~ msgid "No build apk generated at: " -#~ msgstr "在以下位置未生成构建APK: " - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "文件系统和导入面板" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "导出或发布项目时,为了能够调试项目,可执行文件将试图通过本机IP连接到调试" -#~ "器。" - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "当前场景尚未保存,请保存后再尝试执行。" - -#~ msgid "Revert" -#~ msgstr "恢复" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "此操作无法撤销,是否继续?" - -#~ msgid "Revert Scene" -#~ msgstr "恢复场景" - -#~ msgid "Clear Script" -#~ msgstr "清除脚本" - -#~ msgid "Issue Tracker" -#~ msgstr "问题跟踪器" - -#~ msgid "Request Docs" -#~ msgstr "请求文档" - -#~ msgid "Help improve the Godot documentation by giving feedback." -#~ msgstr "通过提供反馈帮助改进godot文档。" - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "替换了%d项。" - -#~ msgid "Create Static Convex Body" -#~ msgstr "创建静态凸体(Convex Body)" - -#~ msgid "Failed creating shapes!" -#~ msgstr "创建形状失败!" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "当前没有此类型的教程,你可以[color=$color][url=$url]贡献一个[/url][/color]" -#~ "或[color=$color][url=$url2]请求一个[/url][/color]。" - -#~ msgid "enum " -#~ msgstr "枚举 " - -#~ msgid "Brief Description" -#~ msgstr "简介" - -#~ msgid "Class Description" -#~ msgstr "类说明" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "项目导出失败,错误代码 %d。" - -#~ msgid "Password:" -#~ msgstr "密码:" - -#~ msgid "Identifier segments must be of non-zero length." -#~ msgstr "标识符字段不能为空." - -#~ msgid "A digit cannot be the first character in a Identifier segment." -#~ msgstr "标识符段中的第一个字符不能是数字。" - -#~ msgid "" -#~ "The character '%s' cannot be the first character in a Identifier segment." -#~ msgstr "标识符段中的第一个字符不能是\"%s\"。" - -#~ msgid "The Identifier must have at least one '.' separator." -#~ msgstr "标识符必须至少有一个“.”分隔符。" - -#~ msgid "Pause the scene" -#~ msgstr "暂停运行场景" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Control+" -#~ msgstr "Ctrl+" - -#~ msgid "Snap to Grid" -#~ msgstr "吸附到网格" - -#~ msgid "Add input +" -#~ msgstr "添加输入+" - -#~ msgid "Language" -#~ msgstr "语言" - -#~ msgid "Inherits" -#~ msgstr "继承自" - -#~ msgid "Base Type:" -#~ msgstr "基础类型:" - -#~ msgid "Available Nodes:" -#~ msgstr "有效节点:" - -#~ msgid "Input" -#~ msgstr "输入" - -#~ msgid "Methods:" -#~ msgstr "方法:" - -#~ msgid "Theme Properties:" -#~ msgstr "Theme Properties:" - -#~ msgid "Enumerations:" -#~ msgstr "枚举:" - -#~ msgid "Constants:" -#~ msgstr "常量:" - -#~ msgid "Class Description:" -#~ msgstr "类说明:" - -#~ msgid "Property Descriptions:" -#~ msgstr "属性说明:" - -#~ msgid "Method Descriptions:" -#~ msgstr "方法说明:" - -#~ msgid "" -#~ "This will install the Android project for custom builds.\n" -#~ "Note that, in order to use it, it needs to be enabled per export preset." -#~ msgstr "" -#~ "将安装Android项目以进行自定义构建。\n" -#~ "注意,为了可用,需要为每个导出预设启用。" - -#~ msgid "Reverse sorting." -#~ msgstr "反向排序。" - -#~ msgid "Delete Node(s)?" -#~ msgstr "确定要删除节点吗?" - -#~ msgid "No Matches" -#~ msgstr "无匹配项" - -#~ msgid "" -#~ "Can't open file_type_cache.cch for writing, not saving file type cache!" -#~ msgstr "无法以可写方式打开file_type_cache.cch!" - -#~ msgid "Cannot navigate to '%s' as it has not been found in the file system!" -#~ msgstr "因为文件系统没找到文件,不能定位到'%s'!" - -#~ msgid "Error loading image:" -#~ msgstr "加载图片出错:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "图片中没有透明度> 128的像素..." - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "父级没有实体面来填充。" - -#~ msgid "Couldn't map area." -#~ msgstr "无法绘制区域。" - -#~ msgid "Faces contain no area!" -#~ msgstr "面不含有区域!" - -#~ msgid "No faces!" -#~ msgstr "没有面!" - -#~ msgid "Error: could not load file." -#~ msgstr "错误:无法加载文件。" - -#~ msgid "Error could not load file." -#~ msgstr "错误,无法加载文件。" - -#~ msgid "Doppler Enable" -#~ msgstr "启用多普勒效应" - -#~ msgid "Select Mode (Q)" -#~ msgstr "选择模式 (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "移动模式(W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "旋转模式(E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "缩放模式(R)" - -#~ msgid "Local Coords" -#~ msgstr "本地坐标" - -#~ msgid "Snap Mode (%s)" -#~ msgstr "吸附模式 (%s)" - -#~ msgid "Tool Select" -#~ msgstr "选择工具" - -#~ msgid "Tool Move" -#~ msgstr "移动工具" - -#~ msgid "Tool Rotate" -#~ msgstr "旋转工具" - -#~ msgid "Tool Scale" -#~ msgstr "缩放工具" - -#, fuzzy -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "移除此项目(项目的文件不受影响)" - -#~ msgid "Project List" -#~ msgstr "项目列表" - -#~ msgid "Exit" -#~ msgstr "退出" - -#~ msgid "Could not execute PVRTC tool:" -#~ msgstr "无法执行PVRTC工具:" - -#~ msgid "Can't load back converted image using PVRTC tool:" -#~ msgstr "无法加载使用PVRTC工具转换的图片:" - -#~ msgid "Error initializing FreeType." -#~ msgstr "初始化FreeType出错。" - -#~ msgid "Unknown font format." -#~ msgstr "未知的字体格式。" - -#~ msgid "Error loading font." -#~ msgstr "加载字体出错。" - -#~ msgid "Invalid font size." -#~ msgstr "字体大小非法。" - -#~ msgid "Previous Folder" -#~ msgstr "上一个文件夹" - -#~ msgid "Next Folder" -#~ msgstr "下一个文件夹" - -#~ msgid "Automatically Open Screenshots" -#~ msgstr "自动打开截图" - -#~ msgid "Open in an external image editor." -#~ msgstr "使用外部图像编辑器打开。" - -#~ msgid "Reverse" -#~ msgstr "反选" - -#~ msgid "Mirror X" -#~ msgstr "沿X轴翻转" - -#~ msgid "Mirror Y" -#~ msgstr "沿Y轴翻转" - -#~ msgid "Generating solution..." -#~ msgstr "正在创生成决方案..." - -#~ msgid "Generating C# project..." -#~ msgstr "正在生成C#项目..." - -#~ msgid "Failed to create solution." -#~ msgstr "创建解决方案失败。" - -#~ msgid "Failed to save solution." -#~ msgstr "保存解决方案失败。" - -#~ msgid "Failed to create C# project." -#~ msgstr "创建C#项目失败。" - -#~ msgid "Mono" -#~ msgstr "Mono" - -#~ msgid "About C# support" -#~ msgstr "关于C#支持" - -#~ msgid "Create C# solution" -#~ msgstr "创建C#解决方案" - -#~ msgid "Builds" -#~ msgstr "构建" - -#~ msgid "Build Project" -#~ msgstr "构建项目" - -#~ msgid "View log" -#~ msgstr "查看日志" - -#~ msgid "WorldEnvironment needs an Environment resource." -#~ msgstr "WorldEnvironment需要一个环境资源。" - -#~ msgid "Enabled Classes" -#~ msgstr "启用的类" - -#~ msgid "Update Always" -#~ msgstr "持续更新UI" - -#~ msgid "Raw Mode" -#~ msgstr "Raw 模式" - -#~ msgid "Path to Node:" -#~ msgstr "节点路径:" - -#~ msgid "Delete selected files?" -#~ msgstr "删除选中的文件?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "不存在'res://default_bus_layout.tres'文件。" - -#~ msgid "Go to parent folder" -#~ msgstr "转到上层文件夹" - -#~ msgid "Open Scene(s)" -#~ msgstr "打开场景" - -#~ msgid "Previous Directory" -#~ msgstr "上一个目录" - -#~ msgid "Next Directory" -#~ msgstr "下一个目录" - -#~ msgid "Ease in" -#~ msgstr "渐入" - -#~ msgid "Ease out" -#~ msgstr "渐出" - -#~ msgid "Create Convex Static Body" -#~ msgstr "创建凸(Convex ) 静态体" - -#~ msgid "CheckBox Radio1" -#~ msgstr "复选框 选项1" - -#~ msgid "CheckBox Radio2" -#~ msgstr "复选框 选项2" - -#~ msgid "Create folder" -#~ msgstr "新建目录" - -#~ msgid "Custom Node" -#~ msgstr "自定义节点" - -#~ msgid "Invalid Path" -#~ msgstr "路径非法" - -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "复制选中项" - -#~ msgid "Create Area" -#~ msgstr "新建区域" - -#~ msgid "Create Exterior Connector" -#~ msgstr "创建外部连接器" - -#~ msgid "Edit Signal Arguments:" -#~ msgstr "编辑信号参数:" - -#~ msgid "Edit Variable:" -#~ msgstr "编辑变量:" - -#~ msgid "Snap (s): " -#~ msgstr "吸附: " - -#~ msgid "Insert keys." -#~ msgstr "插入帧。" - -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "将选中的场景实例为选中节点的子节点。" - -#~ msgid "Font Size:" -#~ msgstr "字体大小:" - -#~ msgid "Line:" -#~ msgstr "行:" - -#~ msgid "Col:" -#~ msgstr "列:" - -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "" -#~ "OrientedPathFollow 类型的节点只有作为Path类型节点的子节点才能正常工作。" - -#~ msgid "Split point with itself." -#~ msgstr "拆分点本身。" - -#~ msgid "Split can't form an existing edge." -#~ msgstr "不能从已存在的边上拆分。" - -#~ msgid "Add Split" -#~ msgstr "添加分裂" - -#~ msgid "Invalid Split: " -#~ msgstr "无效拆分: " - -#~ msgid "Remove Split" -#~ msgstr "移除拆分" - -#~ msgid "Poly" -#~ msgstr "多边形" - -#~ msgid "Splits" -#~ msgstr "拆分" - -#~ msgid "Connect two points to make a split." -#~ msgstr "连接两个点以进行分割。" - -#~ msgid "Add Node.." -#~ msgstr "添加节点.." - -#~ msgid "Create from scene?" -#~ msgstr "从场景中创建?" - -#~ msgid "Create Poly" -#~ msgstr "创建多边形" - -#~ msgid "Create a new polygon from scratch" -#~ msgstr "创建一个新的多边形" - -#~ msgid "Zoom out" -#~ msgstr "缩小" - -#~ msgid "Zoom in" -#~ msgstr "放大" - -#~ msgid "Create Poly3D" -#~ msgstr "创建 Poly3D (多边型3D)" - -#~ msgid "" -#~ "No OccluderPolygon2D resource on this node.\n" -#~ "Create and assign one?" -#~ msgstr "" -#~ "在这个节点上没有 OccluderPolygon2D 资源。\n" -#~ "创建和分配一个吗?" - -#~ msgid "LMB: Move Point." -#~ msgstr "鼠标左键:移动点。" - -#~ msgid "Ctrl+LMB: Split Segment." -#~ msgstr "Ctrl+鼠标左键:分割视图块。" - -#~ msgid "RMB: Erase Point." -#~ msgstr "鼠标右键:移除点。" - -#~ msgid "New TextFile" -#~ msgstr "新建文本文件" - -#~ msgid "Save Theme As" -#~ msgstr "主题另存为" - -#~ msgid "<None>" -#~ msgstr "无" - -#~ msgid "" -#~ "Select sub-tile to use as icon, this will be also used on invalid " -#~ "autotile bindings." -#~ msgstr "" -#~ "请选择一个子地砖(sub-tile)作为图标,此图标还会被绑定为无效的地砖" -#~ "(autotile)。" - -#~ msgid "Zoom:" -#~ msgstr "缩放:" - -#~ msgid "Are you sure you want to remove all connections from the \"" -#~ msgstr "您确定要移除所有广播连接从 \"" - -#~ msgid "Class List:" -#~ msgstr "类型列表:" - -#~ msgid "Public Methods" -#~ msgstr "公共方法" - -#~ msgid "Public Methods:" -#~ msgstr "公共方法:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "GUI主题:" - -#~ msgid "Property: " -#~ msgstr "属性: " - -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "开关文件夹的收藏状态。" - -#~ msgid "Show current scene file." -#~ msgstr "显示当前场景文件。" - -#~ msgid "Enter tree-view." -#~ msgstr "进入树形查看器。" - -#~ msgid "Whole words" -#~ msgstr "全字匹配" - -#~ msgid "Match case" -#~ msgstr "匹配大小写" - -#~ msgid "Ok" -#~ msgstr "好的" - -#~ msgid "Show In File System" -#~ msgstr "在资源管理器中显示" - -#~ msgid "Search the class hierarchy." -#~ msgstr "搜索类。" - -#~ msgid "Search in files" -#~ msgstr "在文件中搜索" - -#~ msgid "" -#~ "Built-in scripts can only be edited when the scene they belong to is " -#~ "loaded" -#~ msgstr "内建脚本只有在其所属场景加载完后才可以编辑" - -#~ msgid "Convert To Uppercase" -#~ msgstr "转换为大写" - -#~ msgid "Convert To Lowercase" -#~ msgstr "转换为小写" - -#~ msgid "Rotate 0 degrees" -#~ msgstr "旋转0度" - -#~ msgid "Rotate 90 degrees" -#~ msgstr "旋转90度" - -#~ msgid "Rotate 180 degrees" -#~ msgstr "旋转180度" - -#~ msgid "Rotate 270 degrees" -#~ msgstr "旋转270度" - -#~ msgid "Errors:" -#~ msgstr "错误:" - -#~ msgid "Stack Trace (if applicable):" -#~ msgstr "调用堆栈(若适用):" - -#~ msgid "Bake!" -#~ msgstr "烘焙!" - -#~ msgid "Bake the navigation mesh." -#~ msgstr "烘焙导航网格(mesh)。" - -#~ msgid "Get" -#~ msgstr "获取" - -#~ msgid "Change RGB Constant" -#~ msgstr "修改RGB常量系数" - -#~ msgid "Change Vec Scalar Operator" -#~ msgstr "更改Vec标量运算符(Vec Scalar Operator)" - -#~ msgid "Change RGB Operator" -#~ msgstr "更改RGB运算符(RGB Operator)" - -#~ msgid "Toggle Rot Only" -#~ msgstr "切换旋转模式" - -#~ msgid "Change Vec Function" -#~ msgstr "修改Function Vec" - -#~ msgid "Change Vec Uniform" -#~ msgstr "修改Uniform Vec" - -#~ msgid "Change RGB Uniform" -#~ msgstr "修改Uniform RGB" - -#~ msgid "Change Default Value" -#~ msgstr "修改默认值" - -#~ msgid "Change XForm Uniform" -#~ msgstr "修改Uniform XForm" - -#~ msgid "Change Cubemap Uniform" -#~ msgstr "修改Uniform Cubemap" - -#~ msgid "Change Comment" -#~ msgstr "修改注释" - -#~ msgid "Add/Remove to Color Ramp" -#~ msgstr "添加/删除颜色坡度" - -#~ msgid "Modify Color Ramp" -#~ msgstr "修改色彩曲线图" - -#~ msgid "Add/Remove to Curve Map" -#~ msgstr "添加/删除曲线地图" - -#~ msgid "Modify Curve Map" -#~ msgstr "修改曲线图" - -#~ msgid "Connect Graph Nodes" -#~ msgstr "连接Graph Node" - -#~ msgid "Remove Shader Graph Node" -#~ msgstr "移除Graph Node节点" - -#~ msgid "Move Shader Graph Node" -#~ msgstr "移动Graph Node节点" - -#~ msgid "Duplicate Graph Node(s)" -#~ msgstr "复制Graph Node节点" - -#~ msgid "Error: Cyclic Connection Link" -#~ msgstr "错误:循环的连接" - -#~ msgid "Error: Missing Input Connections" -#~ msgstr "错误:缺少输入连接" - -#~ msgid "Add Shader Graph Node" -#~ msgstr "添加着色器Graph Node" - -#~ msgid "Move Anim Track Up" -#~ msgstr "上移轨道" - -#~ msgid "Move Anim Track Down" -#~ msgstr "下移轨道" - -#~ msgid "Set Transitions to:" -#~ msgstr "设置过渡效果:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "轨道修改为插值模式" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "轨道修改为值模式" - -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "轨道修改为包围模式" - -#~ msgid "Edit Node Curve" -#~ msgstr "编辑节点曲线" - -#~ msgid "Edit Selection Curve" -#~ msgstr "编辑所选曲线" - -#~ msgid "Anim Add Key" -#~ msgstr "添加关键帧" - -#~ msgid "In" -#~ msgstr "缓入" - -#~ msgid "Out" -#~ msgstr "缓出" - -#~ msgid "In-Out" -#~ msgstr "缓入缓出" - -#~ msgid "Out-In" -#~ msgstr "反缓入缓出" - -#~ msgid "Change Anim Len" -#~ msgstr "修改动画时长" - -#~ msgid "Change Anim Loop" -#~ msgstr "修改动画循环" - -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "创建输入值的动画关键帧" - -#~ msgid "Anim Add Call Track" -#~ msgstr "添加调用轨道" - -#~ msgid "Length (s):" -#~ msgstr "时长(秒):" - -#~ msgid "Step (s):" -#~ msgstr "步长(秒):" - -#~ msgid "Cursor step snap (in seconds)." -#~ msgstr "步进吸附(秒)。" - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "启用/禁用循环。" - -#~ msgid "Add new tracks." -#~ msgstr "新建轨道。" - -#~ msgid "Move current track up." -#~ msgstr "上移当前轨道。" - -#~ msgid "Move current track down." -#~ msgstr "下移当前轨道。" - -#~ msgid "Track tools" -#~ msgstr "轨道工具" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "允许通过单击编辑各个关键帧。" - -#~ msgid "Key" -#~ msgstr "关键帧" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "在哪个节点中调用函数?" - -#~ msgid "Thanks!" -#~ msgstr "谢谢!" - -#~ msgid "I see..." -#~ msgstr "好吧..." - -#~ msgid "Ugh" -#~ msgstr "呃" - -#~ msgid "Run Script" -#~ msgstr "运行脚本" - -#~ msgid "Stop Profiling" -#~ msgstr "停止" - -#~ msgid "Start Profiling" -#~ msgstr "开始" - -#~ msgid "Default (Same as Editor)" -#~ msgstr "默认(与编辑器相同)" - -#~ msgid "Create new animation in player." -#~ msgstr "在播放中创建动画。" - -#~ msgid "Load animation from disk." -#~ msgstr "从磁盘中加载动画。" - -#~ msgid "Load an animation from disk." -#~ msgstr "从磁盘中加载动画。" - -#~ msgid "Save the current animation" -#~ msgstr "保存当前动画" - -#~ msgid "Edit Target Blend Times" -#~ msgstr "编辑目标混合时间" - -#~ msgid "Copy Animation" -#~ msgstr "拷贝动画" - -#~ msgid "Fetching:" -#~ msgstr "获取:" - -#~ msgid "prev" -#~ msgstr "上一页" - -#~ msgid "next" -#~ msgstr "下一页" - -#~ msgid "last" -#~ msgstr "最后一页" - -#~ msgid "Edit IK Chain" -#~ msgstr "编辑IK链" - -#~ msgid "Drag pivot from mouse position" -#~ msgstr "从鼠标位置拖动轴心" - -#~ msgid "Set pivot at mouse position" -#~ msgstr "在鼠标位置设置轴心" - -#~ msgid "Add/Remove Color Ramp Point" -#~ msgstr "添加/删除色彩渐变点" - -#~ msgid "OK :(" -#~ msgstr "好吧" - -#~ msgid "Skeleton Gizmo visibility" -#~ msgstr "骨骼控制器可见" - -#~ msgid "StyleBox Preview:" -#~ msgstr "StyleBox预览:" - -#~ msgid "Texture Region Editor" -#~ msgstr "纹理区域编辑器" - -#~ msgid "Erase selection" -#~ msgstr "擦除选中" - -#~ msgid "Item name or ID:" -#~ msgstr "项目名称或ID:" - -#~ msgid "Export templates for this platform are missing/corrupted: " -#~ msgstr "该平台的导出模板缺失或已经损坏: " - -#~ msgid "Button 8" -#~ msgstr "按键 8" - -#~ msgid "Button 9" -#~ msgstr "按键 9" - -#~ msgid "Discard Instancing" -#~ msgstr "放弃实例化" - -#~ msgid "Makes Sense!" -#~ msgstr "好的!" - -#~ msgid "Clear!" -#~ msgstr "清除!" - -#~ msgid "Toggle Spatial Visible" -#~ msgstr "切换Spatial可见" - -#~ msgid "Condition" -#~ msgstr "条件" - -#~ msgid "Sequence" -#~ msgstr "序列" - -#~ msgid "Switch" -#~ msgstr "选择(Switch)" - -#~ msgid "Iterator" -#~ msgstr "遍历(Iterator)" - -#~ msgid "While" -#~ msgstr "条件循环(While)" - -#~ msgid "Return" -#~ msgstr "返回" - -#~ msgid "Call" -#~ msgstr "调用" - -#~ msgid "Edit Variable" -#~ msgstr "编辑变量" - -#~ msgid "Edit Signal" -#~ msgstr "编辑信号" - -#~ msgid "Invalid action (anything goes but '/' or ':')." -#~ msgstr "Action名非法(不得包含'/'或':')。" - -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "不能包含 \"/\" 或 \":\"" - -#~ msgid "" -#~ "Invalid version.txt format inside templates. Revision is not a valid " -#~ "identifier." -#~ msgstr "模板中的 version.txt文件格式不合法,无效的版本标识符。" - -#~ msgid "Can't write file." -#~ msgstr "无法写入文件。" - -#~ msgid "Couldn't get project.godot in project path." -#~ msgstr "无法在项目目录下找到project.godot文件。" - -#~ msgid "Replace By" -#~ msgstr "替换" - -#~ msgid "Backwards" -#~ msgstr "向后" - -#~ msgid "Prompt On Replace" -#~ msgstr "更换时提示" - -#~ msgid "Skip" -#~ msgstr "跳过" - -#~ msgid "" -#~ "Your project will be created in a non empty folder (you might want to " -#~ "create a new folder)." -#~ msgstr "您的工程在非空文件夹中创建 (您可能需要建立一个新文件夹)。" - -#~ msgid "That's a BINGO!" -#~ msgstr "碉堡了!" - -#~ msgid "preview" -#~ msgstr "预览" - -#~ msgid "Move Add Key" -#~ msgstr "移动已添加关键帧" - -#~ msgid "Create Subscription" -#~ msgstr "创建订阅" - -#~ msgid "List:" -#~ msgstr "列表:" - -#~ msgid "Set Emission Mask" -#~ msgstr "设置Emission Mask(发射屏蔽)" - -#~ msgid "Clear Emitter" -#~ msgstr "清除发射器(Emitter)" - -#, fuzzy -#~ msgid "Fold Line" -#~ msgstr "折叠行" - -#~ msgid " " -#~ msgstr " .. " - -#~ msgid "Sections:" -#~ msgstr "选项:" - -#~ msgid "Cannot navigate to '" -#~ msgstr "无法导航到 '" - -#~ msgid "" -#~ "\n" -#~ "Source: " -#~ msgstr "" -#~ "\n" -#~ "源: " - -#~ msgid "Remove Point from Line2D" -#~ msgstr "从Line2D中移除顶点" - -#~ msgid "Add Point to Line2D" -#~ msgstr "向Line2D添加顶点" - -#~ msgid "Move Point in Line2D" -#~ msgstr "在Line2D中移动顶点" - -#~ msgid "Split Segment (in line)" -#~ msgstr "拆分片段(使用线段)" - -#~ msgid "Meta+" -#~ msgstr "Meta+" - -#~ msgid "Setting '" -#~ msgstr "设置 '" - -#~ msgid "Remote Inspector" -#~ msgstr "远程属性面板" - -#~ msgid "Live Scene Tree:" -#~ msgstr "即时场景树:" - -#~ msgid "Remote Object Properties: " -#~ msgstr "远程对象属性: " - -#, fuzzy -#~ msgid "Prev Level (%sDown Wheel)" -#~ msgstr "上一级" - -#, fuzzy -#~ msgid "Next Level (%sUp Wheel)" -#~ msgstr "下一级" - -#~ msgid "Selection -> Duplicate" -#~ msgstr "选择->复制" - -#~ msgid "Selection -> Clear" -#~ msgstr "选择->清空" - -#~ msgid "" -#~ "Path property must point to a valid Viewport node to work. Such Viewport " -#~ "must be set to 'render target' mode." -#~ msgstr "" -#~ "Path属性必须指向一个合法的Viewport节点才能工作,同时此Viewport还需要启" -#~ "用'render target'。" - -#~ msgid "" -#~ "The Viewport set in the path property must be set as 'render target' in " -#~ "order for this sprite to work." -#~ msgstr "" -#~ "为了让此精灵正常工作,它的path属性所指向的Viewport需要开启'render " -#~ "target'。" - -#~ msgid "' parsing of config failed." -#~ msgstr "' 解析配置失败。" - -#~ msgid "Method List For '%s':" -#~ msgstr "'%s'的方法列表:" - -#~ msgid "Arguments:" -#~ msgstr "参数:" - -#~ msgid "Return:" -#~ msgstr "返回:" - -#~ msgid "Added:" -#~ msgstr "已添加:" - -#~ msgid "Could not save atlas subtexture:" -#~ msgstr "无法保存精灵集子贴图:" - -#~ msgid "Setting Up..." -#~ msgstr "配置..." - -#~ msgid "Error loading scene." -#~ msgstr "加载场景出错。" - -#~ msgid "Re-Import" -#~ msgstr "重新导入" - -#~ msgid "Please wait for scan to complete." -#~ msgstr "扫描中,请稍后..." - -#~ msgid "Current scene must be saved to re-import." -#~ msgstr "需要先保存当前场景才能重新导入。" - -#~ msgid "Re-Importing" -#~ msgstr "重新导入" - -#~ msgid "Re-Import Changed Resources" -#~ msgstr "重新导入改变的资源" - -#~ msgid "" -#~ "\n" -#~ "Status: Needs Re-Import" -#~ msgstr "" -#~ "\n" -#~ "状态: 需要重新导入" - -#~ msgid "Same source and destination files, doing nothing." -#~ msgstr "源文件和目标文件相同,操作忽略。" - -#~ msgid "Target file exists, can't overwrite. Delete first." -#~ msgstr "目标文件存在,无法覆盖。请先删除。" - -#~ msgid "Same source and destination paths, doing nothing." -#~ msgstr "源路径和目标路径相同,操作忽略。" - -#~ msgid "Can't move directories to within themselves." -#~ msgstr "无法将目录移动到自身下。" - -#~ msgid "Can't rename deps for:\n" -#~ msgstr "无法重命名deps:\n" - -#~ msgid "Pick New Name and Location For:" -#~ msgstr "选择新名称和路径:" - -#~ msgid "Info" -#~ msgstr "信息" - -#~ msgid "No bit masks to import!" -#~ msgstr "没有要导入的bit masks!" - -#~ msgid "Target path is empty." -#~ msgstr "目标路径为空。" - -#~ msgid "Target path must be a complete resource path." -#~ msgstr "目标路径必须是一个完整的资源文件路径。" - -#~ msgid "Target path must exist." -#~ msgstr "目标路径必须存在。" - -#~ msgid "Import BitMasks" -#~ msgstr "导入BitMask" - -#~ msgid "Source Texture(s):" -#~ msgstr "源贴图:" - -#~ msgid "Target Path:" -#~ msgstr "目标路径:" - -#~ msgid "Accept" -#~ msgstr "接受" - -#~ msgid "Bit Mask" -#~ msgstr "位掩码(BitMask)" - -#~ msgid "No source font file!" -#~ msgstr "请设置源字体文件!" - -#~ msgid "No target font resource!" -#~ msgstr "请设置目标字体资源!" - -#~ msgid "" -#~ "Invalid file extension.\n" -#~ "Please use .font." -#~ msgstr "" -#~ "文件扩展名不合法\n" -#~ "请使用.font文件。" - -#~ msgid "Couldn't save font." -#~ msgstr "无法保存字体。" - -#~ msgid "Source Font:" -#~ msgstr "源字体文件:" - -#~ msgid "Dest Resource:" -#~ msgstr "目标资源:" - -#~ msgid "The quick brown fox jumps over the lazy dog." -#~ msgstr "" -#~ "The quick brown fox jumps over the lazy dog.\n" -#~ "我能吞下玻璃而不伤身体。" - -#~ msgid "Test:" -#~ msgstr "测试:" - -#~ msgid "Options:" -#~ msgstr "选项:" - -#~ msgid "Font Import" -#~ msgstr "导入字体" - -#~ msgid "" -#~ "This file is already a Godot font file, please supply a BMFont type file " -#~ "instead." -#~ msgstr "此文件已经是一个Godot的字体文件,请提供一个位图字体(BMFont)文件。" - -#~ msgid "Failed opening as BMFont file." -#~ msgstr "打开位图字体失败。" - -#~ msgid "Invalid font custom source." -#~ msgstr "自定义字体文件非法。" - -#~ msgid "No meshes to import!" -#~ msgstr "没有要导入的Mesh!" - -#~ msgid "Single Mesh Import" -#~ msgstr "导入单个Mesh" - -#~ msgid "Source Mesh(es):" -#~ msgstr "源Mesh:" - -#~ msgid "Surface %d" -#~ msgstr "表面 %d" - -#~ msgid "No samples to import!" -#~ msgstr "没有音效要导入!" - -#~ msgid "Import Audio Samples" -#~ msgstr "导入声音文件" - -#~ msgid "Source Sample(s):" -#~ msgstr "源音效文件:" - -#~ msgid "Audio Sample" -#~ msgstr "音效" - -#~ msgid "New Clip" -#~ msgstr "新片段" - -#~ msgid "Flags" -#~ msgstr "标记" - -#~ msgid "Bake FPS:" -#~ msgstr "烘培FPS:" - -#~ msgid "Optimizer" -#~ msgstr "优化" - -#~ msgid "Max Linear Error" -#~ msgstr "最大线性误差" - -#~ msgid "Max Angular Error" -#~ msgstr "最大角度误差" - -#~ msgid "Max Angle" -#~ msgstr "最大角度" - -#~ msgid "Start(s)" -#~ msgstr "起点" - -#~ msgid "Source path is empty." -#~ msgstr "源路径为空。" - -#~ msgid "Couldn't load post-import script." -#~ msgstr "无法载入后导入脚本。" - -#~ msgid "Invalid/broken script for post-import." -#~ msgstr "后导入脚本被损坏或不合法。" - -#~ msgid "Error importing scene." -#~ msgstr "导入场景出错。" - -#~ msgid "Import 3D Scene" -#~ msgstr "导入3D场景" - -#~ msgid "Source Scene:" -#~ msgstr "源场景:" - -#~ msgid "Same as Target Scene" -#~ msgstr "与目标场景相同" - -#~ msgid "Shared" -#~ msgstr "共享的" - -#~ msgid "Target Texture Folder:" -#~ msgstr "目标贴图目录:" - -#~ msgid "Custom Root Node Type:" -#~ msgstr "自定义根节点类型:" - -#~ msgid "Auto" -#~ msgstr "自动" - -#~ msgid "The Following Files are Missing:" -#~ msgstr "找不到下列文件:" - -#~ msgid "Import Anyway" -#~ msgstr "仍然导入" - -#~ msgid "Edited scene has not been saved, open imported scene anyway?" -#~ msgstr "正在编辑的场景尚未保存,仍然要打开导入的场景吗?" - -#~ msgid "Import Image:" -#~ msgstr "导入图片:" - -#~ msgid "Couldn't localize path: %s (already local)" -#~ msgstr "无法本地化路径:%s (已经是本地路径)" - -#~ msgid "3D Scene Animation" -#~ msgstr "3D场景动画" - -#~ msgid "Uncompressed" -#~ msgstr "不压缩" - -#~ msgid "Compress Lossless (PNG)" -#~ msgstr "无损压缩(PNG)" - -#~ msgid "Compress Lossy (WebP)" -#~ msgstr "有损压缩(WebP)" - -#~ msgid "Compress (VRAM)" -#~ msgstr "VRAM压缩" - -#~ msgid "Texture Format" -#~ msgstr "纹理格式" - -#~ msgid "Texture Compression Quality (WebP):" -#~ msgstr "高质量(WebP)压缩方式:" - -#~ msgid "Please specify some files!" -#~ msgstr "请添加文件!" - -#~ msgid "At least one file needed for Atlas." -#~ msgstr "精灵集至少需要一个文件。" - -#~ msgid "Error importing:" -#~ msgstr "导入出错:" - -#~ msgid "Max Texture Size:" -#~ msgstr "最大纹理尺寸:" - -#~ msgid "Import Textures for Atlas (2D)" -#~ msgstr "导入2D精灵集" - -#~ msgid "Large Texture" -#~ msgstr "大图" - -#~ msgid "Import Large Textures (2D)" -#~ msgstr "导入2D大图" - -#~ msgid "Source Texture" -#~ msgstr "源贴图" - -#~ msgid "Base Atlas Texture" -#~ msgstr "基础图集纹理" - -#~ msgid "Source Texture(s)" -#~ msgstr "源贴图(s)" - -#~ msgid "Import Textures for 2D" -#~ msgstr "导入2D贴图" - -#~ msgid "Import Textures for 3D" -#~ msgstr "导入3D贴图" - -#~ msgid "Import Textures" -#~ msgstr "导入贴图" - -#~ msgid "2D Texture" -#~ msgstr "2D贴图" - -#~ msgid "3D Texture" -#~ msgstr "3D贴图" - -#~ msgid "Atlas Texture" -#~ msgstr "精灵图集" - -#~ msgid "" -#~ "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files " -#~ "to the project." -#~ msgstr "" -#~ "提示:大多数2D贴图并不需要导入操作,只要将png/jpg文件放到项目目录下即可。" - -#~ msgid "Crop empty space." -#~ msgstr "切除空白区域。" - -#~ msgid "Texture" -#~ msgstr "贴图" - -#~ msgid "Import Large Texture" -#~ msgstr "导入大图" - -#~ msgid "Load Source Image" -#~ msgstr "加载源图片" - -#~ msgid "Slicing" -#~ msgstr "切片中" - -#~ msgid "Saving" -#~ msgstr "正在保存文件" - -#~ msgid "Couldn't save large texture:" -#~ msgstr "无法保存大图:" - -#~ msgid "Build Atlas For:" -#~ msgstr "使用以下图片生成精灵集:" - -#~ msgid "Loading Image:" -#~ msgstr "加载图片中:" - -#~ msgid "Converting Images" -#~ msgstr "正在转换图片" - -#~ msgid "Cropping Images" -#~ msgstr "剪裁图片" - -#~ msgid "Couldn't save atlas image:" -#~ msgstr "无法保存精灵集图片:" - -#~ msgid "Invalid translation source!" -#~ msgstr "源语言文件非法!" - -#~ msgid "Column" -#~ msgstr "列" - -#~ msgid "No items to import!" -#~ msgstr "没有要导入的项目!" - -#~ msgid "No target path!" -#~ msgstr "目标路径为空!" - -#~ msgid "Import Translations" -#~ msgstr "导入多种语言翻译" - -#~ msgid "Couldn't import!" -#~ msgstr "无法导入!" - -#~ msgid "Import Translation" -#~ msgstr "导入语言翻译" - -#~ msgid "Source CSV:" -#~ msgstr "源CSV文件:" - -#~ msgid "Ignore First Row" -#~ msgstr "忽略第一行" - -#~ msgid "Compress" -#~ msgstr "压缩" - -#~ msgid "Add to Project (project.godot)" -#~ msgstr "添加到项目 (project.godot)" - -#~ msgid "Import Languages:" -#~ msgstr "导入语言:" - -#~ msgid "Translation" -#~ msgstr "语言" - -#~ msgid "Triangle #" -#~ msgstr "三角形 #" - -#~ msgid "Light Baker Setup:" -#~ msgstr "建立烘培:" - -#~ msgid "Fixing Lights" -#~ msgstr "修正光照" - -#~ msgid "Making BVH" -#~ msgstr "制作BVH(动作骨骼)" - -#~ msgid "Allocating Texture #" -#~ msgstr "分配纹理 #" - -#~ msgid "Baking Triangle #" -#~ msgstr "烘培三角形 #" - -#~ msgid "Post-Processing Texture #" -#~ msgstr "后加工纹理 #" - -#~ msgid "Reset the lightmap octree baking process (start over)." -#~ msgstr "重置贴图烘焙过程 (重新开始) 的 octree (八叉树)。" - -#~ msgid "Zoom Set..." -#~ msgstr "设置缩放..." - -#~ msgid "Parse BBCode" -#~ msgstr "解析BBCode" - -#~ msgid "Length:" -#~ msgstr "长度:" - -#~ msgid "Open Sample File(s)" -#~ msgstr "打开声音文件" - -#~ msgid "ERROR: Couldn't load sample!" -#~ msgstr "错误:无法加载音效!" - -#~ msgid "Add Sample" -#~ msgstr "添加音效" - -#~ msgid "Rename Sample" -#~ msgstr "重命名音效" - -#~ msgid "Delete Sample" -#~ msgstr "删除音效" - -#~ msgid "16 Bits" -#~ msgstr "16位" - -#~ msgid "8 Bits" -#~ msgstr "8位" - -#~ msgid "Stereo" -#~ msgstr "立体声" - -#~ msgid "Scaling to %s%%." -#~ msgstr "缩放到%s%%。" - -#~ msgid "Bucket" -#~ msgstr "桶(Bucket)" - -#~ msgid "Invalid project path, the path must exist!" -#~ msgstr "项目目录不存在!" - -#~ msgid "Invalid project path, project.godot must not exist." -#~ msgstr "项目目录下不能包含project.godot文件。" - -#~ msgid "Invalid project path, project.godot must exist." -#~ msgstr "项目目录下必须包含project.godot文件。" - -#~ msgid "Project Path (Must Exist):" -#~ msgstr "项目目录(必须存在):" - -#~ msgid "Create New Resource" -#~ msgstr "创建资源" - -#~ msgid "Open Resource" -#~ msgstr "打开资源" - -#~ msgid "Save Resource" -#~ msgstr "保存资源" - -#~ msgid "Resource Tools" -#~ msgstr "资源工具" - -#~ msgid "Edit Groups" -#~ msgstr "编辑分组" - -#~ msgid "Tiles" -#~ msgstr "砖块(Tiles)" - -#~ msgid "Areas" -#~ msgstr "区域" - -#~ msgid "Ctrl+" -#~ msgstr "Ctrl+" - -#~ msgid "Down Wheel)" -#~ msgstr "下轮)" - -#~ msgid "Up Wheel)" -#~ msgstr "上轮)" - -#~ msgid "Close scene? (Unsaved changes will be lost)" -#~ msgstr "确定要关闭场景吗?(未保存的修改将丢失)" - -#~ msgid "" -#~ "Open Project Manager? \n" -#~ "(Unsaved changes will be lost)" -#~ msgstr "" -#~ "退出到项目管理窗口?\n" -#~ "(未保存的修改将丢失)" - -#~ msgid "Close Goto Prev. Scene" -#~ msgstr "关闭并前往上一个场景" - -#~ msgid "Del" -#~ msgstr "删除" - -#~ msgid "just pressed" -#~ msgstr "正好按下" - -#~ msgid "" -#~ "Couldn't read the certificate file. Are the path and password both " -#~ "correct?" -#~ msgstr "无法读取证书文件。路径和密码是否都正确?" - -#~ msgid "Error creating the package signature." -#~ msgstr "创建包(PCK)签名时出错。" - -#~ msgid "RAW Mode" -#~ msgstr "RAW模式" - -#~ msgid "Node From Scene" -#~ msgstr "从场景导入节点" - -#~ msgid "Import assets to the project." -#~ msgstr "导入资源。" - -#~ msgid "Export the project to many platforms." -#~ msgstr "导出项目到多个平台。" - -#~ msgid "Alerts when an external resource has changed." -#~ msgstr "外部资源改变后弹出提示。" - -#~ msgid "Open https://godotengine.org at tutorials section." -#~ msgstr "打开 https://godotengine.org 中的教程." - -#~ msgid "No scene selected to instance!" -#~ msgstr "没有选用要实例化的场景!" - -#~ msgid "Instance at Cursor" -#~ msgstr "光标处实例" - -#~ msgid "Use Default Light" -#~ msgstr "使用默认光照" - -#~ msgid "Default Light Normal:" -#~ msgstr "默认光照法线:" - -#~ msgid "Ambient Light Color:" -#~ msgstr "环境光颜色:" - -#~ msgid "Invalid parent class name" -#~ msgstr "基类名称非法" - -#~ msgid "Valid chars:" -#~ msgstr "合法的字符:" - -#~ msgid "Valid name" -#~ msgstr "名称可用" - -#~ msgid "Class name is invalid!" -#~ msgstr "类名非法!" - -#~ msgid "Parent class name is invalid!" -#~ msgstr "基类名称非法!" - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "path属性必须指向一个合法的Particles2D节点才能正常工作。" - -#~ msgid "Surface" -#~ msgstr "表面" - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SamplePlayer to play sound." -#~ msgstr "" -#~ "SampleLibrary类型的资源必须是通过SamplePlayer类型节点的samples属性创建的," -#~ "这样的资源才能用于播放声音。" - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SpatialSamplePlayer to play sound." -#~ msgstr "" -#~ "SampleLibrary类型的资源必须通过SpatialSamplePlayer节点的'samples'属性创建" -#~ "才能正常播放声音。" - -#~ msgid "Replaced %d Ocurrence(s)." -#~ msgstr "替换了%d项。" - -#~ msgid "Save Translatable Strings" -#~ msgstr "保存可翻译字符串" - -#~ msgid "Edit Script Options" -#~ msgstr "脚本编辑器选项" - -#~ msgid "Error exporting project!" -#~ msgstr "导出项目出错!" - -#~ msgid "Error writing the project PCK!" -#~ msgstr "写入项目PCK文件出错!" - -#~ msgid "No exporter for platform '%s' yet." -#~ msgstr "没有针对'%s'平台的导出模板。" - -#~ msgid "Create Android keystore" -#~ msgstr "创建 Android 的密钥库" - -#~ msgid "Organizational unit" -#~ msgstr "组织单元" - -#~ msgid "Organization" -#~ msgstr "组织" - -#~ msgid "City" -#~ msgstr "城市(City)" - -#~ msgid "2 letter country code" -#~ msgstr "2个字母的国家代码" - -#~ msgid "User alias" -#~ msgstr "用户别名" - -#~ msgid "Password" -#~ msgstr "密码" - -#~ msgid "at least 6 characters" -#~ msgstr "至少6个字符" - -#~ msgid "File name" -#~ msgstr "文件名" - -#~ msgid "Path : (better to save outside of project)" -#~ msgstr "路径:(更好的保存项目外)" - -#~ msgid "" -#~ "Release keystore is not set.\n" -#~ "Do you want to create one?" -#~ msgstr "" -#~ "未设置发布密钥库。\n" -#~ "您要创建一个吗?" - -#~ msgid "Fill Keystore/Release User and Release Password" -#~ msgstr "填写密钥库/发布用户和发布密码" - -#~ msgid "Include" -#~ msgstr "包含" - -#~ msgid "Group name can't be empty!" -#~ msgstr "分组名称不能为空!" - -#~ msgid "Invalid character in group name!" -#~ msgstr "分组名称中包含非法字符!" - -#~ msgid "Add Image Group" -#~ msgstr "添加图片分组" - -#~ msgid "Project Export Settings" -#~ msgstr "项目导出设置" - -#~ msgid "Export to Platform" -#~ msgstr "导出到平台" - -#~ msgid "Export all files in the project directory." -#~ msgstr "导出项目目录下的所有文件。" - -#~ msgid "Convert text scenes to binary on export." -#~ msgstr "导出时将文本场景写入二进制文件。" - -#~ msgid "Images" -#~ msgstr "图片" - -#~ msgid "Keep Original" -#~ msgstr "保持原样" - -#~ msgid "Compress for Disk (Lossy, WebP)" -#~ msgstr "节省磁盘空间(有损压缩,WebP)" - -#~ msgid "Compress for RAM (BC/PVRTC/ETC)" -#~ msgstr "节省内存(BC/PVRTC/ETC)" - -#~ msgid "Convert Images (*.png):" -#~ msgstr "转换图片(*.png):" - -#~ msgid "Compress for Disk (Lossy) Quality:" -#~ msgstr "高质量(有损)节省磁盘空间:" - -#~ msgid "Shrink All Images:" -#~ msgstr "收缩所有图片:" - -#~ msgid "Compress Formats:" -#~ msgstr "压缩格式:" - -#~ msgid "Groups:" -#~ msgstr "分组:" - -#~ msgid "Compress Disk" -#~ msgstr "节省磁盘空间" - -#~ msgid "Compress RAM" -#~ msgstr "节省内存" - -#~ msgid "Compress Mode:" -#~ msgstr "压缩方式:" - -#~ msgid "Lossy Quality:" -#~ msgstr "图片质量:" - -#~ msgid "Shrink By:" -#~ msgstr "收缩方式:" - -#~ msgid "Images:" -#~ msgstr "图片:" - -#~ msgid "Sample Conversion Mode: (.wav files):" -#~ msgstr "音效转换方式(.wav文件):" - -#~ msgid "Compress (RAM - IMA-ADPCM)" -#~ msgstr "压缩(RAM - IMA-ADPCM)" - -#~ msgid "Sampling Rate Limit (Hz):" -#~ msgstr "采样率(Hz):" - -#~ msgid "Trim" -#~ msgstr "修剪" - -#~ msgid "Trailing Silence:" -#~ msgstr "尾随沉默(Trailing Silence):" - -#~ msgid "Export Project PCK" -#~ msgstr "导出项目PCK文件" - -#~ msgid "Project Export" -#~ msgstr "项目导出" - -#~ msgid "BakedLightInstance does not contain a BakedLight resource." -#~ msgstr "BakedLightInstance未包含BakedLight资源。" - -#~ msgid "Lighting" -#~ msgstr "光照" - -#~ msgid "Global" -#~ msgstr "全局" - -#~ msgid "" -#~ "This item cannot be made visible because the parent is hidden. Unhide the " -#~ "parent first." -#~ msgstr "无法显示此节点,请先取消隐藏其父节点。" - -#~ msgid "" -#~ "Paths cannot start with '/', absolute paths must start with 'res://', " -#~ "'user://', or 'local://'" -#~ msgstr "" -#~ "路径不能以'/'符号打头,绝对路径必须以'res://'、'user://'或者'local://'打头" - -#~ msgid "File exists" -#~ msgstr "文件已存在" - -#~ msgid "Valid path" -#~ msgstr "路径可用" - -#~ msgid "Cannot go into subdir:" -#~ msgstr "无法打开目录:" - -#~ msgid "Perspective (Num5)" -#~ msgstr "透视(Num5)" - -#~ msgid "Orthogonal (Num5)" -#~ msgstr "正交(Num5)" - -#~ msgid "Selection (F)" -#~ msgstr "选中项(F)" - -#, fuzzy -#~ msgid "Enable/Disable interpolation when looping animation." -#~ msgstr "启用/禁用循环" - -#~ msgid "Load Layout" -#~ msgstr "加载布局" - -#~ msgid "Scale Region Editor" -#~ msgstr "缩放区域编辑" - -#~ msgid "Inherit Scene" -#~ msgstr "继承场景" - -#~ msgid "Binds (Extra Params):" -#~ msgstr "绑定(附加参数):" - -#~ msgid "Method In Node:" -#~ msgstr "节点方法:" - -#~ msgid "Reload Tool Script (Soft)" -#~ msgstr "重新加载Tool脚本(Soft)" - -#~ msgid "Set Params" -#~ msgstr "设置参数" - -#~ msgid "Live Editing" -#~ msgstr "实时编辑" - -#~ msgid "File Server" -#~ msgstr "文件服务" - -#~ msgid "Deploy File Server Clients" -#~ msgstr "部署文件服务客户端" - -#~ msgid "Keep Existing, Merge with New" -#~ msgstr "保留已有,与新的合并。" - -#~ msgid "Keep Existing, Ignore New" -#~ msgstr "保留已有,忽略新的。" - -#~ msgid "" -#~ "NOTICE: You are not forced to import textures for 2D projects. Just copy " -#~ "your .jpg or .png files to your project, and change export options later. " -#~ "Atlases can be generated on export too." -#~ msgstr "" -#~ "注意:对于大多数2D纹理图片,一般不需要导入操作。只需要将.jpg或.png文件放到" -#~ "项目目录下,并存导出选项即可。精灵集也可以在导出时生成。" diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po index a3c6a8fa3d..57f48a4981 100644 --- a/editor/translations/zh_HK.po +++ b/editor/translations/zh_HK.po @@ -1,6 +1,6 @@ # Chinese (Hong Kong) translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Wesley (zx-wt) <ZX_WT@ymail.com>, 2016-2017, 2020. # cnieFIT <dtotncq@gmail.com>, 2019. @@ -2194,16 +2194,32 @@ msgstr "選擇模式" msgid "Theme Properties" msgstr "篩選:" -#: editor/editor_help.cpp -#, fuzzy -msgid "Enumerations" -msgstr "翻譯:" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Constants" msgstr "常數" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "" + +#: editor/editor_help.cpp +#, fuzzy +msgid "Enumerations" +msgstr "翻譯:" + #: editor/editor_help.cpp #, fuzzy msgid "Property Descriptions" @@ -8854,18 +8870,6 @@ msgid "TextureRegion" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -msgid "Colors" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Fonts" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Icons" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" msgstr "" @@ -13742,7 +13746,12 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." msgstr "" #: platform/android/export/export_plugin.cpp @@ -13751,6 +13760,21 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" "'apksigner' could not be found.\n" "Please check the command is available in the Android SDK build-tools " "directory.\n" @@ -14774,561 +14798,3 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "" - -#, fuzzy -#~ msgid "Package Contents:" -#~ msgstr "內容:" - -#, fuzzy -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "全部取代" - -#, fuzzy -#~ msgid "Enabled Properties:" -#~ msgstr "篩選:" - -#, fuzzy -#~ msgid "Class Options" -#~ msgstr "描述:" - -#, fuzzy -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "資源加載失敗。" - -#, fuzzy -#~ msgid "Q&A" -#~ msgstr "Q&A" - -#~ msgid "Status:" -#~ msgstr "狀態:" - -#, fuzzy -#~ msgid "Edit:" -#~ msgstr "編輯" - -#, fuzzy -#~ msgid "Redownload" -#~ msgstr "重新下載" - -#~ msgid "(Installed)" -#~ msgstr "(已安裝)" - -#~ msgid "(Missing)" -#~ msgstr "(欠缺)" - -#, fuzzy -#~ msgid "Request Failed." -#~ msgstr "請求失敗。" - -#, fuzzy -#~ msgid "Redirect Loop." -#~ msgstr "重新定向循環。" - -#~ msgid "Download Complete." -#~ msgstr "下載完成。" - -#~ msgid "Remove Template" -#~ msgstr "移除Template" - -#~ msgid "Download Templates" -#~ msgstr "下載Templates" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "從清單中選擇鏡像: (Shift + 單擊: 在瀏覽器中打開)" - -#, fuzzy -#~ msgid "Move to Trash" -#~ msgstr "移動Autoload" - -#, fuzzy -#~ msgid "Copy Params" -#~ msgstr "複製參數" - -#, fuzzy -#~ msgid "Open in Help" -#~ msgstr "在幫助中開啓" - -#, fuzzy -#~ msgid "Theme File" -#~ msgstr "開啟檔案" - -#, fuzzy -#~ msgid "Templates" -#~ msgstr "移除選項" - -#, fuzzy -#~ msgid "Could not read boot splash image file:" -#~ msgstr "無法新增資料夾" - -#, fuzzy -#~ msgid "Using default boot splash image." -#~ msgstr "無法新增資料夾" - -#, fuzzy -#~ msgid "Clipboard is empty" -#~ msgstr "路徑為空" - -#~ msgid "No" -#~ msgstr "否" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "此場景從未儲存。要在運行前儲存嗎?" - -#~ msgid "Search complete" -#~ msgstr "搜尋完成" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "此位置已存在同名的檔案或資料夾。" - -#, fuzzy -#~ msgid "Error trying to save layout!" -#~ msgstr "儲存佈局時出現錯誤!" - -#, fuzzy -#~ msgid "Move pivot" -#~ msgstr "上移" - -#, fuzzy -#~ msgid "Move anchor" -#~ msgstr "移動模式" - -#, fuzzy -#~ msgid "Add initial export..." -#~ msgstr "新增訊號" - -#, fuzzy -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "刪除" - -#, fuzzy -#~ msgid "Patches" -#~ msgstr "吻合" - -#, fuzzy -#~ msgid "Pack File" -#~ msgstr "檔案" - -#, fuzzy -#~ msgid "FileSystem and Import Docks" -#~ msgstr "檔案系統" - -#, fuzzy -#~ msgid "Clear Script" -#~ msgstr "下一個腳本" - -#, fuzzy -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "取代了 %d 個。" - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "簡述:" - -#, fuzzy -#~ msgid "Class Description" -#~ msgstr "描述:" - -#~ msgid "Password:" -#~ msgstr "密碼:" - -#~ msgid "Pause the scene" -#~ msgstr "暫停場景" - -#~ msgid "Shift+" -#~ msgstr "Shift+" - -#~ msgid "Alt+" -#~ msgstr "Alt+" - -#~ msgid "Language" -#~ msgstr "語言" - -#, fuzzy -#~ msgid "Methods:" -#~ msgstr "選擇模式" - -#, fuzzy -#~ msgid "Theme Properties:" -#~ msgstr "篩選:" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "描述:" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "簡述:" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "描述:" - -#, fuzzy -#~ msgid "Reverse sorting." -#~ msgstr "請求中..." - -#, fuzzy -#~ msgid "Error: could not load file." -#~ msgstr "無法新增資料夾" - -#~ msgid "Doppler Enable" -#~ msgstr "啟用多普拉效應" - -#, fuzzy -#~ msgid "Select Mode (Q)" -#~ msgstr "選擇模式" - -#, fuzzy -#~ msgid "Snap Mode (%s)" -#~ msgstr "選擇模式" - -#, fuzzy -#~ msgid "Tool Select" -#~ msgstr "所有選項" - -#~ msgid "Exit" -#~ msgstr "離開" - -#~ msgid "Unknown font format." -#~ msgstr "字形格式不明" - -#~ msgid "Error loading font." -#~ msgstr "載入字形出現錯誤" - -#~ msgid "Invalid font size." -#~ msgstr "無效字型" - -#, fuzzy -#~ msgid "Previous Folder" -#~ msgstr "上一個tab" - -#, fuzzy -#~ msgid "Next Folder" -#~ msgstr "新增資料夾" - -#, fuzzy -#~ msgid "Open in an external image editor." -#~ msgstr "要離開編輯器嗎?" - -#, fuzzy -#~ msgid "Failed to create solution." -#~ msgstr "資源加載失敗。" - -#, fuzzy -#~ msgid "Failed to save solution." -#~ msgstr "資源加載失敗。" - -#, fuzzy -#~ msgid "Failed to create C# project." -#~ msgstr "資源加載失敗。" - -#, fuzzy -#~ msgid "Create C# solution" -#~ msgstr "縮放selection" - -#, fuzzy -#~ msgid "View log" -#~ msgstr "檔案" - -#~ msgid "Update Always" -#~ msgstr "不停更新" - -#~ msgid "Delete selected files?" -#~ msgstr "要刪除選中檔案?" - -#, fuzzy -#~ msgid "Go to parent folder" -#~ msgstr "無法新增資料夾" - -#, fuzzy -#~ msgid "Open Scene(s)" -#~ msgstr "開啓場景" - -#, fuzzy -#~ msgid "Ease in" -#~ msgstr "縮放selection" - -#, fuzzy -#~ msgid "Create folder" -#~ msgstr "新增資料夾" - -#, fuzzy -#~ msgid "Invalid Path" -#~ msgstr "有效的路徑" - -#, fuzzy -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "複製 Selection" - -#, fuzzy -#~ msgid "Create Area" -#~ msgstr "新增" - -#, fuzzy -#~ msgid "Line:" -#~ msgstr "行:" - -#~ msgid "Col:" -#~ msgstr "列:" - -#, fuzzy -#~ msgid "Add Split" -#~ msgstr "新增訊號" - -#, fuzzy -#~ msgid "Invalid Split: " -#~ msgstr "有效的路徑" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "只限選中" - -#, fuzzy -#~ msgid "Add Node.." -#~ msgstr "新增節點" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "縮小" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "放大" - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "放大" - -#, fuzzy -#~ msgid "Public Methods" -#~ msgstr "選擇模式" - -#, fuzzy -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "(不)顯示最愛" - -#, fuzzy -#~ msgid "Show current scene file." -#~ msgstr "新增資料夾" - -#, fuzzy -#~ msgid "Whole words" -#~ msgstr "完整詞語" - -#, fuzzy -#~ msgid "Match case" -#~ msgstr "符合大小寫" - -#~ msgid "Ok" -#~ msgstr "Ok" - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "儲存TileSet時出現錯誤!" - -#, fuzzy -#~ msgid "Convert To Uppercase" -#~ msgstr "轉為..." - -#, fuzzy -#~ msgid "Convert To Lowercase" -#~ msgstr "轉為..." - -#~ msgid "Errors:" -#~ msgstr "錯誤:" - -#~ msgid "Move Anim Track Up" -#~ msgstr "動畫軌跡上移" - -#~ msgid "Move Anim Track Down" -#~ msgstr "動畫軌跡下移" - -#~ msgid "Set Transitions to:" -#~ msgstr "將過渡設到:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "動畫軌跡變化Interpolation" - -#~ msgid "Edit Selection Curve" -#~ msgstr "編輯Selection Curve" - -#~ msgid "Anim Add Key" -#~ msgstr "新增動畫幀" - -#~ msgid "Length (s):" -#~ msgstr "時長(秒):" - -#, fuzzy -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "開/關動畫循環。" - -#~ msgid "Add new tracks." -#~ msgstr "新增軌迹。" - -#, fuzzy -#~ msgid "Move current track up." -#~ msgstr "上移現在的軌迹。" - -#, fuzzy -#~ msgid "Move current track down." -#~ msgstr "下移現在的軌迹。" - -#, fuzzy -#~ msgid "Track tools" -#~ msgstr "動畫軌迹工具" - -#, fuzzy -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "啟用單擊編輯各個關鍵幀的功能。" - -#, fuzzy -#~ msgid "Key" -#~ msgstr "關鍵幀" - -#~ msgid "Thanks!" -#~ msgstr "多謝!" - -#, fuzzy -#~ msgid "Ugh" -#~ msgstr "嗯......" - -#~ msgid "Run Script" -#~ msgstr "運行腳本" - -#, fuzzy -#~ msgid "Default (Same as Editor)" -#~ msgstr "預設()" - -#, fuzzy -#~ msgid "Copy Animation" -#~ msgstr "複製動畫" - -#~ msgid "prev" -#~ msgstr "上一頁" - -#~ msgid "next" -#~ msgstr "下一頁" - -#~ msgid "last" -#~ msgstr "尾頁" - -#, fuzzy -#~ msgid "Set pivot at mouse position" -#~ msgstr "只限選中" - -#~ msgid "OK :(" -#~ msgstr "OK :(" - -#, fuzzy -#~ msgid "Edit Signal" -#~ msgstr "連接" - -#, fuzzy -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "不能連到主機:" - -#, fuzzy -#~ msgid "Can't write file." -#~ msgstr "無法新增資料夾" - -#, fuzzy -#~ msgid "Replace By" -#~ msgstr "由這個取代" - -#, fuzzy -#~ msgid "Backwards" -#~ msgstr "向後" - -#, fuzzy -#~ msgid "Prompt On Replace" -#~ msgstr "取代時詢問我" - -#~ msgid "Skip" -#~ msgstr "跳過" - -#, fuzzy -#~ msgid "Move Add Key" -#~ msgstr "移動" - -#, fuzzy -#~ msgid "" -#~ "\n" -#~ "Source: " -#~ msgstr "來源:" - -#~ msgid "Meta+" -#~ msgstr "Meta+" - -#, fuzzy -#~ msgid "Setting '" -#~ msgstr "設定" - -#, fuzzy -#~ msgid "Live Scene Tree:" -#~ msgstr "儲存場景" - -#, fuzzy -#~ msgid "Selection -> Duplicate" -#~ msgstr "只限選中" - -#, fuzzy -#~ msgid "Selection -> Clear" -#~ msgstr "只限選中" - -#~ msgid "Added:" -#~ msgstr "已加入:" - -#, fuzzy -#~ msgid "Tiles" -#~ msgstr "檔案" - -#~ msgid "Ctrl+" -#~ msgstr "Ctrl+" - -#~ msgid "" -#~ "Open Project Manager? \n" -#~ "(Unsaved changes will be lost)" -#~ msgstr "回到專案管理器?(未儲存的更改將會消失)" - -#~ msgid "Valid name" -#~ msgstr "有效名稱" - -#~ msgid "Edit Script Options" -#~ msgstr "編輯腳本選項" - -#, fuzzy -#~ msgid "Create Android keystore" -#~ msgstr "新增資料夾" - -#, fuzzy -#~ msgid "Organization" -#~ msgstr "本地化" - -#, fuzzy -#~ msgid "Password" -#~ msgstr "密碼:" - -#, fuzzy -#~ msgid "at least 6 characters" -#~ msgstr "有效字符:" - -#~ msgid "Include" -#~ msgstr "包括" - -#~ msgid "Images" -#~ msgstr "圖片" - -#~ msgid "Keep Original" -#~ msgstr "保持原貌" - -#~ msgid "Images:" -#~ msgstr "圖片:" - -#~ msgid "File exists" -#~ msgstr "檔案已存在" - -#~ msgid "Valid path" -#~ msgstr "有效路徑" - -#~ msgid "Cannot go into subdir:" -#~ msgstr "無法進入次要資料夾" diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po index a251712cb1..3fb64fc387 100644 --- a/editor/translations/zh_TW.po +++ b/editor/translations/zh_TW.po @@ -1,6 +1,6 @@ # Chinese (Taiwan) translation of the Godot Engine editor -# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Allen H <w84miracle@gmail.com>, 2017. # Billy SU <g4691821@gmail.com>, 2018. @@ -27,12 +27,13 @@ # MintSoda <lionlxh@qq.com>, 2020. # meowmeowmeowcat <meowmeowcat1211@gmail.com>, 2021. # anthonychen <anton1554970211@126.com>, 2021. +# Chia-Hsiang Cheng <cche0109@student.monash.edu>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-11-11 16:02+0000\n" +"PO-Revision-Date: 2021-12-14 15:28+0000\n" "Last-Translator: anthonychen <anton1554970211@126.com>\n" "Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hant/>\n" @@ -41,7 +42,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.9.1-dev\n" +"X-Generator: Weblate 4.10-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -404,7 +405,7 @@ msgstr "AnimationPlayer 不能播放自己,只可播放其他 Player。" #. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. #: editor/animation_track_editor.cpp msgid "property '%s'" -msgstr "屬性「%s」不存在。" +msgstr "屬性「%s」" #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" @@ -609,9 +610,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" @@ -952,7 +952,6 @@ msgid "Edit..." msgstr "編輯…" #: editor/connections_dialog.cpp -#, fuzzy msgid "Go to Method" msgstr "跳至方法" @@ -1074,17 +1073,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" -"移除的檔案可在稍後於系統資源回收桶內找到。" +"取決於您的檔案系統設定,檔案將移至系統資源回收桶或是永久刪除。" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" @@ -1094,7 +1091,7 @@ msgid "" msgstr "" "有其他資源需要正在刪除的檔案才能正常運作。\n" "依然要移除嗎?(無法復原)\n" -"移除的檔案可在稍後於系統資源回收桶內找到。" +"取決於您的檔案系統設定,檔案將移至系統資源回收桶或是永久刪除。" #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -1262,41 +1259,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 "與其他 %d 個檔案。" +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 @@ -1308,9 +1300,8 @@ msgid "Install" msgstr "安裝" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Asset Installer" -msgstr "套件安裝程式" +msgstr "素材安裝程式" #: editor/editor_audio_buses.cpp msgid "Speakers" @@ -1373,7 +1364,6 @@ msgid "Bypass" msgstr "忽略效果" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Bus Options" msgstr "匯流排選項" @@ -1541,13 +1531,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" @@ -1571,9 +1560,8 @@ msgid "Name" msgstr "名稱" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Global Variable" -msgstr "重新命名變數" +msgstr "全域變數" #: editor/editor_data.cpp msgid "Paste Params" @@ -1743,48 +1731,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 '.'" @@ -1815,19 +1802,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." @@ -1844,23 +1828,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:" @@ -1880,18 +1861,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:" @@ -1918,7 +1897,6 @@ msgid "Select Current Folder" msgstr "選擇目前資料夾" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "File exists, overwrite?" msgstr "檔案已存在,是否覆蓋?" @@ -2124,14 +2102,30 @@ msgstr "方法" msgid "Theme Properties" msgstr "主題屬性" -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "列舉類型" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Colors" +msgstr "顏色" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" msgstr "常數" +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Fonts" +msgstr "字體" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Icons" +msgstr "圖示" + +#: editor/editor_help.cpp +msgid "Styles" +msgstr "樣式" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "列舉類型" + #: editor/editor_help.cpp msgid "Property Descriptions" msgstr "屬性說明" @@ -2314,6 +2308,8 @@ msgid "" "Update Continuously is enabled, which can increase power usage. Click to " "disable it." msgstr "" +"當編輯器視窗重新繪製時旋轉。\n" +"已啟用持續更新,耗電量將增加。點擊以停用。" #: editor/editor_node.cpp msgid "Spins when the editor window redraws." @@ -2406,9 +2402,8 @@ msgid "" msgstr "無法保存場景。可能是由於相依性(實體或繼承)無法滿足。" #: editor/editor_node.cpp -#, fuzzy msgid "Could not save one or more scenes!" -msgstr "無法啟動子處理程序!" +msgstr "無法保存一或多個場景!" #: editor/editor_node.cpp msgid "Save All Scenes" @@ -2544,20 +2539,19 @@ msgstr "關閉前是否保存對「%s」的更改?" #: editor/editor_node.cpp msgid "%s no longer exists! Please specify a new save location." -msgstr "" +msgstr "%s不存在!請指定新的保存位置。" #: editor/editor_node.cpp 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..." @@ -2589,29 +2583,27 @@ msgstr "尚未保存目前場景。仍然要開啟嗎?" #: editor/editor_node.cpp msgid "Can't undo while mouse buttons are pressed." -msgstr "" +msgstr "當滑鼠按鍵被按下時無法復原。" #: editor/editor_node.cpp msgid "Nothing to undo." -msgstr "" +msgstr "無變更以復原。" #: editor/editor_node.cpp -#, fuzzy msgid "Undo: %s" -msgstr "復原" +msgstr "復原:%s" #: editor/editor_node.cpp msgid "Can't redo while mouse buttons are pressed." -msgstr "" +msgstr "當滑鼠按鍵按下時無法復原。" #: editor/editor_node.cpp msgid "Nothing to redo." -msgstr "" +msgstr "無變更以復原。" #: editor/editor_node.cpp -#, fuzzy msgid "Redo: %s" -msgstr "取消復原" +msgstr "取消復原:%s" #: editor/editor_node.cpp msgid "Can't reload a scene that was never saved." @@ -2692,12 +2684,13 @@ msgid "Unable to load addon script from path: '%s'." msgstr "無法自路徑「%s」載入擴充腳本。" #: editor/editor_node.cpp -#, fuzzy msgid "" "Unable to load addon script from path: '%s'. This might be due to a code " "error in that script.\n" "Disabling the addon at '%s' to prevent further errors." -msgstr "無法自路徑「%s」載入擴充腳本。可能為程式碼中有錯誤,請檢查語法。" +msgstr "" +"無法自路徑「%s」載入擴充腳本。該腳本可能有程式碼錯誤。\n" +"將停用擴充套件'%s'以避免進一步的錯誤。" #: editor/editor_node.cpp msgid "" @@ -2949,9 +2942,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" @@ -3099,13 +3091,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" @@ -3113,7 +3104,7 @@ msgstr "回報錯誤" #: editor/editor_node.cpp msgid "Suggest a Feature" -msgstr "" +msgstr "提出功能建議" #: editor/editor_node.cpp msgid "Send Docs Feedback" @@ -3124,9 +3115,8 @@ msgid "Community" msgstr "社群" #: editor/editor_node.cpp -#, fuzzy msgid "About Godot" -msgstr "關於" +msgstr "關於Godot" #: editor/editor_node.cpp msgid "Support Godot Development" @@ -3218,14 +3208,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 "" @@ -3271,9 +3259,8 @@ msgid "Merge With Existing" msgstr "與現有的合併" #: editor/editor_node.cpp -#, fuzzy msgid "Apply MeshInstance Transforms" -msgstr "更改動畫變換" +msgstr "套用MeshInstance變換" #: editor/editor_node.cpp msgid "Open & Run a Script" @@ -3310,9 +3297,8 @@ msgid "Select" msgstr "選擇" #: editor/editor_node.cpp -#, fuzzy msgid "Select Current" -msgstr "選擇目前資料夾" +msgstr "選擇目前項目" #: editor/editor_node.cpp msgid "Open 2D Editor" @@ -3347,9 +3333,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" @@ -3376,12 +3361,10 @@ msgid "Update" msgstr "更新" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Version" -msgstr "版本:" +msgstr "版本" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Author" msgstr "作者" @@ -3396,14 +3379,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 %" @@ -3430,6 +3411,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 #:" @@ -3530,7 +3516,7 @@ msgstr "所選資源(%s)不符合任該屬性(%s)的任何型別。" #: editor/editor_resource_picker.cpp msgid "Quick Load" -msgstr "" +msgstr "快速載入" #: editor/editor_resource_picker.cpp editor/property_editor.cpp msgid "Make Unique" @@ -3551,7 +3537,6 @@ msgid "Paste" msgstr "貼上" #: editor/editor_resource_picker.cpp editor/property_editor.cpp -#, fuzzy msgid "Convert to %s" msgstr "轉換為 %s" @@ -3601,9 +3586,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" @@ -3623,49 +3607,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 @@ -3673,18 +3651,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:" @@ -3703,13 +3679,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 "" @@ -3760,24 +3735,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 "樣板 %s 中的 version.txt 格式無效。" +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" @@ -3788,9 +3759,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" @@ -3806,68 +3776,61 @@ 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 "在瀏覽器中執行" +msgstr "在瀏覽器中開啟" #: editor/export_template_manager.cpp -#, fuzzy msgid "Copy Mirror URL" -msgstr "複製錯誤" +msgstr "複製鏡像URL" #: 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 "開發建置 (Development Build) 下無法使用官方匯出樣板。" #: 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 @@ -3875,19 +3838,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" @@ -3902,6 +3862,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" @@ -3914,7 +3876,7 @@ msgstr "狀態:檔案匯入失敗。請修正檔案並手動重新匯入。" #: editor/filesystem_dock.cpp msgid "" "Importing has been disabled for this file, so it can't be opened for editing." -msgstr "" +msgstr "已停止匯入該檔案,所以無法將其開啟編輯。" #: editor/filesystem_dock.cpp msgid "Cannot move/rename resources root." @@ -4044,35 +4006,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..." @@ -4084,7 +4043,7 @@ msgstr "重新命名..." #: editor/filesystem_dock.cpp msgid "Focus the search box" -msgstr "" +msgstr "聚焦搜尋框" #: editor/filesystem_dock.cpp msgid "Previous Folder/File" @@ -4369,6 +4328,9 @@ msgid "" "Selecting another resource in the FileSystem dock without clicking Reimport " "first will discard changes made in the Import dock." msgstr "" +"仍有未套用的變更。請點選「重新匯入」以套用匯入選項的變更。\n" +"若未先點選「重新匯入」而選擇另一個檔案系統停佇列中的資源,匯入停佇列中的變更" +"將遺失。" #: editor/import_dock.cpp msgid "Import As:" @@ -4396,14 +4358,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" @@ -4428,23 +4388,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." @@ -4459,9 +4416,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" @@ -4472,9 +4428,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!" @@ -4717,9 +4672,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 @@ -5441,11 +5395,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..." @@ -5489,7 +5443,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 "" @@ -5500,12 +5454,12 @@ msgstr "" "請保存場景並重試。" #: editor/plugins/baked_lightmap_editor_plugin.cpp -#, fuzzy msgid "" "No meshes to bake. Make sure they contain an UV2 channel and that the 'Use " "In Baked Light' and 'Generate Lightmap' flags are on." msgstr "" -"無可烘焙之網格。請確保這些網格包含 UV2 通道並已開啟「Bake Light」旗標。" +"無可烘焙之網格。請確保這些網格包含 UV2 通道並已開啟「Use In Baked Light」和 " +"「Generate Lightmap」旗標。" #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "Failed creating lightmap images, make sure path is writable." @@ -5522,11 +5476,9 @@ msgid "" msgstr "部分網格無效。請確保 UV2 通道的值位於 [0.0,1.0] 矩形內。" #: editor/plugins/baked_lightmap_editor_plugin.cpp -#, fuzzy msgid "" "Godot editor was built without ray tracing support, lightmaps can't be baked." -msgstr "" -"Godot 編輯器在建制時未啟用光線追蹤 (Ray Tracing) 支援,無法烘焙光照圖。" +msgstr "Godot 編輯器在建構時未支援光線追蹤 (Ray Tracing) ,無法烘焙光照圖。" #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "Bake Lightmaps" @@ -5643,15 +5595,13 @@ msgstr "移動 CanvasItem「%s」至 (%d, %d)" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Locked" -msgstr "鎖定所選" +msgstr "已鎖定" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Grouped" -msgstr "群組" +msgstr "已組成群組" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" @@ -5751,13 +5701,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 @@ -5766,6 +5715,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 @@ -5831,31 +5782,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 @@ -6091,14 +6036,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" @@ -6114,49 +6057,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" @@ -6268,7 +6205,7 @@ msgstr "發射色彩" #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" -msgstr "CPUParticles" +msgstr "CPU粒子" #: editor/plugins/cpu_particles_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp @@ -6282,11 +6219,11 @@ msgstr "自節點建立發射點" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat 0" -msgstr "Flat 0" +msgstr "平面0" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat 1" -msgstr "Flat 1" +msgstr "平面1" #: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp msgid "Ease In" @@ -6401,9 +6338,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" @@ -6438,9 +6374,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!" @@ -6504,9 +6439,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 "" @@ -6514,20 +6448,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" -"這是效能位於上面兩個方法中間的選項。" +"建立基於多邊形的碰撞形狀。\n" +"其效能介於單一凸型碰撞和多邊形碰撞之間。" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh..." @@ -6592,14 +6527,12 @@ msgid "Remove Selected Item" msgstr "移除所選項目" #: editor/plugins/mesh_library_editor_plugin.cpp -#, fuzzy msgid "Import from Scene (Ignore Transforms)" -msgstr "自場景匯入" +msgstr "自場景匯入(無視變換)" #: editor/plugins/mesh_library_editor_plugin.cpp -#, fuzzy msgid "Import from Scene (Apply Transforms)" -msgstr "自場景匯入" +msgstr "自場景匯入(套用變換)" #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Update from Scene" @@ -7166,37 +7099,31 @@ msgstr "載入資源" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "ResourcePreloader" -msgstr "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/room_manager_editor_plugin.cpp -#, fuzzy msgid "Occluder Set Transform" -msgstr "清除變換" +msgstr "遮擋物集變換" #: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy msgid "Center Node" -msgstr "建立節點" +msgstr "中心節點" #: editor/plugins/root_motion_editor_plugin.cpp msgid "AnimationTree has no path set to an AnimationPlayer" @@ -7330,12 +7257,10 @@ msgid "Move Down" msgstr "下移" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Next Script" msgstr "下一個腳本" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Previous Script" msgstr "上一個腳本" @@ -7650,7 +7575,7 @@ msgstr "跳至函式..." #: editor/plugins/script_text_editor.cpp msgid "Go to Line..." -msgstr "跳至第...行" +msgstr "跳至行..." #: editor/plugins/script_text_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -7698,14 +7623,12 @@ msgid "Skeleton2D" msgstr "Sekeleton2D" #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Reset to Rest Pose" -msgstr "設定骨骼為靜止姿勢" +msgstr "重新設定為靜止姿勢" #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Overwrite Rest Pose" -msgstr "複寫" +msgstr "覆蓋靜止姿勢" #: editor/plugins/skeleton_editor_plugin.cpp msgid "Create physical bones" @@ -7732,74 +7655,62 @@ msgid "Perspective" msgstr "透視" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Top Orthogonal" -msgstr "正交" +msgstr "正交上視圖" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Top Perspective" -msgstr "透視" +msgstr "透視上視圖" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Bottom Orthogonal" -msgstr "正交" +msgstr "正交下視圖" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Bottom Perspective" -msgstr "透視" +msgstr "透視下視圖" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Left Orthogonal" -msgstr "正交" +msgstr "正交左視圖" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Left Perspective" -msgstr "透視" +msgstr "透視左視圖" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Right Orthogonal" -msgstr "正交" +msgstr "正交右視圖" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Right Perspective" -msgstr "透視" +msgstr "透視右視圖" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Front Orthogonal" -msgstr "正交" +msgstr "正交前視圖" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Front Perspective" -msgstr "透視" +msgstr "透視前視圖" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Rear Orthogonal" -msgstr "正交" +msgstr "正交後視圖" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Rear Perspective" -msgstr "透視" +msgstr "透視後視圖" #. TRANSLATORS: This will be appended to the view name when Auto Orthogonal is enabled. #: editor/plugins/spatial_editor_plugin.cpp msgid " [auto]" -msgstr "" +msgstr " [自動]" #. TRANSLATORS: This will be appended to the view name when Portal Occulusion is enabled. #: editor/plugins/spatial_editor_plugin.cpp msgid " [portals active]" -msgstr "" +msgstr " [入口生效]" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Aborted." @@ -7828,20 +7739,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: " @@ -7864,52 +7772,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." @@ -8044,9 +7944,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" @@ -8066,9 +7965,8 @@ msgstr "" "無法實際反映為遊戲中的效能。" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Convert Rooms" -msgstr "轉換為 %s" +msgstr "轉換空間" #: editor/plugins/spatial_editor_plugin.cpp msgid "XForm Dialog" @@ -8089,9 +7987,8 @@ msgstr "" "半開眼鏡:Gizmo 也可以通過 Opaque Surface(「X-Ray - X光」)可見。" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Snap Nodes to Floor" -msgstr "吸附節點至地面" +msgstr "移動節點至地面" #: editor/plugins/spatial_editor_plugin.cpp msgid "Couldn't find a solid floor to snap the selection to." @@ -8107,7 +8004,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" @@ -8135,24 +8032,23 @@ msgstr "右視圖" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orbit View Down" -msgstr "" +msgstr "向下環視" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orbit View Left" -msgstr "" +msgstr "向左環視" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orbit View Right" -msgstr "" +msgstr "向右環視" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Orbit View Up" -msgstr "前視圖" +msgstr "向上環視" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orbit View 180" -msgstr "" +msgstr "180度環視" #: editor/plugins/spatial_editor_plugin.cpp msgid "Switch Perspective/Orthogonal View" @@ -8224,14 +8120,12 @@ msgid "View Grid" msgstr "顯示網格" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "View Portal Culling" -msgstr "檢視區設定" +msgstr "檢視入口剔除" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "View Occlusion Culling" -msgstr "檢視區設定" +msgstr "檢視遮擋剔除" #: editor/plugins/spatial_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp @@ -8299,9 +8193,8 @@ msgid "Post" msgstr "後置" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Unnamed Gizmo" -msgstr "未命名專案" +msgstr "未命名裝置" #: editor/plugins/sprite_editor_plugin.cpp msgid "Create Mesh2D" @@ -8377,7 +8270,7 @@ msgstr "建立 LightOccluder2D 同級" #: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" -msgstr "Sprite" +msgstr "拼合圖" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -8544,229 +8437,190 @@ msgid "Step:" msgstr "步驟:" #: editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Separation:" -msgstr "枚舉:" +msgstr "分隔:" #: editor/plugins/texture_region_editor_plugin.cpp 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 "篩選:" #: 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 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 "" @@ -8774,283 +8628,245 @@ 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 "" +"從列表中選擇一項主題類別以編輯其項目。\n" +"您可以加入自訂類別或從另一個主題中匯入類別及其項目。" #: 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 "" +"該主題類別無內容。\n" +"手動加入更多項目於其中或從另一個主題匯入。" #: 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 "介面主題項目" +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 "新增、移除、安排以及匯入主題項目。" #: 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" @@ -9085,7 +8901,6 @@ msgid "Checked Radio Item" msgstr "已選中的單選項" #: editor/plugins/theme_editor_preview.cpp -#, fuzzy msgid "Named Separator" msgstr "帶名稱的分隔線" @@ -9139,20 +8954,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" @@ -10507,12 +10321,11 @@ msgstr "(限片段/光照模式)(純量)加總「x」與「y」進行 #: editor/plugins/visual_shader_editor_plugin.cpp msgid "VisualShader" -msgstr "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" @@ -10636,9 +10449,8 @@ msgid "Script" msgstr "腳本" #: editor/project_export.cpp -#, fuzzy msgid "GDScript Export Mode:" -msgstr "腳本匯出模式:" +msgstr "GDScript匯出模式:" #: editor/project_export.cpp msgid "Text" @@ -10646,21 +10458,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 位元的 16 進位):" #: editor/project_export.cpp msgid "Export PCK/Zip" @@ -10732,9 +10542,8 @@ msgid "Imported Project" msgstr "已匯入的項目" #: editor/project_manager.cpp -#, fuzzy msgid "Invalid project name." -msgstr "無效的專案名。" +msgstr "無效的專案名稱。" #: editor/project_manager.cpp msgid "Couldn't create folder." @@ -10824,7 +10633,7 @@ msgstr "算繪引擎:" #: editor/project_manager.cpp msgid "OpenGL ES 3.0" -msgstr "OpenGL ES 3.0" +msgstr "OpenGL ES 3.0版本" #: editor/project_manager.cpp msgid "Not supported by your GPU drivers." @@ -10844,7 +10653,7 @@ msgstr "" #: editor/project_manager.cpp msgid "OpenGL ES 2.0" -msgstr "OpenGL ES 2.0" +msgstr "OpenGL ES 2.0版本" #: editor/project_manager.cpp msgid "" @@ -10948,14 +10757,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 "" @@ -10987,9 +10794,8 @@ msgid "Project Manager" msgstr "專案管理員" #: editor/project_manager.cpp -#, fuzzy msgid "Local Projects" -msgstr "專案" +msgstr "本地專案" #: editor/project_manager.cpp msgid "Loading, please wait..." @@ -11000,23 +10806,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" @@ -11027,14 +10830,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" @@ -11045,9 +10846,8 @@ msgid "About" msgstr "關於" #: editor/project_manager.cpp -#, fuzzy msgid "Asset Library Projects" -msgstr "素材庫" +msgstr "素材庫專案" #: editor/project_manager.cpp msgid "Restart Now" @@ -11059,7 +10859,7 @@ msgstr "移除全部" #: editor/project_manager.cpp msgid "Also delete project contents (no undo!)" -msgstr "" +msgstr "同時刪除專案內容(無法復原!)" #: editor/project_manager.cpp msgid "Can't run project" @@ -11074,23 +10874,21 @@ 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 "Physical Key" -msgstr "" +msgstr "實體按鍵" #: editor/project_settings_editor.cpp msgid "Key " @@ -11140,7 +10938,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..." @@ -11281,23 +11079,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" @@ -11736,13 +11531,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 "" @@ -11751,6 +11546,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 "" @@ -11758,6 +11556,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..." @@ -11936,6 +11737,8 @@ msgid "" "every time it updates.\n" "Switch back to the Local scene tree dock to improve performance." msgstr "" +"選擇後,每當專案更新時遠端場景樹狀停佇列將使其反覆停頓。\n" +"切換回本地場景樹狀停佇列以改善效能。" #: editor/scene_tree_dock.cpp msgid "Local" @@ -12151,7 +11954,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:" @@ -12223,7 +12026,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" @@ -12402,24 +12205,20 @@ msgid "Change Ray Shape Length" msgstr "更改射線形長度" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Set Room Point Position" -msgstr "設定曲線控制點位置" +msgstr "設定空間控制點位置" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Set Portal Point Position" -msgstr "設定曲線控制點位置" +msgstr "設定入口控制點位置" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Set Occluder Sphere Radius" -msgstr "更改圓柱形半徑" +msgstr "設定遮擋球體半徑" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Set Occluder Sphere Position" -msgstr "設定曲線內控制點位置" +msgstr "設定遮擋球體位置" #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" @@ -12530,14 +12329,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" @@ -12580,9 +12377,8 @@ msgid "GridMap Paint" msgstr "網格地圖繪圖" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Selection" -msgstr "網格地圖填充所選範圍" +msgstr "選擇網格地圖" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" @@ -12705,9 +12501,8 @@ msgid "Class name can't be a reserved keyword" msgstr "類別名稱不能為保留關鍵字" #: modules/mono/csharp_script.cpp -#, fuzzy msgid "Build Solution" -msgstr "填充所選" +msgstr "建構解決方案" #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" @@ -12832,14 +12627,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." @@ -12951,7 +12744,6 @@ msgid "Add Preload Node" msgstr "新增預載 (Preload) 節點" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Add Node(s)" msgstr "新增節點" @@ -13211,37 +13003,31 @@ msgstr "自清單中選擇裝置" #: platform/android/export/export_plugin.cpp msgid "Running on %s" -msgstr "" +msgstr "目前執行進度:%d" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Exporting APK..." -msgstr "全部匯出" +msgstr "正在匯出APK……" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Uninstalling..." -msgstr "取消安裝" +msgstr "正在解除安裝……" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Installing to device, please wait..." -msgstr "載入中,請稍後..." +msgstr "正在安裝至裝置,請稍後……" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Could not install to device: %s" -msgstr "無法啟動子處理程序!" +msgstr "無法安裝至裝置:%s" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Running on device..." -msgstr "正在執行自定腳本..." +msgstr "正在執行於裝置……" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Could not execute on device." -msgstr "無法新增資料夾。" +msgstr "無法於裝置上執行。" #: platform/android/export/export_plugin.cpp msgid "Unable to find the 'apksigner' tool." @@ -13257,7 +13043,7 @@ msgstr "尚未於專案中安裝 Android 建置樣板。請先於專案目錄中 msgid "" "Either Debug Keystore, Debug User AND Debug Password settings must be " "configured OR none of them." -msgstr "" +msgstr "必須全部設定或不設定Debug Keystore、Debug User以及Debug Password。" #: platform/android/export/export_plugin.cpp msgid "Debug keystore not configured in the Editor Settings nor in the preset." @@ -13268,6 +13054,7 @@ msgid "" "Either Release Keystore, Release User AND Release Password settings must be " "configured OR none of them." msgstr "" +"必須全部設定或不設定Release Keystore、Release User以及Release Password。" #: platform/android/export/export_plugin.cpp msgid "Release keystore incorrectly configured in the export preset." @@ -13323,10 +13110,15 @@ msgstr "「使用自定建置」必須啟用以使用本外掛。" #: platform/android/export/export_plugin.cpp msgid "" -"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" " +"or \"OpenXR\"." msgstr "" "「Hand Tracking」(手部追蹤)僅可在「Xr Mode」(XR 模式)設為「Oculus Mobile " -"VR」時可用。" +"VR」或「OpenXR」時可用。" + +#: platform/android/export/export_plugin.cpp +msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"." +msgstr "「Passthrough」僅可在「Xr Mode」(XR 模式)設為「OpenXR」時可用。" #: platform/android/export/export_plugin.cpp msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." @@ -13334,45 +13126,57 @@ msgstr "「Export AAB」僅於「Use Custom Build」啟用時可用。" #: platform/android/export/export_plugin.cpp msgid "" +"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." +msgstr "對「Min Sdk」的修改僅在「Use Custom Build」啟用時有效。" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " +"enabled." +msgstr "對「Target Sdk」的修改僅於「Use Custom Build」啟用時有效。" + +#: platform/android/export/export_plugin.cpp +msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." +msgstr "「Target Sdk」版本必須高於或于「Min Sdk」版本一致。" + +#: platform/android/export/export_plugin.cpp +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 "" +"找不到「apksigner'」。\n" +"請確認此命令可用於Android SDK build-tools的目錄。\n" +"%s 未簽署。" #: platform/android/export/export_plugin.cpp msgid "Signing debug %s..." -msgstr "" +msgstr "正在簽署偵錯版本%s……" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Signing release %s..." -msgstr "" -"正在掃描檔案,\n" -"請稍後..." +msgstr "正在簽署發布版本%s……" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Could not find keystore, unable to export." -msgstr "無法開啟樣板以輸出:" +msgstr "找不到金鑰儲存區,無法匯出。" #: platform/android/export/export_plugin.cpp msgid "'apksigner' returned with error #%d" -msgstr "" +msgstr "「apksigner」回傳錯誤 #%d" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Verifying %s..." -msgstr "正在新增 %s…" +msgstr "正在驗證 %s…" #: platform/android/export/export_plugin.cpp msgid "'apksigner' verification of %s failed." -msgstr "" +msgstr "「apksigner」無法驗證%s。" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Exporting for Android" -msgstr "全部匯出" +msgstr "正在為Android匯出" #: platform/android/export/export_plugin.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." @@ -13388,7 +13192,7 @@ msgstr "無效的檔案名稱!Android APK 必須要有 *.apk 副檔名。" #: platform/android/export/export_plugin.cpp msgid "Unsupported export format!\n" -msgstr "" +msgstr "不支援的匯出格式!\n" #: platform/android/export/export_plugin.cpp msgid "" @@ -13412,17 +13216,15 @@ msgstr "" #: platform/android/export/export_plugin.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_plugin.cpp -#, fuzzy msgid "Could not export project files to gradle project\n" -msgstr "無法在專案路徑中編輯 project.godot。" +msgstr "無法匯出專案檔至Gradle專案。\n" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Could not write expansion package file!" -msgstr "無法寫入檔案:" +msgstr "無法寫入擴充套件檔案!" #: platform/android/export/export_plugin.cpp msgid "Building Android Project (gradle)" @@ -13447,21 +13249,20 @@ msgid "" msgstr "無法複製並更名匯出的檔案,請於 Gradle 專案資料夾內確認輸出。" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Package not found: %s" -msgstr "未找到動畫:「%s」" +msgstr "未找到套件:「%s」" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Creating APK..." -msgstr "正在建立輪廓..." +msgstr "正在建立APK……" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "" "Could not find template APK to export:\n" "%s" -msgstr "無法開啟樣板以輸出:" +msgstr "" +"找不到樣板APK以匯出:\n" +"%s" #: platform/android/export/export_plugin.cpp msgid "" @@ -13470,16 +13271,16 @@ 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_plugin.cpp -#, fuzzy msgid "Adding files..." -msgstr "正在新增 %s…" +msgstr "正在加入檔案 %s……" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Could not export project files" -msgstr "無法寫入檔案:" +msgstr "無法匯出專案檔案" #: platform/android/export/export_plugin.cpp msgid "Aligning APK..." @@ -13487,7 +13288,7 @@ msgstr "正在對齊 APK…" #: platform/android/export/export_plugin.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." @@ -13534,45 +13335,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 Shell:" +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 "公證:需要強化執行階段(Hardened Runtime)。" #: 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." @@ -13964,6 +13760,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." @@ -13983,11 +13781,11 @@ msgstr "" #: scene/3d/occluder.cpp msgid "No shape is set." -msgstr "" +msgstr "未設定任何的形狀。" #: scene/3d/occluder.cpp msgid "Only uniform scales are supported." -msgstr "" +msgstr "僅支援均等縮放。" #: scene/3d/particles.cpp msgid "" @@ -14055,15 +13853,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不應為入口的子或孫節點。" #: 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 "" @@ -14074,79 +13872,91 @@ 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 "" +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 "" +"無效的RoomList路徑。\n" +"請在RoomManager中檢查RoomList分支是否已被指派。" #: scene/3d/room_manager.cpp msgid "RoomList contains no Rooms, aborting." -msgstr "" +msgstr "RoomList中未包含任何Room,正在中止。" #: scene/3d/room_manager.cpp msgid "Misnamed nodes detected, check output log for details. Aborting." -msgstr "" +msgstr "偵測到有錯誤命名的節點,詳情請見輸出紀錄檔。正在中止。" #: scene/3d/room_manager.cpp msgid "Portal link room not found, check output log for details." -msgstr "" +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 "" +"入口自動連結失敗,詳情請見輸出紀錄檔。\n" +"請檢查出口是否朝向所在空間的外部。" #: scene/3d/room_manager.cpp msgid "" "Room overlap detected, cameras may work incorrectly in overlapping area.\n" "Check output log for details." msgstr "" +"偵測到重疊的空間,相機可能無法在重疊的區域正常運作。\n" +"詳情請見輸出紀錄檔。" #: scene/3d/room_manager.cpp msgid "" "Error calculating room bounds.\n" "Ensure all rooms contain geometry or manual bounds." msgstr "" +"在計算空間邊界時發生錯誤。\n" +"請確保所有的空間都包含幾何體或手動邊界。" #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." @@ -14208,7 +14018,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'." @@ -14313,6 +14123,9 @@ msgid "" "The GLES2 backend is currently in use, so these modes will act like Stretch " "instead." msgstr "" +"只有在使用GLES3渲染後端的情況下,Axis Stretch屬性的Tile和Tile Fit選項才有" +"效。\n" +"因GLES2後端目前正作用中,這些模式將如同Stretch一般地作用。" #: scene/gui/popup.cpp msgid "" @@ -14356,6 +14169,9 @@ msgid "" "Consider using a script's process loop instead of relying on a Timer for " "very low wait times." msgstr "" +"取決於渲染或物理影格率,極短暫的計時器等候時間(小於0.05秒)可能會造成計時器" +"截然不同的行為。\n" +"建議使用腳本的處理迴圈(Process Loop)而非這類計時器。" #: scene/main/viewport.cpp msgid "" @@ -14369,15 +14185,14 @@ msgstr "" "為其他節點以顯示。" #: scene/main/viewport.cpp -#, fuzzy msgid "" "The Viewport size must be greater than or equal to 2 pixels on both " "dimensions to render anything." -msgstr "Viewport 大小必須大於 0 才可進行算繪。" +msgstr "Viewport長與寬必須皆大於或等於2像素才可進行算繪。" #: scene/resources/occluder_shape.cpp msgid "OccluderShapeSphere Set Spheres" -msgstr "" +msgstr "OccluderShapeSphere設定球體" #: scene/resources/visual_shader_nodes.cpp msgid "" @@ -14398,25 +14213,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 "Varying 變數只可在頂點函式中指派。" +msgstr "Varying 變數不可在函式「%s」中被指派。" #: servers/visual/shader_language.cpp msgid "" "Varyings which assigned in 'vertex' function may not be reassigned in " "'fragment' or 'light'." 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 "" +"在「fragment」函數中已被指派的Varying變數不能在「vertex」或是「light」中再被" +"指派。" #: servers/visual/shader_language.cpp msgid "Fragment-stage varying could not been accessed in custom function!" -msgstr "" +msgstr "無法在自定義函式中存取片段階段(Fragment-stage)中的Varying變數!" #: servers/visual/shader_language.cpp msgid "Assignment to function." @@ -14429,746 +14247,3 @@ msgstr "指派至均勻。" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "不可修改常數。" - -#~ msgid "Make Rest Pose (From Bones)" -#~ msgstr "製作靜止姿勢(自骨骼)" - -#~ msgid "Bottom" -#~ msgstr "底部" - -#~ msgid "Left" -#~ msgstr "左" - -#~ msgid "Right" -#~ msgstr "右" - -#~ msgid "Front" -#~ msgstr "正面" - -#~ msgid "Rear" -#~ msgstr "後" - -#~ msgid "Nameless gizmo" -#~ msgstr "未命名的 Gizmo" - -#~ msgid "" -#~ "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile " -#~ "VR\"." -#~ msgstr "" -#~ "「Degrees Of Freedom」(自由角度)僅可在「Xr Mode」(XR 模式)設為" -#~ "「Oculus Mobile VR」時可用。" - -#~ msgid "" -#~ "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" -#~ "\"." -#~ msgstr "" -#~ "「Focus Awareness」(提高關注度)僅可在「Xr Mode」(XR 模式)設為「Oculus " -#~ "Mobile VR」時可用。" - -#~ msgid "Package Contents:" -#~ msgstr "套件內容:" - -#~ msgid "Singleton" -#~ msgstr "單例" - -#~ msgid "Erase profile '%s'? (no undo)" -#~ msgstr "確定要清除設定檔「%s」嗎?(無法復原)" - -#~ msgid "Enabled Properties:" -#~ msgstr "啟用屬性:" - -#~ msgid "Enabled Features:" -#~ msgstr "啟用功能:" - -#~ msgid "Unset" -#~ msgstr "未設定" - -#~ msgid "Class Options" -#~ msgstr "類別選項" - -#~ msgid "Set" -#~ msgstr "設定" - -#~ msgid "Saved %s modified resource(s)." -#~ msgstr "已保存 %s 個已修改的資源。" - -#~ msgid "Q&A" -#~ msgstr "Q&A" - -#~ msgid "Status:" -#~ msgstr "狀態:" - -#~ msgid "Edit:" -#~ msgstr "編輯:" - -#~ msgid "Redownload" -#~ msgstr "重新下載" - -#~ msgid "(Installed)" -#~ msgstr "(已安裝)" - -#~ msgid "(Missing)" -#~ msgstr "(遺失)" - -#~ msgid "Request Failed." -#~ msgstr "請求失敗。" - -#~ msgid "Redirect Loop." -#~ msgstr "重新導向循環。" - -#~ msgid "Download Complete." -#~ msgstr "下載完成。" - -#~ msgid "Remove Template" -#~ msgstr "移除樣板" - -#~ msgid "Download Templates" -#~ msgstr "下載樣板" - -#~ msgid "Select mirror from list: (Shift+Click: Open in Browser)" -#~ msgstr "自列表中選擇鏡像:(Shift+點擊:在瀏覽器中開啟)" - -#~ msgid "Move to Trash" -#~ msgstr "移動至資源回收桶" - -#~ msgid "Expand All Properties" -#~ msgstr "展開所有屬性" - -#~ msgid "Collapse All Properties" -#~ msgstr "收合所有屬性" - -#~ msgid "Copy Params" -#~ msgstr "複製參數" - -#~ msgid "Open in Help" -#~ msgstr "在說明中開啟" - -#~ msgid "" -#~ "Game Camera Override\n" -#~ "No game instance running." -#~ msgstr "" -#~ "遊戲相機複寫\n" -#~ "無正在執行的遊戲實體。" - -#~ msgid "Drag: Rotate" -#~ msgstr "拖移:旋轉" - -#~ msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -#~ msgstr "按「v」以修改樞紐,「Shift+v」以移動樞紐(移動時)。" - -#~ msgid "Alt+RMB: Depth list selection" -#~ msgstr "Alt+滑鼠右鍵:展開所選清單" - -#~ msgid "Clone Down" -#~ msgstr "複製到下一行" - -#~ msgid "Yaw" -#~ msgstr "偏航" - -#~ msgid "Size" -#~ msgstr "大小" - -#~ msgid "" -#~ "Drag: Rotate\n" -#~ "Alt+Drag: Move\n" -#~ "Alt+RMB: Depth list selection" -#~ msgstr "" -#~ "拖移:旋轉\n" -#~ "Alt+拖移:移動\n" -#~ "Alt+右鍵點擊:展開選擇列表" - -#~ msgid "Sep.:" -#~ msgstr "分隔線:" - -#~ msgid "Add All" -#~ msgstr "新增全部" - -#~ msgid "Theme editing menu." -#~ msgstr "主題編輯選單。" - -#~ msgid "Create Empty Template" -#~ msgstr "建立空白樣板" - -#~ msgid "Create Empty Editor Template" -#~ msgstr "建立空白編輯器樣板" - -#~ msgid "Create From Current Editor Theme" -#~ msgstr "自目前編輯器主題建立" - -#~ msgid "Data Type:" -#~ msgstr "資料類型:" - -#~ msgid "Theme File" -#~ msgstr "主題檔" - -#~ msgid "Compiled" -#~ msgstr "編譯" - -#~ msgid "" -#~ "Remove %d projects from the list?\n" -#~ "The project folders' contents won't be modified." -#~ msgstr "" -#~ "確定要自清單中移除 %d 個專案嗎?\n" -#~ "專案資料夾的內容不會被修改。" - -#~ msgid "" -#~ "Remove this project from the list?\n" -#~ "The project folder's contents won't be modified." -#~ msgstr "" -#~ "確定要自列表移除該專案嗎?\n" -#~ "專案資料夾的內容不會被修改。" - -#~ msgid "Templates" -#~ msgstr "樣板" - -#~ msgid "Add Remapped Path" -#~ msgstr "新增重映射路徑" - -#~ msgid "Can not perform with the root node." -#~ msgstr "無法在根節點執行此操作。" - -#~ msgid "Could not read boot splash image file:" -#~ msgstr "無法讀取啟動畫面圖檔:" - -#~ msgid "Using default boot splash image." -#~ msgstr "使用預設啟動畫面圖檔。" - -#~ msgid "An animation player can't animate itself, only other players." -#~ msgstr "動畫 Player 無法播放自己,僅可播放其他 Player。" - -#~ msgid "Clipboard is empty" -#~ msgstr "剪貼板為空" - -#~ msgid "" -#~ "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -#~ msgstr "InterpolatedCamera 已停止維護,且將於 Godot 4.0 中移除。" - -#~ msgid "No" -#~ msgstr "否" - -#~ msgid "This scene has never been saved. Save before running?" -#~ msgstr "此場景從未被保存。是否於執行前先保存?" - -#~ msgid "ADB executable not configured in the Editor Settings." -#~ msgstr "尚未於編輯器設定中設定 ADB 可執行檔。" - -#~ msgid "OpenJDK jarsigner not configured in the Editor Settings." -#~ msgstr "尚未於編輯器設定中設定 OpenJDK Jarsigner。" - -#~ msgid "Custom build requires a valid Android SDK path in Editor Settings." -#~ msgstr "自定建置需要有在編輯器設定中設定一個有效的 Android SDK 位置。" - -#~ msgid "%d%%" -#~ msgstr "%d%%" - -#~ msgid "(Time Left: %d:%02d s)" -#~ msgstr "(剩餘時間:%d:%02d 秒)" - -#~ msgid "Plotting Meshes: " -#~ msgstr "正在繪製網格: " - -#~ msgid "Lighting Meshes: " -#~ msgstr "正在照明網格: " - -#~ msgid "Search complete" -#~ msgstr "搜尋完成" - -#~ msgid "No commit message was provided" -#~ msgstr "未提供提交訊息" - -#~ msgid "Add a commit message" -#~ msgstr "新增一個提交訊息" - -#~ msgid "There is already file or folder with the same name in this location." -#~ msgstr "該位置已有相同名稱的檔案或資料夾。" - -#~ msgid "Unable to complete APK alignment." -#~ msgstr "無法完成 APK 對齊。" - -#~ msgid "Unable to delete unaligned APK." -#~ msgstr "無法刪除未對齊的 APK。" - -#~ msgid "Error trying to save layout!" -#~ msgstr "嘗試保存配置時出錯!" - -#~ msgid "Default editor layout overridden." -#~ msgstr "已覆蓋預設的編輯器配置。" - -#~ msgid "Move pivot" -#~ msgstr "移動軸心" - -#~ msgid "Move anchor" -#~ msgstr "移動錨點" - -#~ msgid "Resize CanvasItem" -#~ msgstr "調整 CanvasItem 大小" - -#~ msgid "Polygon->UV" -#~ msgstr "多邊形 -> UV" - -#~ msgid "UV->Polygon" -#~ msgstr "UV -> 多邊形" - -#~ msgid "Add initial export..." -#~ msgstr "新增初始匯出..." - -#~ msgid "Add previous patches..." -#~ msgstr "新增上回修正檔..." - -#~ msgid "Delete patch '%s' from list?" -#~ msgstr "是否要自列表中刪除「%s」修正檔?" - -#~ msgid "Patches" -#~ msgstr "修正檔" - -#~ msgid "Make Patch" -#~ msgstr "製作修正檔" - -#~ msgid "Pack File" -#~ msgstr "打包檔案" - -#~ msgid "No build apk generated at: " -#~ msgstr "無建置 APK 產生於: " - -#~ msgid "FileSystem and Import Docks" -#~ msgstr "檔案系統與匯入 Dock" - -#~ msgid "" -#~ "When exporting or deploying, the resulting executable will attempt to " -#~ "connect to the IP of this computer in order to be debugged." -#~ msgstr "" -#~ "匯出或部署時,輸出的可執行檔將會嘗試連接到這台電腦的 IP 位置以進行除錯。" - -#~ msgid "Current scene was never saved, please save it prior to running." -#~ msgstr "目前的場景從未被保存,請先保存以執行。" - -#~ msgid "Revert" -#~ msgstr "還原" - -#~ msgid "This action cannot be undone. Revert anyway?" -#~ msgstr "該操作無法還原。依然要還原嗎?" - -#~ msgid "Revert Scene" -#~ msgstr "恢復場景" - -#~ msgid "Clear Script" -#~ msgstr "清除腳本" - -#, fuzzy -#~ msgid "Issue Tracker" -#~ msgstr "問題追蹤器" - -#~ msgid "Request Docs" -#~ msgstr "請求檔案" - -#, fuzzy -#~ msgid "Help improve the Godot documentation by giving feedback." -#~ msgstr "通過提供回饋幫助改進 Godot 文檔" - -#~ msgid "Replaced %d occurrence(s)." -#~ msgstr "取代了 %d 個。" - -#~ msgid "Create Static Convex Body" -#~ msgstr "創建靜態凸體" - -#~ msgid "" -#~ "There are currently no tutorials for this class, you can [color=$color]" -#~ "[url=$url]contribute one[/url][/color] or [color=$color][url=" -#~ "$url2]request one[/url][/color]." -#~ msgstr "" -#~ "目前沒有這個 class 的教學,你可以[color=$color][url=$url]貢獻一個[/url][/" -#~ "color]或[color=$color][url=$url2]要求一個[/url][/color]。" - -#~ msgid "enum " -#~ msgstr "枚舉 " - -#, fuzzy -#~ msgid "Brief Description" -#~ msgstr "簡要說明:" - -#, fuzzy -#~ msgid "Class Description" -#~ msgstr "描述:" - -#~ msgid "Project export failed with error code %d." -#~ msgstr "專案輸出失敗,錯誤代碼是 %d。" - -#~ msgid "Password:" -#~ msgstr "密碼:" - -#~ msgid "Pause the scene" -#~ msgstr "暫停此場景" - -#, fuzzy -#~ msgid "Snap to Grid" -#~ msgstr "吸附到網格" - -#, fuzzy -#~ msgid "Add input +" -#~ msgstr "添加輸入" - -#, fuzzy -#~ msgid "Methods:" -#~ msgstr "方法" - -#, fuzzy -#~ msgid "Theme Properties:" -#~ msgstr "過濾檔案..." - -#~ msgid "Constants:" -#~ msgstr "定數:" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "描述:" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "Property 說明:" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "Method 說明:" - -#, fuzzy -#~ msgid "Reverse sorting." -#~ msgstr "正在請求…" - -#~ msgid "No Matches" -#~ msgstr "無符合條件" - -#~ msgid "Error loading image:" -#~ msgstr "加載影像時出錯:" - -#~ msgid "No pixels with transparency > 128 in image..." -#~ msgstr "影像中沒有透明度大於128的點數…" - -#~ msgid "Parent has no solid faces to populate." -#~ msgstr "父級沒有要填充的實體面。" - -#~ msgid "Couldn't map area." -#~ msgstr "無法映射區域。" - -#~ msgid "Faces contain no area!" -#~ msgstr "面不包含任何區域!" - -#, fuzzy -#~ msgid "Error: could not load file." -#~ msgstr "無法新增資料夾" - -#~ msgid "Doppler Enable" -#~ msgstr "啟用多普拉效應" - -#, fuzzy -#~ msgid "Select Mode (Q)" -#~ msgstr "選擇模式 (Q)" - -#~ msgid "Move Mode (W)" -#~ msgstr "移動模式 (W)" - -#~ msgid "Rotate Mode (E)" -#~ msgstr "旋轉模式 (E)" - -#~ msgid "Scale Mode (R)" -#~ msgstr "縮放模式 (R)" - -#~ msgid "Local Coords" -#~ msgstr "本地坐標" - -#~ msgid "Snap Mode (%s)" -#~ msgstr "捕捉模式 (%s)" - -#, fuzzy -#~ msgid "Tool Select" -#~ msgstr "工具選擇" - -#~ msgid "Tool Move" -#~ msgstr "工具移動" - -#~ msgid "Tool Rotate" -#~ msgstr "工具旋轉" - -#~ msgid "Tool Scale" -#~ msgstr "縮放工具" - -#, fuzzy -#~ msgid "" -#~ "Remove all missing projects from the list? (Folders contents will not be " -#~ "modified)" -#~ msgstr "是否從清單中删除項目?(資料夾內容將不被修改)" - -#~ msgid "Error initializing FreeType." -#~ msgstr "初始化 FreeType 錯誤。" - -#~ msgid "Unknown font format." -#~ msgstr "未知的字體格式。" - -#~ msgid "Error loading font." -#~ msgstr "讀取字體錯誤。" - -#~ msgid "Invalid font size." -#~ msgstr "無效的字體大小。" - -#, fuzzy -#~ msgid "Previous Folder" -#~ msgstr "上個分頁" - -#, fuzzy -#~ msgid "Next Folder" -#~ msgstr "新增資料夾" - -#, fuzzy -#~ msgid "Open in an external image editor." -#~ msgstr "開啟下一個編輯器" - -#~ msgid "Reverse" -#~ msgstr "反轉" - -#, fuzzy -#~ msgid "Failed to create solution." -#~ msgstr "無法新增資料夾" - -#, fuzzy -#~ msgid "Build Project" -#~ msgstr "專案設定" - -#, fuzzy -#~ msgid "View log" -#~ msgstr "過濾檔案..." - -#, fuzzy -#~ msgid "Enabled Classes" -#~ msgstr "搜尋 Class" - -#~ msgid "Update Always" -#~ msgstr "總是自動更新" - -#~ msgid "Path to Node:" -#~ msgstr "節點路徑:" - -#~ msgid "Delete selected files?" -#~ msgstr "確定刪除所選擇的檔案嗎?" - -#~ msgid "There is no 'res://default_bus_layout.tres' file." -#~ msgstr "「res://default_bus_layout.tres」檔案不存在。" - -#, fuzzy -#~ msgid "Go to parent folder" -#~ msgstr "無法新增資料夾" - -#, fuzzy -#~ msgid "Open Scene(s)" -#~ msgstr "開啟場景" - -#~ msgid "Previous Directory" -#~ msgstr "上一個目錄" - -#~ msgid "Next Directory" -#~ msgstr "下一個目錄" - -#, fuzzy -#~ msgid "Ease in" -#~ msgstr "所有的選擇" - -#~ msgid "Ease out" -#~ msgstr "淡出" - -#, fuzzy -#~ msgid "Create folder" -#~ msgstr "創建資料夾" - -#, fuzzy -#~ msgid "Invalid Path" -#~ msgstr "無效的路徑" - -#, fuzzy -#~ msgid "GridMap Duplicate Selection" -#~ msgstr "複製所選" - -#, fuzzy -#~ msgid "Create Area" -#~ msgstr "新增" - -#~ msgid "Insert keys." -#~ msgstr "插入幀." - -#~ msgid "Line:" -#~ msgstr "行:" - -#~ msgid "Col:" -#~ msgstr "列:" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "移除" - -#, fuzzy -#~ msgid "Zoom out" -#~ msgstr "縮小" - -#, fuzzy -#~ msgid "Zoom in" -#~ msgstr "放大" - -#, fuzzy -#~ msgid "Zoom:" -#~ msgstr "放大" - -#~ msgid "Class List:" -#~ msgstr "Class 列表:" - -#~ msgid "Public Methods:" -#~ msgstr "公開 method:" - -#~ msgid "GUI Theme Items:" -#~ msgstr "介面主題項目:" - -#, fuzzy -#~ msgid "Toggle folder status as Favorite." -#~ msgstr "切換最愛" - -#, fuzzy -#~ msgid "Show current scene file." -#~ msgstr "新增資料夾" - -#, fuzzy -#~ msgid "Whole words" -#~ msgstr "整個字" - -#, fuzzy -#~ msgid "Match case" -#~ msgstr "符合大小寫" - -#, fuzzy -#~ msgid "Search in files" -#~ msgstr "搜尋 Class" - -#, fuzzy -#~ msgid "Convert To Uppercase" -#~ msgstr "轉換成..." - -#, fuzzy -#~ msgid "Convert To Lowercase" -#~ msgstr "轉換成..." - -#~ msgid "Move Anim Track Up" -#~ msgstr "上移動畫軌" - -#~ msgid "Move Anim Track Down" -#~ msgstr "動畫軌下移" - -#~ msgid "Set Transitions to:" -#~ msgstr "設定轉場效果為:" - -#~ msgid "Anim Track Change Interpolation" -#~ msgstr "改變動畫軌內插" - -#~ msgid "Anim Track Change Value Mode" -#~ msgstr "動畫軌改變模式" - -#, fuzzy -#~ msgid "Anim Track Change Wrap Mode" -#~ msgstr "動畫軌道更改環繞模式" - -#~ msgid "Edit Selection Curve" -#~ msgstr "編輯所選曲線" - -#~ msgid "Anim Add Key" -#~ msgstr "添加動畫關鍵畫格" - -#~ msgid "In" -#~ msgstr "進" - -#~ msgid "Out" -#~ msgstr "出" - -#~ msgid "In-Out" -#~ msgstr "進出" - -#~ msgid "Out-In" -#~ msgstr "外-內" - -#, fuzzy -#~ msgid "Anim Create Typed Value Key" -#~ msgstr "動畫新增具類別之鍵值" - -#~ msgid "Anim Add Call Track" -#~ msgstr "動畫新增呼叫軌跡" - -#~ msgid "Length (s):" -#~ msgstr "長度(s):" - -#~ msgid "Enable/Disable looping in animation." -#~ msgstr "啟用/停用 動畫迴圈。" - -#~ msgid "Add new tracks." -#~ msgstr "新增動畫軌。" - -#~ msgid "Move current track up." -#~ msgstr "上移當前動畫軌。" - -#~ msgid "Move current track down." -#~ msgstr "下移當前動畫軌。" - -#~ msgid "Track tools" -#~ msgstr "軌跡工具" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "啟用可使用點擊來更改各個鍵。" - -#~ msgid "Key" -#~ msgstr "鍵" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "呼叫哪個節點裡的函式?" - -#~ msgid "Thanks!" -#~ msgstr "謝謝!" - -#~ msgid "Ugh" -#~ msgstr "呃" - -#, fuzzy -#~ msgid "prev" -#~ msgstr "預覽:" - -#, fuzzy -#~ msgid "Set pivot at mouse position" -#~ msgstr "移除" - -#~ msgid "Replace By" -#~ msgstr "用...取代" - -#~ msgid "Prompt On Replace" -#~ msgstr "每次取代都要先詢問我" - -#~ msgid "Skip" -#~ msgstr "跳過" - -#~ msgid "List:" -#~ msgstr "列表:" - -#, fuzzy -#~ msgid "Selection -> Duplicate" -#~ msgstr "僅選擇區域" - -#~ msgid "Return:" -#~ msgstr "回傳值:" - -#~ msgid "Added:" -#~ msgstr "已新增:" - -#~ msgid "Ctrl+" -#~ msgstr "Ctrl+" - -#~ msgid "" -#~ "Open Project Manager? \n" -#~ "(Unsaved changes will be lost)" -#~ msgstr "未保存的變更將遺失, 要開啟專案管理員嗎?" - -#~ msgid "" -#~ "Paths cannot start with '/', absolute paths must start with 'res://', " -#~ "'user://', or 'local://'" -#~ msgstr "" -#~ "路徑不可以\"/\"為起始,完整路徑需以'res://'、'user://'、或 'local://'做為" -#~ "起始" |