diff options
Diffstat (limited to 'editor')
197 files changed, 36411 insertions, 8500 deletions
diff --git a/editor/action_map_editor.cpp b/editor/action_map_editor.cpp index 7cfedffcbf..b6348c5952 100644 --- a/editor/action_map_editor.cpp +++ b/editor/action_map_editor.cpp @@ -66,6 +66,14 @@ String InputEventConfigurationDialog::get_event_text(const Ref<InputEvent> &p_ev String text = p_event->as_text(); + Ref<InputEventKey> key = p_event; + if (key.is_valid() && key->is_command_or_control_autoremap()) { +#ifdef MACOS_ENABLED + text = text.replace("Command", "Command/Ctrl"); +#else + text = text.replace("Ctrl", "Command/Ctrl"); +#endif + } Ref<InputEventMouse> mouse = p_event; Ref<InputEventJoypadMotion> jp_motion = p_event; Ref<InputEventJoypadButton> jp_button = p_event; @@ -108,11 +116,10 @@ void InputEventConfigurationDialog::_set_event(const Ref<InputEvent> &p_event, b show_mods = true; mod_checkboxes[MOD_ALT]->set_pressed(mod->is_alt_pressed()); mod_checkboxes[MOD_SHIFT]->set_pressed(mod->is_shift_pressed()); - mod_checkboxes[MOD_COMMAND]->set_pressed(mod->is_command_pressed()); mod_checkboxes[MOD_CTRL]->set_pressed(mod->is_ctrl_pressed()); mod_checkboxes[MOD_META]->set_pressed(mod->is_meta_pressed()); - store_command_checkbox->set_pressed(mod->is_storing_command()); + autoremap_command_or_control_checkbox->set_pressed(mod->is_command_or_control_autoremap()); } if (k.is_valid()) { @@ -287,8 +294,6 @@ void InputEventConfigurationDialog::_listen_window_input(const Ref<InputEvent> & Ref<InputEventWithModifiers> mod = received_event; if (mod.is_valid()) { - // Maintain store command option state - mod->set_store_command(store_command_checkbox->is_pressed()); mod->set_window_id(0); } @@ -419,41 +424,31 @@ void InputEventConfigurationDialog::_mod_toggled(bool p_checked, int p_index) { } else if (p_index == 1) { ie->set_shift_pressed(p_checked); } else if (p_index == 2) { - ie->set_command_pressed(p_checked); + if (!autoremap_command_or_control_checkbox->is_pressed()) { + ie->set_ctrl_pressed(p_checked); + } } else if (p_index == 3) { - ie->set_ctrl_pressed(p_checked); - } else if (p_index == 4) { - ie->set_meta_pressed(p_checked); + if (!autoremap_command_or_control_checkbox->is_pressed()) { + ie->set_meta_pressed(p_checked); + } } _set_event(ie); } -void InputEventConfigurationDialog::_store_command_toggled(bool p_checked) { +void InputEventConfigurationDialog::_autoremap_command_or_control_toggled(bool p_checked) { Ref<InputEventWithModifiers> ie = event; if (ie.is_valid()) { - ie->set_store_command(p_checked); + ie->set_command_or_control_autoremap(p_checked); _set_event(ie); } if (p_checked) { - // If storing Command, show it's checkbox and hide Control (Win/Lin) or Meta (Mac) -#ifdef APPLE_STYLE_KEYS mod_checkboxes[MOD_META]->hide(); - - mod_checkboxes[MOD_COMMAND]->show(); - mod_checkboxes[MOD_COMMAND]->set_text("Meta (Command)"); -#else mod_checkboxes[MOD_CTRL]->hide(); - - mod_checkboxes[MOD_COMMAND]->show(); - mod_checkboxes[MOD_COMMAND]->set_text("Control (Command)"); -#endif } else { - // If not, hide Command, show Control and Meta. - mod_checkboxes[MOD_COMMAND]->hide(); - mod_checkboxes[MOD_CTRL]->show(); mod_checkboxes[MOD_META]->show(); + mod_checkboxes[MOD_CTRL]->show(); } } @@ -502,10 +497,12 @@ void InputEventConfigurationDialog::_input_list_item_selected() { // Maintain modifier state from checkboxes k->set_alt_pressed(mod_checkboxes[MOD_ALT]->is_pressed()); k->set_shift_pressed(mod_checkboxes[MOD_SHIFT]->is_pressed()); - k->set_command_pressed(mod_checkboxes[MOD_COMMAND]->is_pressed()); - k->set_ctrl_pressed(mod_checkboxes[MOD_CTRL]->is_pressed()); - k->set_meta_pressed(mod_checkboxes[MOD_META]->is_pressed()); - k->set_store_command(store_command_checkbox->is_pressed()); + if (autoremap_command_or_control_checkbox->is_pressed()) { + k->set_command_or_control_autoremap(true); + } else { + k->set_ctrl_pressed(mod_checkboxes[MOD_CTRL]->is_pressed()); + k->set_meta_pressed(mod_checkboxes[MOD_META]->is_pressed()); + } _set_event(k, false); } break; @@ -517,10 +514,12 @@ void InputEventConfigurationDialog::_input_list_item_selected() { // Maintain modifier state from checkboxes mb->set_alt_pressed(mod_checkboxes[MOD_ALT]->is_pressed()); mb->set_shift_pressed(mod_checkboxes[MOD_SHIFT]->is_pressed()); - mb->set_command_pressed(mod_checkboxes[MOD_COMMAND]->is_pressed()); - mb->set_ctrl_pressed(mod_checkboxes[MOD_CTRL]->is_pressed()); - mb->set_meta_pressed(mod_checkboxes[MOD_META]->is_pressed()); - mb->set_store_command(store_command_checkbox->is_pressed()); + if (autoremap_command_or_control_checkbox->is_pressed()) { + mb->set_command_or_control_autoremap(true); + } else { + mb->set_ctrl_pressed(mod_checkboxes[MOD_CTRL]->is_pressed()); + mb->set_meta_pressed(mod_checkboxes[MOD_META]->is_pressed()); + } // Maintain selected device mb->set_device(_get_current_device()); @@ -611,7 +610,7 @@ void InputEventConfigurationDialog::popup_and_configure(const Ref<InputEvent> &p // This is especially important for WASD movement layouts. physical_key_checkbox->set_pressed(true); - store_command_checkbox->set_pressed(true); + autoremap_command_or_control_checkbox->set_pressed(false); _set_current_device(0); // Switch to "Listen" tab @@ -722,21 +721,18 @@ InputEventConfigurationDialog::InputEventConfigurationDialog() { mod_checkboxes[i] = memnew(CheckBox); mod_checkboxes[i]->connect("toggled", callable_mp(this, &InputEventConfigurationDialog::_mod_toggled).bind(i)); mod_checkboxes[i]->set_text(name); + mod_checkboxes[i]->set_tooltip_text(TTR(mods_tip[i])); mod_container->add_child(mod_checkboxes[i]); } mod_container->add_child(memnew(VSeparator)); - store_command_checkbox = memnew(CheckBox); - store_command_checkbox->connect("toggled", callable_mp(this, &InputEventConfigurationDialog::_store_command_toggled)); - store_command_checkbox->set_pressed(true); - store_command_checkbox->set_text(TTR("Store Command")); -#ifdef APPLE_STYLE_KEYS - store_command_checkbox->set_tooltip_text(TTR("Toggles between serializing 'command' and 'meta'. Used for compatibility with Windows/Linux style keyboard.")); -#else - store_command_checkbox->set_tooltip_text(TTR("Toggles between serializing 'command' and 'control'. Used for compatibility with Apple Style keyboards.")); -#endif - mod_container->add_child(store_command_checkbox); + autoremap_command_or_control_checkbox = memnew(CheckBox); + autoremap_command_or_control_checkbox->connect("toggled", callable_mp(this, &InputEventConfigurationDialog::_autoremap_command_or_control_toggled)); + autoremap_command_or_control_checkbox->set_pressed(false); + autoremap_command_or_control_checkbox->set_text(TTR("Command / Control (auto)")); + autoremap_command_or_control_checkbox->set_tooltip_text(TTR("Automatically remaps between 'Meta' ('Command') and 'Control' depending on current platform.")); + mod_container->add_child(autoremap_command_or_control_checkbox); mod_container->hide(); additional_options_container->add_child(mod_container); diff --git a/editor/action_map_editor.h b/editor/action_map_editor.h index 1ca3c5bac0..36d21fe258 100644 --- a/editor/action_map_editor.h +++ b/editor/action_map_editor.h @@ -85,15 +85,21 @@ private: enum ModCheckbox { MOD_ALT, MOD_SHIFT, - MOD_COMMAND, MOD_CTRL, MOD_META, MOD_MAX }; - String mods[MOD_MAX] = { "Alt", "Shift", "Command", "Ctrl", "Metakey" }; +#if defined(MACOS_ENABLED) + String mods[MOD_MAX] = { "Option", "Shift", "Ctrl", "Command" }; +#elif defined(WINDOWS_ENABLED) + String mods[MOD_MAX] = { "Alt", "Shift", "Ctrl", "Windows" }; +#else + String mods[MOD_MAX] = { "Alt", "Shift", "Ctrl", "Meta" }; +#endif + String mods_tip[MOD_MAX] = { "Alt or Option key", "Shift key", "Control key", "Meta/Windows or Command key" }; CheckBox *mod_checkboxes[MOD_MAX]; - CheckBox *store_command_checkbox = nullptr; + CheckBox *autoremap_command_or_control_checkbox = nullptr; CheckBox *physical_key_checkbox = nullptr; @@ -107,7 +113,7 @@ private: void _input_list_item_selected(); void _mod_toggled(bool p_checked, int p_index); - void _store_command_toggled(bool p_checked); + void _autoremap_command_or_control_toggled(bool p_checked); void _physical_keycode_toggled(bool p_checked); void _device_selection_changed(int p_option_button_index); diff --git a/editor/animation_bezier_editor.cpp b/editor/animation_bezier_editor.cpp index 0183d08733..219f3fdbe1 100644 --- a/editor/animation_bezier_editor.cpp +++ b/editor/animation_bezier_editor.cpp @@ -1088,7 +1088,7 @@ void AnimationBezierTrackEdit::gui_input(const Ref<InputEvent> &p_event) { //first check point //command makes it ignore the main point, so control point editors can be force-edited //path 2D editing in the 3D and 2D editors works the same way - if (!mb->is_command_pressed()) { + if (!mb->is_command_or_control_pressed()) { if (edit_points[i].point_rect.has_point(mb->get_position())) { IntPair pair = IntPair(edit_points[i].track, edit_points[i].key); if (mb->is_shift_pressed()) { @@ -1152,7 +1152,7 @@ void AnimationBezierTrackEdit::gui_input(const Ref<InputEvent> &p_event) { } //insert new point - if (mb->get_position().x >= limit && mb->get_position().x < get_size().width && mb->is_command_pressed()) { + if (mb->get_position().x >= limit && mb->get_position().x < get_size().width && mb->is_command_or_control_pressed()) { Array new_point; new_point.resize(5); @@ -1684,8 +1684,8 @@ AnimationBezierTrackEdit::AnimationBezierTrackEdit() { set_clip_contents(true); ED_SHORTCUT("animation_bezier_editor/focus", TTR("Focus"), Key::F); - ED_SHORTCUT("animation_bezier_editor/select_all_keys", TTR("Select All Keys"), KeyModifierMask::CMD | Key::A); - ED_SHORTCUT("animation_bezier_editor/deselect_all_keys", TTR("Deselect All Keys"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::A); + ED_SHORTCUT("animation_bezier_editor/select_all_keys", TTR("Select All Keys"), KeyModifierMask::CMD_OR_CTRL | Key::A); + ED_SHORTCUT("animation_bezier_editor/deselect_all_keys", TTR("Deselect All Keys"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::A); menu = memnew(PopupMenu); add_child(menu); diff --git a/editor/animation_track_editor.cpp b/editor/animation_track_editor.cpp index 4991b2cfaf..8919d23982 100644 --- a/editor/animation_track_editor.cpp +++ b/editor/animation_track_editor.cpp @@ -52,13 +52,9 @@ public: bool setting = false; bool animation_read_only = false; - bool _hide_script_from_inspector() { - return true; - } - - bool _dont_undo_redo() { - return true; - } + bool _hide_script_from_inspector() { return true; } + bool _hide_metadata_from_inspector() { return true; } + bool _dont_undo_redo() { return true; } bool _is_read_only() { return animation_read_only; @@ -68,6 +64,7 @@ public: ClassDB::bind_method(D_METHOD("_update_obj"), &AnimationTrackKeyEdit::_update_obj); ClassDB::bind_method(D_METHOD("_key_ofs_changed"), &AnimationTrackKeyEdit::_key_ofs_changed); ClassDB::bind_method(D_METHOD("_hide_script_from_inspector"), &AnimationTrackKeyEdit::_hide_script_from_inspector); + ClassDB::bind_method(D_METHOD("_hide_metadata_from_inspector"), &AnimationTrackKeyEdit::_hide_metadata_from_inspector); ClassDB::bind_method(D_METHOD("get_root_path"), &AnimationTrackKeyEdit::get_root_path); ClassDB::bind_method(D_METHOD("_dont_undo_redo"), &AnimationTrackKeyEdit::_dont_undo_redo); ClassDB::bind_method(D_METHOD("_is_read_only"), &AnimationTrackKeyEdit::_is_read_only); @@ -719,13 +716,9 @@ public: bool setting = false; bool animation_read_only = false; - bool _hide_script_from_inspector() { - return true; - } - - bool _dont_undo_redo() { - return true; - } + bool _hide_script_from_inspector() { return true; } + bool _hide_metadata_from_inspector() { return true; } + bool _dont_undo_redo() { return true; } bool _is_read_only() { return animation_read_only; @@ -735,6 +728,7 @@ public: ClassDB::bind_method(D_METHOD("_update_obj"), &AnimationMultiTrackKeyEdit::_update_obj); ClassDB::bind_method(D_METHOD("_key_ofs_changed"), &AnimationMultiTrackKeyEdit::_key_ofs_changed); ClassDB::bind_method(D_METHOD("_hide_script_from_inspector"), &AnimationMultiTrackKeyEdit::_hide_script_from_inspector); + ClassDB::bind_method(D_METHOD("_hide_metadata_from_inspector"), &AnimationMultiTrackKeyEdit::_hide_metadata_from_inspector); ClassDB::bind_method(D_METHOD("get_root_path"), &AnimationMultiTrackKeyEdit::get_root_path); ClassDB::bind_method(D_METHOD("_dont_undo_redo"), &AnimationMultiTrackKeyEdit::_dont_undo_redo); ClassDB::bind_method(D_METHOD("_is_read_only"), &AnimationMultiTrackKeyEdit::_is_read_only); @@ -1451,7 +1445,9 @@ void AnimationTimelineEdit::_anim_loop_pressed() { default: break; } + undo_redo->add_do_method(this, "update_values"); undo_redo->add_undo_method(animation.ptr(), "set_loop_mode", animation->get_loop_mode()); + undo_redo->add_undo_method(this, "update_values"); undo_redo->commit_action(); } else { String base_path = animation->get_path(); @@ -1919,6 +1915,8 @@ void AnimationTimelineEdit::_bind_methods() { ADD_SIGNAL(MethodInfo("timeline_changed", PropertyInfo(Variant::FLOAT, "position"), PropertyInfo(Variant::BOOL, "drag"), PropertyInfo(Variant::BOOL, "timeline_only"))); ADD_SIGNAL(MethodInfo("track_added", PropertyInfo(Variant::INT, "track"))); ADD_SIGNAL(MethodInfo("length_changed", PropertyInfo(Variant::FLOAT, "size"))); + + ClassDB::bind_method(D_METHOD("update_values"), &AnimationTimelineEdit::update_values); } AnimationTimelineEdit::AnimationTimelineEdit() { @@ -2417,7 +2415,7 @@ void AnimationTrackEdit::draw_key(int p_index, float p_pixels_sec, int p_x, bool draw_texture( icon_to_draw, ofs, - p_index == hovering_key_idx ? get_theme_color(SNAME("folder_icon_modulate"), SNAME("FileDialog")) : Color(1, 1, 1)); + p_index == hovering_key_idx ? get_theme_color(SNAME("folder_icon_color"), SNAME("FileDialog")) : Color(1, 1, 1)); } // Helper. @@ -2936,7 +2934,7 @@ void AnimationTrackEdit::gui_input(const Ref<InputEvent> &p_event) { } if (key_idx != -1) { - if (mb->is_command_pressed() || mb->is_shift_pressed()) { + if (mb->is_command_or_control_pressed() || mb->is_shift_pressed()) { if (editor->is_key_selected(track, key_idx)) { emit_signal(SNAME("deselect_key"), key_idx); } else { @@ -3524,7 +3522,7 @@ void AnimationTrackEditor::set_root(Node *p_root) { root = p_root; if (root) { - root->connect("tree_exiting", callable_mp(this, &AnimationTrackEditor::_root_removed), CONNECT_ONESHOT); + root->connect("tree_exiting", callable_mp(this, &AnimationTrackEditor::_root_removed), CONNECT_ONE_SHOT); } _update_tracks(); @@ -4772,7 +4770,7 @@ void AnimationTrackEditor::_notification(int p_what) { view_group->set_icon(get_theme_icon(view_group->is_pressed() ? SNAME("AnimationTrackList") : SNAME("AnimationTrackGroup"), SNAME("EditorIcons"))); selected_filter->set_icon(get_theme_icon(SNAME("AnimationFilter"), SNAME("EditorIcons"))); imported_anim_warning->set_icon(get_theme_icon(SNAME("NodeWarning"), SNAME("EditorIcons"))); - main_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); + main_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); edit->get_popup()->set_item_icon(edit->get_popup()->get_item_index(EDIT_APPLY_RESET), get_theme_icon(SNAME("Reload"), SNAME("EditorIcons"))); } break; @@ -5474,7 +5472,7 @@ void AnimationTrackEditor::_scroll_input(const Ref<InputEvent> &p_event) { for (int i = 0; i < track_edits.size(); i++) { Rect2 local_rect = box_select_rect; local_rect.position -= track_edits[i]->get_global_position(); - track_edits[i]->append_to_selection(local_rect, mb->is_command_pressed()); + track_edits[i]->append_to_selection(local_rect, mb->is_command_or_control_pressed()); } if (_get_track_selected() == -1 && track_edits.size() > 0) { // Minimal hack to make shortcuts work. @@ -5500,7 +5498,7 @@ void AnimationTrackEditor::_scroll_input(const Ref<InputEvent> &p_event) { } if (!box_selection->is_visible_in_tree()) { - if (!mm->is_command_pressed() && !mm->is_shift_pressed()) { + if (!mm->is_command_or_control_pressed() && !mm->is_shift_pressed()) { _clear_selection(true); } box_selection->show(); @@ -6056,10 +6054,9 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) { real_t to_diff = fmod(b - a, Math_TAU); to_v = a + fmod(2.0 * to_diff, Math_TAU) - to_diff; } - Variant delta_v; - Variant::sub(to_v, from_v, delta_v); + Variant delta_v = Animation::subtract_variant(to_v, from_v); double duration = to_t - from_t; - double fixed_duration = duration - 0.01; // Prevent to overwrap keys... + double fixed_duration = duration - UNIT_EPSILON; // Prevent to overwrap keys... for (double delta_t = dur_step; delta_t < fixed_duration; delta_t += dur_step) { Pair<real_t, Variant> keydata; keydata.first = from_t + delta_t; @@ -6714,15 +6711,15 @@ AnimationTrackEditor::AnimationTrackEditor() { edit->get_popup()->add_separator(); edit->get_popup()->add_item(TTR("Make Easing Selection"), EDIT_EASE_SELECTION); 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/duplicate_selection", TTR("Duplicate Selection"), KeyModifierMask::CMD_OR_CTRL | Key::D), EDIT_DUPLICATE_SELECTION); + edit->get_popup()->add_shortcut(ED_SHORTCUT("animation_editor/duplicate_selection_transposed", TTR("Duplicate Transposed"), KeyModifierMask::SHIFT | KeyModifierMask::CMD_OR_CTRL | 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); edit->get_popup()->add_separator(); - edit->get_popup()->add_shortcut(ED_SHORTCUT("animation_editor/goto_next_step", TTR("Go to Next Step"), KeyModifierMask::CMD | Key::RIGHT), EDIT_GOTO_NEXT_STEP); - edit->get_popup()->add_shortcut(ED_SHORTCUT("animation_editor/goto_prev_step", TTR("Go to Previous Step"), KeyModifierMask::CMD | Key::LEFT), EDIT_GOTO_PREV_STEP); + edit->get_popup()->add_shortcut(ED_SHORTCUT("animation_editor/goto_next_step", TTR("Go to Next Step"), KeyModifierMask::CMD_OR_CTRL | Key::RIGHT), EDIT_GOTO_NEXT_STEP); + edit->get_popup()->add_shortcut(ED_SHORTCUT("animation_editor/goto_prev_step", TTR("Go to Previous Step"), KeyModifierMask::CMD_OR_CTRL | Key::LEFT), EDIT_GOTO_PREV_STEP); edit->get_popup()->add_separator(); edit->get_popup()->add_shortcut(ED_SHORTCUT("animation_editor/apply_reset", TTR("Apply Reset")), EDIT_APPLY_RESET); edit->get_popup()->add_separator(); diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp index 2d5e70e1ff..11a6912aa5 100644 --- a/editor/code_editor.cpp +++ b/editor/code_editor.cpp @@ -800,7 +800,7 @@ void CodeTextEditor::_text_editor_gui_input(const Ref<InputEvent> &p_event) { Ref<InputEventMouseButton> mb = p_event; if (mb.is_valid()) { - if (mb->is_pressed() && mb->is_command_pressed()) { + if (mb->is_pressed() && mb->is_command_or_control_pressed()) { if (mb->get_button_index() == MouseButton::WHEEL_UP) { _zoom_in(); } else if (mb->get_button_index() == MouseButton::WHEEL_DOWN) { @@ -1001,7 +1001,7 @@ void CodeTextEditor::update_editor_settings() { // Appearance: Caret text_editor->set_caret_type((TextEdit::CaretType)EditorSettings::get_singleton()->get("text_editor/appearance/caret/type").operator int()); text_editor->set_caret_blink_enabled(EditorSettings::get_singleton()->get("text_editor/appearance/caret/caret_blink")); - text_editor->set_caret_blink_speed(EditorSettings::get_singleton()->get("text_editor/appearance/caret/caret_blink_speed")); + text_editor->set_caret_blink_interval(EditorSettings::get_singleton()->get("text_editor/appearance/caret/caret_blink_interval")); text_editor->set_highlight_current_line(EditorSettings::get_singleton()->get("text_editor/appearance/caret/highlight_current_line")); text_editor->set_highlight_all_occurrences(EditorSettings::get_singleton()->get("text_editor/appearance/caret/highlight_all_occurrences")); @@ -1867,10 +1867,10 @@ void CodeTextEditor::update_toggle_scripts_button() { CodeTextEditor::CodeTextEditor() { code_complete_func = nullptr; - ED_SHORTCUT("script_editor/zoom_in", TTR("Zoom In"), KeyModifierMask::CMD | Key::EQUAL); - ED_SHORTCUT("script_editor/zoom_out", TTR("Zoom Out"), KeyModifierMask::CMD | Key::MINUS); + ED_SHORTCUT("script_editor/zoom_in", TTR("Zoom In"), KeyModifierMask::CMD_OR_CTRL | Key::EQUAL); + ED_SHORTCUT("script_editor/zoom_out", TTR("Zoom Out"), KeyModifierMask::CMD_OR_CTRL | Key::MINUS); ED_SHORTCUT_ARRAY("script_editor/reset_zoom", TTR("Reset Zoom"), - { int32_t(KeyModifierMask::CMD | Key::KEY_0), int32_t(KeyModifierMask::CMD | Key::KP_0) }); + { int32_t(KeyModifierMask::CMD_OR_CTRL | Key::KEY_0), int32_t(KeyModifierMask::CMD_OR_CTRL | Key::KP_0) }); text_editor = memnew(CodeEdit); add_child(text_editor); diff --git a/editor/connections_dialog.cpp b/editor/connections_dialog.cpp index dce9ca2b93..861d05f17a 100644 --- a/editor/connections_dialog.cpp +++ b/editor/connections_dialog.cpp @@ -289,8 +289,8 @@ bool ConnectDialog::get_deferred() const { return deferred->is_pressed(); } -bool ConnectDialog::get_oneshot() const { - return oneshot->is_pressed(); +bool ConnectDialog::get_one_shot() const { + return one_shot->is_pressed(); } /* @@ -322,10 +322,10 @@ void ConnectDialog::init(ConnectionData p_cd, bool p_edit) { _update_ok_enabled(); bool b_deferred = (p_cd.flags & CONNECT_DEFERRED) == CONNECT_DEFERRED; - bool b_oneshot = (p_cd.flags & CONNECT_ONESHOT) == CONNECT_ONESHOT; + bool b_oneshot = (p_cd.flags & CONNECT_ONE_SHOT) == CONNECT_ONE_SHOT; deferred->set_pressed(b_deferred); - oneshot->set_pressed(b_oneshot); + one_shot->set_pressed(b_oneshot); MethodInfo r_signal; Ref<Script> source_script = source->get_script(); @@ -484,11 +484,11 @@ ConnectDialog::ConnectDialog() { deferred->set_tooltip_text(TTR("Defers the signal, storing it in a queue and only firing it at idle time.")); vbc_right->add_child(deferred); - oneshot = memnew(CheckBox); - oneshot->set_h_size_flags(0); - oneshot->set_text(TTR("Oneshot")); - oneshot->set_tooltip_text(TTR("Disconnects the signal after its first emission.")); - vbc_right->add_child(oneshot); + one_shot = memnew(CheckBox); + one_shot->set_h_size_flags(0); + one_shot->set_text(TTR("Oneshot")); + one_shot->set_tooltip_text(TTR("Disconnects the signal after its first emission.")); + vbc_right->add_child(one_shot); cdbinds = memnew(ConnectDialogBinds); @@ -564,8 +564,8 @@ void ConnectionsDock::_make_or_edit_connection() { cd.binds = connect_dialog->get_binds(); } bool b_deferred = connect_dialog->get_deferred(); - bool b_oneshot = connect_dialog->get_oneshot(); - cd.flags = CONNECT_PERSIST | (b_deferred ? CONNECT_DEFERRED : 0) | (b_oneshot ? CONNECT_ONESHOT : 0); + bool b_oneshot = connect_dialog->get_one_shot(); + cd.flags = CONNECT_PERSIST | (b_deferred ? CONNECT_DEFERRED : 0) | (b_oneshot ? CONNECT_ONE_SHOT : 0); // Conditions to add function: must have a script and must not have the method already // (in the class, the script itself, or inherited). @@ -1083,8 +1083,8 @@ void ConnectionsDock::update_tree() { if (cd.flags & CONNECT_DEFERRED) { path += " (deferred)"; } - if (cd.flags & CONNECT_ONESHOT) { - path += " (oneshot)"; + if (cd.flags & CONNECT_ONE_SHOT) { + path += " (one-shot)"; } if (cd.unbinds > 0) { path += " unbinds(" + itos(cd.unbinds) + ")"; diff --git a/editor/connections_dialog.h b/editor/connections_dialog.h index 352c5c99d6..e37246e7a0 100644 --- a/editor/connections_dialog.h +++ b/editor/connections_dialog.h @@ -121,7 +121,7 @@ private: EditorInspector *bind_editor = nullptr; OptionButton *type_list = nullptr; CheckBox *deferred = nullptr; - CheckBox *oneshot = nullptr; + CheckBox *one_shot = nullptr; CheckButton *advanced = nullptr; Vector<Control *> bind_controls; @@ -153,7 +153,7 @@ public: Vector<Variant> get_binds() const; bool get_deferred() const; - bool get_oneshot() const; + bool get_one_shot() const; bool is_editing() const; void init(ConnectionData p_cd, bool p_edit = false); diff --git a/editor/create_dialog.cpp b/editor/create_dialog.cpp index 8ccfda1145..3e72c6211d 100644 --- a/editor/create_dialog.cpp +++ b/editor/create_dialog.cpp @@ -38,7 +38,7 @@ #include "editor/editor_scale.h" #include "editor/editor_settings.h" -void CreateDialog::popup_create(bool p_dont_clear, bool p_replace_mode, const String &p_select_type, const String &p_select_name) { +void CreateDialog::popup_create(bool p_dont_clear, bool p_replace_mode, const String &p_current_type, const String &p_current_name) { _fill_type_list(); icon_fallback = search_options->has_theme_icon(base_type, SNAME("EditorIcons")) ? base_type : "Object"; @@ -50,18 +50,14 @@ void CreateDialog::popup_create(bool p_dont_clear, bool p_replace_mode, const St } if (p_replace_mode) { - search_box->set_text(p_select_type); + search_box->set_text(p_current_type); } search_box->grab_focus(); _update_search(); if (p_replace_mode) { - if (!p_select_name.is_empty()) { - set_title(vformat(TTR("Convert %s from %s"), p_select_name, p_select_type)); - } else { - set_title(vformat(TTR("Convert %s"), p_select_type)); - } + set_title(vformat(TTR("Change Type of \"%s\""), p_current_name)); set_ok_button_text(TTR("Change")); } else { set_title(vformat(TTR("Create New %s"), base_type)); @@ -300,6 +296,15 @@ 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)); } + bool is_deprecated = EditorHelp::get_doc_data()->class_list[p_type].is_deprecated; + bool is_experimental = EditorHelp::get_doc_data()->class_list[p_type].is_experimental; + + if (is_deprecated) { + r_item->add_button(0, get_theme_icon("StatusError", SNAME("EditorIcons")), 0, false, TTR("This class is marked as deprecated.")); + } else if (is_experimental) { + r_item->add_button(0, get_theme_icon("NodeWarning", SNAME("EditorIcons")), 0, false, TTR("This class is marked as experimental.")); + } + if (!search_box->get_text().is_empty()) { r_item->set_collapsed(false); } else { @@ -665,7 +670,7 @@ void CreateDialog::_save_and_update_favorite_list() { for (int i = 0; i < favorite_list.size(); i++) { String l = favorite_list[i]; String name = l.get_slicec(' ', 0); - if (!(ClassDB::class_exists(name) || ScriptServer::is_global_class(name))) { + if (!EditorNode::get_editor_data().is_type_recognized(name)) { continue; } f->store_line(l); @@ -692,7 +697,7 @@ void CreateDialog::_load_favorites_and_history() { String l = f->get_line().strip_edges(); String name = l.get_slicec(' ', 0); - if ((ClassDB::class_exists(name) || ScriptServer::is_global_class(name)) && !_is_class_disabled_by_feature_profile(name)) { + if (EditorNode::get_editor_data().is_type_recognized(name) && !_is_class_disabled_by_feature_profile(name)) { recent->add_item(l, EditorNode::get_singleton()->get_class_icon(name, icon_fallback)); } } diff --git a/editor/create_dialog.h b/editor/create_dialog.h index f7731d2726..f2e741624f 100644 --- a/editor/create_dialog.h +++ b/editor/create_dialog.h @@ -120,7 +120,7 @@ public: void set_preferred_search_result_type(const String &p_preferred_type) { preferred_search_result_type = p_preferred_type; } String get_preferred_search_result_type() { return preferred_search_result_type; } - void popup_create(bool p_dont_clear, bool p_replace_mode = false, const String &p_select_type = "Node", const String &p_select_name = ""); + void popup_create(bool p_dont_clear, bool p_replace_mode = false, const String &p_current_type = "", const String &p_current_name = ""); CreateDialog(); }; diff --git a/editor/debugger/editor_debugger_inspector.cpp b/editor/debugger/editor_debugger_inspector.cpp index 6c0ba55ec8..7ea6cedd2b 100644 --- a/editor/debugger/editor_debugger_inspector.cpp +++ b/editor/debugger/editor_debugger_inspector.cpp @@ -36,7 +36,7 @@ #include "scene/debugger/scene_debugger.h" bool EditorDebuggerRemoteObject::_set(const StringName &p_name, const Variant &p_value) { - if (!editable || !prop_values.has(p_name) || String(p_name).begins_with("Constants/")) { + if (!prop_values.has(p_name) || String(p_name).begins_with("Constants/")) { return false; } @@ -85,14 +85,12 @@ void EditorDebuggerRemoteObject::_bind_methods() { ClassDB::bind_method(D_METHOD("get_variant"), &EditorDebuggerRemoteObject::get_variant); ClassDB::bind_method(D_METHOD("clear"), &EditorDebuggerRemoteObject::clear); ClassDB::bind_method(D_METHOD("get_remote_object_id"), &EditorDebuggerRemoteObject::get_remote_object_id); - ClassDB::bind_method(D_METHOD("_is_read_only"), &EditorDebuggerRemoteObject::_is_read_only); ADD_SIGNAL(MethodInfo("value_edited", PropertyInfo(Variant::INT, "object_id"), PropertyInfo(Variant::STRING, "property"), PropertyInfo("value"))); } EditorDebuggerInspector::EditorDebuggerInspector() { variables = memnew(EditorDebuggerRemoteObject); - variables->editable = false; } EditorDebuggerInspector::~EditorDebuggerInspector() { diff --git a/editor/debugger/editor_debugger_inspector.h b/editor/debugger/editor_debugger_inspector.h index c595e0acaa..d835f5fa42 100644 --- a/editor/debugger/editor_debugger_inspector.h +++ b/editor/debugger/editor_debugger_inspector.h @@ -43,14 +43,12 @@ protected: static void _bind_methods(); public: - bool editable = false; ObjectID remote_object_id; String type_name; List<PropertyInfo> prop_list; HashMap<StringName, Variant> prop_values; ObjectID get_remote_object_id() { return remote_object_id; }; - bool _is_read_only() { return true; }; String get_title(); Variant get_variant(const StringName &p_name); diff --git a/editor/debugger/editor_profiler.cpp b/editor/debugger/editor_profiler.cpp index cf48366bd3..a882275375 100644 --- a/editor/debugger/editor_profiler.cpp +++ b/editor/debugger/editor_profiler.cpp @@ -104,6 +104,10 @@ void EditorProfiler::clear() { updating_frame = false; hover_metric = -1; seeking = false; + + // Ensure button text (start, stop) is correct + _set_button_text(); + emit_signal(SNAME("enable_profiling"), activate->is_pressed()); } static String _get_percent_txt(float p_value, float p_total) { @@ -374,15 +378,23 @@ void EditorProfiler::_update_frame() { updating_frame = false; } -void EditorProfiler::_activate_pressed() { +void EditorProfiler::_set_button_text() { if (activate->is_pressed()) { activate->set_icon(get_theme_icon(SNAME("Stop"), SNAME("EditorIcons"))); activate->set_text(TTR("Stop")); - _clear_pressed(); } else { activate->set_icon(get_theme_icon(SNAME("Play"), SNAME("EditorIcons"))); activate->set_text(TTR("Start")); } +} + +void EditorProfiler::_activate_pressed() { + _set_button_text(); + + if (activate->is_pressed()) { + _clear_pressed(); + } + emit_signal(SNAME("enable_profiling"), activate->is_pressed()); } @@ -499,8 +511,12 @@ void EditorProfiler::_bind_methods() { ADD_SIGNAL(MethodInfo("break_request")); } -void EditorProfiler::set_enabled(bool p_enable) { +void EditorProfiler::set_enabled(bool p_enable, bool p_clear) { + activate->set_pressed(false); activate->set_disabled(!p_enable); + if (p_clear) { + clear(); + } } bool EditorProfiler::is_profiling() { diff --git a/editor/debugger/editor_profiler.h b/editor/debugger/editor_profiler.h index df92125258..e9ecc285ed 100644 --- a/editor/debugger/editor_profiler.h +++ b/editor/debugger/editor_profiler.h @@ -122,6 +122,7 @@ private: Timer *frame_delay = nullptr; Timer *plot_delay = nullptr; + void _set_button_text(); void _update_frame(); void _activate_pressed(); @@ -153,7 +154,7 @@ protected: public: void add_frame_metric(const Metric &p_metric, bool p_final = false); - void set_enabled(bool p_enable); + void set_enabled(bool p_enable, bool p_clear = true); bool is_profiling(); bool is_seeking() { return seeking; } void disable_seeking(); diff --git a/editor/debugger/script_editor_debugger.cpp b/editor/debugger/script_editor_debugger.cpp index 5baa9970af..6bc1536cb9 100644 --- a/editor/debugger/script_editor_debugger.cpp +++ b/editor/debugger/script_editor_debugger.cpp @@ -52,7 +52,6 @@ #include "editor/plugins/node_3d_editor_plugin.h" #include "main/performance.h" #include "scene/3d/camera_3d.h" -#include "scene/debugger/scene_debugger.h" #include "scene/gui/dialogs.h" #include "scene/gui/label.h" #include "scene/gui/line_edit.h" @@ -317,7 +316,7 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, const Array &p_da if (!error.is_empty()) { tabs->set_current_tab(0); } - profiler->set_enabled(false); + profiler->set_enabled(false, false); inspector->clear_cache(); // Take a chance to force remote objects update. } else if (p_msg == "debug_exit") { @@ -327,7 +326,7 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, const Array &p_da _update_buttons_state(); _set_reason_text(TTR("Execution resumed."), MESSAGE_SUCCESS); emit_signal(SNAME("breaked"), false, false, "", false); - profiler->set_enabled(true); + profiler->set_enabled(true, false); profiler->disable_seeking(); } else if (p_msg == "set_pid") { ERR_FAIL_COND(p_data.size() < 1); @@ -916,6 +915,8 @@ void ScriptEditorDebugger::start(Ref<RemoteDebuggerPeer> p_peer) { _clear_errors_list(); stop(); + profiler->set_enabled(true, true); + peer = p_peer; ERR_FAIL_COND(p_peer.is_null()); @@ -971,6 +972,8 @@ void ScriptEditorDebugger::stop() { res_path_cache.clear(); profiler_signature.clear(); + profiler->set_enabled(true, false); + inspector->edit(nullptr); _update_buttons_state(); } diff --git a/editor/doc_tools.cpp b/editor/doc_tools.cpp index ec9a744e57..7d6eb186dc 100644 --- a/editor/doc_tools.cpp +++ b/editor/doc_tools.cpp @@ -85,6 +85,9 @@ void DocTools::merge_from(const DocTools &p_data) { const DocData::ClassDoc &cf = p_data.class_list[c.name]; + c.is_deprecated = cf.is_deprecated; + c.is_experimental = cf.is_experimental; + c.description = cf.description; c.brief_description = cf.brief_description; c.tutorials = cf.tutorials; @@ -133,6 +136,8 @@ void DocTools::merge_from(const DocTools &p_data) { const DocData::MethodDoc &mf = cf.constructors[j]; m.description = mf.description; + m.is_deprecated = mf.is_deprecated; + m.is_experimental = mf.is_experimental; break; } } @@ -148,6 +153,8 @@ void DocTools::merge_from(const DocTools &p_data) { const DocData::MethodDoc &mf = cf.methods[j]; m.description = mf.description; + m.is_deprecated = mf.is_deprecated; + m.is_experimental = mf.is_experimental; break; } } @@ -162,6 +169,8 @@ void DocTools::merge_from(const DocTools &p_data) { const DocData::MethodDoc &mf = cf.signals[j]; m.description = mf.description; + m.is_deprecated = mf.is_deprecated; + m.is_experimental = mf.is_experimental; break; } } @@ -176,6 +185,8 @@ void DocTools::merge_from(const DocTools &p_data) { const DocData::ConstantDoc &mf = cf.constants[j]; m.description = mf.description; + m.is_deprecated = mf.is_deprecated; + m.is_experimental = mf.is_experimental; break; } } @@ -190,6 +201,8 @@ void DocTools::merge_from(const DocTools &p_data) { const DocData::MethodDoc &mf = cf.annotations[j]; m.description = mf.description; + m.is_deprecated = mf.is_deprecated; + m.is_experimental = mf.is_experimental; break; } } @@ -204,6 +217,8 @@ void DocTools::merge_from(const DocTools &p_data) { const DocData::PropertyDoc &pf = cf.properties[j]; p.description = pf.description; + p.is_deprecated = pf.is_deprecated; + p.is_experimental = pf.is_experimental; break; } } @@ -266,6 +281,8 @@ void DocTools::merge_from(const DocTools &p_data) { const DocData::MethodDoc &mf = cf.operators[j]; m.description = mf.description; + m.is_deprecated = mf.is_deprecated; + m.is_experimental = mf.is_experimental; break; } } @@ -1007,6 +1024,12 @@ static Error _parse_methods(Ref<XMLParser> &parser, Vector<DocData::MethodDoc> & if (parser->has_attribute("qualifiers")) { method.qualifiers = parser->get_attribute_value("qualifiers"); } + if (parser->has_attribute("is_deprecated")) { + method.is_deprecated = parser->get_attribute_value("is_deprecated").to_lower() == "true"; + } + if (parser->has_attribute("is_experimental")) { + method.is_experimental = parser->get_attribute_value("is_experimental").to_lower() == "true"; + } while (parser->read() == OK) { if (parser->get_node_type() == XMLParser::NODE_ELEMENT) { @@ -1138,6 +1161,14 @@ Error DocTools::_load(Ref<XMLParser> parser) { c.inherits = parser->get_attribute_value("inherits"); } + if (parser->has_attribute("is_deprecated")) { + c.is_deprecated = parser->get_attribute_value("is_deprecated").to_lower() == "true"; + } + + if (parser->has_attribute("is_experimental")) { + c.is_experimental = parser->get_attribute_value("is_experimental").to_lower() == "true"; + } + while (parser->read() == OK) { if (parser->get_node_type() == XMLParser::NODE_ELEMENT) { String name2 = parser->get_node_name(); @@ -1211,6 +1242,12 @@ Error DocTools::_load(Ref<XMLParser> parser) { if (parser->has_attribute("enum")) { prop2.enumeration = parser->get_attribute_value("enum"); } + if (parser->has_attribute("is_deprecated")) { + prop2.is_deprecated = parser->get_attribute_value("is_deprecated").to_lower() == "true"; + } + if (parser->has_attribute("is_experimental")) { + prop2.is_experimental = parser->get_attribute_value("is_experimental").to_lower() == "true"; + } if (!parser->is_empty()) { parser->read(); if (parser->get_node_type() == XMLParser::NODE_TEXT) { @@ -1275,6 +1312,12 @@ Error DocTools::_load(Ref<XMLParser> parser) { if (parser->has_attribute("is_bitfield")) { constant2.is_bitfield = parser->get_attribute_value("is_bitfield").to_lower() == "true"; } + if (parser->has_attribute("is_deprecated")) { + constant2.is_deprecated = parser->get_attribute_value("is_deprecated").to_lower() == "true"; + } + if (parser->has_attribute("is_experimental")) { + constant2.is_experimental = parser->get_attribute_value("is_experimental").to_lower() == "true"; + } if (!parser->is_empty()) { parser->read(); if (parser->get_node_type() == XMLParser::NODE_TEXT) { @@ -1327,7 +1370,15 @@ static void _write_method_doc(Ref<FileAccess> f, const String &p_name, Vector<Do qualifiers += " qualifiers=\"" + m.qualifiers.xml_escape() + "\""; } - _write_string(f, 2, "<" + p_name + " name=\"" + m.name.xml_escape() + "\"" + qualifiers + ">"); + String additional_attributes; + if (m.is_deprecated) { + additional_attributes += " is_deprecated=\"true\""; + } + if (m.is_experimental) { + additional_attributes += " is_experimental=\"true\""; + } + + _write_string(f, 2, "<" + p_name + " name=\"" + m.name.xml_escape() + "\"" + qualifiers + additional_attributes + ">"); if (!m.return_type.is_empty()) { String enum_text; @@ -1390,6 +1441,12 @@ Error DocTools::save_classes(const String &p_default_path, const HashMap<String, String header = "<class name=\"" + c.name + "\""; if (!c.inherits.is_empty()) { header += " inherits=\"" + c.inherits + "\""; + if (c.is_deprecated) { + header += " is_deprecated=\"true\""; + } + if (c.is_experimental) { + header += " is_experimental=\"true\""; + } } header += String(" version=\"") + VERSION_BRANCH + "\""; // Reference the XML schema so editors can provide error checking. @@ -1433,6 +1490,12 @@ Error DocTools::save_classes(const String &p_default_path, const HashMap<String, if (!c.properties[i].default_value.is_empty()) { additional_attributes += " default=\"" + c.properties[i].default_value.xml_escape(true) + "\""; } + if (c.properties[i].is_deprecated) { + additional_attributes += " is_deprecated=\"true\""; + } + if (c.properties[i].is_experimental) { + additional_attributes += " is_experimental=\"true\""; + } const DocData::PropertyDoc &p = c.properties[i]; @@ -1453,21 +1516,30 @@ Error DocTools::save_classes(const String &p_default_path, const HashMap<String, _write_string(f, 1, "<constants>"); for (int i = 0; i < c.constants.size(); i++) { const DocData::ConstantDoc &k = c.constants[i]; + + String additional_attributes; + if (c.constants[i].is_deprecated) { + additional_attributes += " is_deprecated=\"true\""; + } + if (c.constants[i].is_experimental) { + additional_attributes += " is_experimental=\"true\""; + } + if (k.is_value_valid) { if (!k.enumeration.is_empty()) { if (k.is_bitfield) { - _write_string(f, 2, "<constant name=\"" + k.name + "\" value=\"" + k.value + "\" enum=\"" + k.enumeration + "\" is_bitfield=\"true\">"); + _write_string(f, 2, "<constant name=\"" + k.name + "\" value=\"" + k.value + "\" enum=\"" + k.enumeration + "\" is_bitfield=\"true\"" + additional_attributes + ">"); } else { - _write_string(f, 2, "<constant name=\"" + k.name + "\" value=\"" + k.value + "\" enum=\"" + k.enumeration + "\">"); + _write_string(f, 2, "<constant name=\"" + k.name + "\" value=\"" + k.value + "\" enum=\"" + k.enumeration + "\"" + additional_attributes + ">"); } } else { - _write_string(f, 2, "<constant name=\"" + k.name + "\" value=\"" + k.value + "\">"); + _write_string(f, 2, "<constant name=\"" + k.name + "\" value=\"" + k.value + "\"" + additional_attributes + ">"); } } else { if (!k.enumeration.is_empty()) { - _write_string(f, 2, "<constant name=\"" + k.name + "\" value=\"platform-dependent\" enum=\"" + k.enumeration + "\">"); + _write_string(f, 2, "<constant name=\"" + k.name + "\" value=\"platform-dependent\" enum=\"" + k.enumeration + "\"" + additional_attributes + ">"); } else { - _write_string(f, 2, "<constant name=\"" + k.name + "\" value=\"platform-dependent\">"); + _write_string(f, 2, "<constant name=\"" + k.name + "\" value=\"platform-dependent\"" + additional_attributes + ">"); } } _write_string(f, 3, _translate_doc_string(k.description).strip_edges().xml_escape()); diff --git a/editor/editor_audio_buses.cpp b/editor/editor_audio_buses.cpp index b1253ed7cb..09dce869c9 100644 --- a/editor/editor_audio_buses.cpp +++ b/editor/editor_audio_buses.cpp @@ -940,7 +940,7 @@ EditorAudioBus::EditorAudioBus(EditorAudioBuses *p_buses, bool p_is_master) { hbc->add_child(bus_options); bus_popup = bus_options->get_popup(); - bus_popup->add_shortcut(ED_SHORTCUT("audio_bus_editor/duplicate_selected_bus", TTR("Duplicate Bus"), KeyModifierMask::CMD | Key::D)); + bus_popup->add_shortcut(ED_SHORTCUT("audio_bus_editor/duplicate_selected_bus", TTR("Duplicate Bus"), KeyModifierMask::CMD_OR_CTRL | Key::D)); bus_popup->add_shortcut(ED_SHORTCUT("audio_bus_editor/delete_selected_bus", TTR("Delete Bus"), Key::KEY_DELETE)); bus_popup->set_item_disabled(1, is_master); bus_popup->add_item(TTR("Reset Volume")); @@ -1027,7 +1027,7 @@ void EditorAudioBuses::_notification(int p_what) { switch (p_what) { case NOTIFICATION_ENTER_TREE: case NOTIFICATION_THEME_CHANGED: { - bus_scroll->add_theme_style_override("bg", get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); + bus_scroll->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); } break; case NOTIFICATION_READY: { diff --git a/editor/editor_command_palette.cpp b/editor/editor_command_palette.cpp index ba1f2fd6af..a0913265eb 100644 --- a/editor/editor_command_palette.cpp +++ b/editor/editor_command_palette.cpp @@ -130,7 +130,7 @@ void EditorCommandPalette::_update_command_search(const String &search_text) { ti->set_metadata(0, entries[i].key_name); ti->set_text_alignment(1, HORIZONTAL_ALIGNMENT_RIGHT); ti->set_text(1, shortcut_text); - Color c = Color(1, 1, 1, 0.5); + Color c = get_theme_color(SNAME("font_color"), SNAME("Editor")) * Color(1, 1, 1, 0.5); ti->set_custom_color(1, c); } diff --git a/editor/editor_data.cpp b/editor/editor_data.cpp index 231ae198d2..d1ea0f2814 100644 --- a/editor/editor_data.cpp +++ b/editor/editor_data.cpp @@ -509,6 +509,32 @@ Variant EditorData::instance_custom_type(const String &p_type, const String &p_i return Variant(); } +const EditorData::CustomType *EditorData::get_custom_type_by_name(const String &p_type) const { + for (const KeyValue<String, Vector<CustomType>> &E : custom_types) { + for (const CustomType &F : E.value) { + if (F.name == p_type) { + return &F; + } + } + } + return nullptr; +} + +const EditorData::CustomType *EditorData::get_custom_type_by_path(const String &p_path) const { + for (const KeyValue<String, Vector<CustomType>> &E : custom_types) { + for (const CustomType &F : E.value) { + if (F.script->get_path() == p_path) { + return &F; + } + } + } + return nullptr; +} + +bool EditorData::is_type_recognized(const String &p_type) const { + return ClassDB::class_exists(p_type) || ScriptServer::is_global_class(p_type) || get_custom_type_by_name(p_type); +} + void EditorData::remove_custom_type(const String &p_type) { for (KeyValue<String, Vector<CustomType>> &E : custom_types) { for (int i = 0; i < E.value.size(); i++) { @@ -1056,7 +1082,7 @@ void EditorSelection::add_node(Node *p_node) { } selection[p_node] = meta; - p_node->connect("tree_exiting", callable_mp(this, &EditorSelection::_node_removed).bind(p_node), CONNECT_ONESHOT); + p_node->connect("tree_exiting", callable_mp(this, &EditorSelection::_node_removed).bind(p_node), CONNECT_ONE_SHOT); } void EditorSelection::remove_node(Node *p_node) { diff --git a/editor/editor_data.h b/editor/editor_data.h index 1da188c546..4f1740d4f0 100644 --- a/editor/editor_data.h +++ b/editor/editor_data.h @@ -184,6 +184,9 @@ public: Variant instance_custom_type(const String &p_type, const String &p_inherits); void remove_custom_type(const String &p_type); const HashMap<String, Vector<CustomType>> &get_custom_types() const { return custom_types; } + const CustomType *get_custom_type_by_name(const String &p_name) const; + const CustomType *get_custom_type_by_path(const String &p_path) const; + bool is_type_recognized(const String &p_type) const; void instantiate_object_properties(Object *p_object); diff --git a/editor/editor_dir_dialog.cpp b/editor/editor_dir_dialog.cpp index 3bb050ce77..f464ca3b3c 100644 --- a/editor/editor_dir_dialog.cpp +++ b/editor/editor_dir_dialog.cpp @@ -44,7 +44,7 @@ void EditorDirDialog::_update_dir(TreeItem *p_item, EditorFileSystemDirectory *p p_item->set_metadata(0, p_dir->get_path()); p_item->set_icon(0, tree->get_theme_icon(SNAME("Folder"), SNAME("EditorIcons"))); - p_item->set_icon_modulate(0, tree->get_theme_color(SNAME("folder_icon_modulate"), SNAME("FileDialog"))); + p_item->set_icon_modulate(0, tree->get_theme_color(SNAME("folder_icon_color"), SNAME("FileDialog"))); if (!p_item->get_parent()) { p_item->set_text(0, "res://"); diff --git a/editor/editor_file_dialog.cpp b/editor/editor_file_dialog.cpp index c953efc528..9fa08a0adb 100644 --- a/editor/editor_file_dialog.cpp +++ b/editor/editor_file_dialog.cpp @@ -84,7 +84,7 @@ void EditorFileDialog::_update_theme_item_cache() { theme_cache.favorites_down = get_theme_icon(SNAME("MoveDown"), SNAME("EditorIcons")); theme_cache.folder = get_theme_icon(SNAME("Folder"), SNAME("EditorIcons")); - theme_cache.folder_icon_modulate = get_theme_color(SNAME("folder_icon_modulate"), SNAME("FileDialog")); + theme_cache.folder_icon_color = get_theme_color(SNAME("folder_icon_color"), SNAME("FileDialog")); theme_cache.action_copy = get_theme_icon(SNAME("ActionCopy"), SNAME("EditorIcons")); theme_cache.action_delete = get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")); @@ -145,6 +145,8 @@ void EditorFileDialog::_notification(int p_what) { if (!is_visible()) { set_process_shortcut_input(false); } + + invalidate(); // For consistency with the standard FileDialog. } break; case NOTIFICATION_WM_WINDOW_FOCUS_IN: { @@ -304,10 +306,6 @@ void EditorFileDialog::_post_popup() { } set_current_dir(current); - if (invalidated) { - update_file_list(); - invalidated = false; - } if (mode == FILE_MODE_SAVE_FILE) { file->grab_focus(); } else { @@ -320,19 +318,13 @@ void EditorFileDialog::_post_popup() { file_box->set_visible(true); } - if (is_visible() && !get_current_file().is_empty()) { + if (!get_current_file().is_empty()) { _request_single_thumbnail(get_current_dir().path_join(get_current_file())); } - if (is_visible()) { - _update_recent(); - - local_history.clear(); - local_history_pos = -1; - _push_history(); - - _update_favorites(); - } + local_history.clear(); + local_history_pos = -1; + _push_history(); set_process_shortcut_input(true); } @@ -657,7 +649,7 @@ void EditorFileDialog::_item_list_empty_clicked(const Vector2 &p_pos, MouseButto item_menu->reset_size(); if (can_create_dir) { - item_menu->add_icon_item(theme_cache.folder, TTR("New Folder..."), ITEM_MENU_NEW_FOLDER, KeyModifierMask::CMD | Key::N); + item_menu->add_icon_item(theme_cache.folder, TTR("New Folder..."), ITEM_MENU_NEW_FOLDER, KeyModifierMask::CMD_OR_CTRL | Key::N); } item_menu->add_icon_item(theme_cache.reload, TTR("Refresh"), ITEM_MENU_REFRESH, Key::F5); item_menu->add_separator(); @@ -839,7 +831,7 @@ void EditorFileDialog::update_file_list() { d["dir"] = true; item_list->set_item_metadata(-1, d); - item_list->set_item_icon_modulate(-1, theme_cache.folder_icon_modulate); + item_list->set_item_icon_modulate(-1, theme_cache.folder_icon_color); dirs.pop_front(); } @@ -1385,7 +1377,7 @@ void EditorFileDialog::_update_favorites() { for (int i = 0; i < favorited_paths.size(); i++) { favorites->add_item(favorited_names[i], theme_cache.folder); favorites->set_item_metadata(-1, favorited_paths[i]); - favorites->set_item_icon_modulate(-1, theme_cache.folder_icon_modulate); + favorites->set_item_icon_modulate(-1, theme_cache.folder_icon_color); if (i == current_favorite) { favorite->set_pressed(true); @@ -1468,7 +1460,7 @@ void EditorFileDialog::_update_recent() { for (int i = 0; i < recentd_paths.size(); i++) { recent->add_item(recentd_names[i], theme_cache.folder); recent->set_item_metadata(-1, recentd_paths[i]); - recent->set_item_icon_modulate(-1, theme_cache.folder_icon_modulate); + recent->set_item_icon_modulate(-1, theme_cache.folder_icon_color); } EditorSettings::get_singleton()->set_recent_dirs(recentd); } @@ -1672,14 +1664,14 @@ EditorFileDialog::EditorFileDialog() { ED_SHORTCUT("file_dialog/go_forward", TTR("Go Forward"), KeyModifierMask::ALT | Key::RIGHT); ED_SHORTCUT("file_dialog/go_up", TTR("Go Up"), KeyModifierMask::ALT | Key::UP); ED_SHORTCUT("file_dialog/refresh", TTR("Refresh"), Key::F5); - ED_SHORTCUT("file_dialog/toggle_hidden_files", TTR("Toggle Hidden Files"), KeyModifierMask::CMD | Key::H); + ED_SHORTCUT("file_dialog/toggle_hidden_files", TTR("Toggle Hidden Files"), KeyModifierMask::CMD_OR_CTRL | Key::H); ED_SHORTCUT("file_dialog/toggle_favorite", TTR("Toggle Favorite"), KeyModifierMask::ALT | Key::F); ED_SHORTCUT("file_dialog/toggle_mode", TTR("Toggle Mode"), KeyModifierMask::ALT | Key::V); - ED_SHORTCUT("file_dialog/create_folder", TTR("Create Folder"), KeyModifierMask::CMD | Key::N); + ED_SHORTCUT("file_dialog/create_folder", TTR("Create Folder"), KeyModifierMask::CMD_OR_CTRL | Key::N); ED_SHORTCUT("file_dialog/delete", TTR("Delete"), Key::KEY_DELETE); - ED_SHORTCUT("file_dialog/focus_path", TTR("Focus Path"), KeyModifierMask::CMD | Key::D); - ED_SHORTCUT("file_dialog/move_favorite_up", TTR("Move Favorite Up"), KeyModifierMask::CMD | Key::UP); - ED_SHORTCUT("file_dialog/move_favorite_down", TTR("Move Favorite Down"), KeyModifierMask::CMD | Key::DOWN); + ED_SHORTCUT("file_dialog/focus_path", TTR("Focus Path"), KeyModifierMask::CMD_OR_CTRL | Key::D); + ED_SHORTCUT("file_dialog/move_favorite_up", TTR("Move Favorite Up"), KeyModifierMask::CMD_OR_CTRL | Key::UP); + ED_SHORTCUT("file_dialog/move_favorite_down", TTR("Move Favorite Down"), KeyModifierMask::CMD_OR_CTRL | Key::DOWN); HBoxContainer *pathhb = memnew(HBoxContainer); diff --git a/editor/editor_file_dialog.h b/editor/editor_file_dialog.h index 528050ba4f..6d11cb10ed 100644 --- a/editor/editor_file_dialog.h +++ b/editor/editor_file_dialog.h @@ -161,7 +161,7 @@ private: Ref<Texture2D> favorites_down; Ref<Texture2D> folder; - Color folder_icon_modulate; + Color folder_icon_color; Ref<Texture2D> action_copy; Ref<Texture2D> action_delete; diff --git a/editor/editor_file_system.cpp b/editor/editor_file_system.cpp index 177bc6d2b2..b89bd23859 100644 --- a/editor/editor_file_system.cpp +++ b/editor/editor_file_system.cpp @@ -690,7 +690,6 @@ void EditorFileSystem::scan() { _update_extensions(); - abort_scan = false; if (!use_threads) { scanning = true; scan_total = 0; @@ -1162,8 +1161,6 @@ void EditorFileSystem::scan_changes() { scanning_changes = true; scanning_changes_done = false; - abort_scan = false; - if (!use_threads) { if (filesystem) { EditorProgressBG pr("sources", TTR("ScanSources"), 1000); @@ -1195,8 +1192,6 @@ void EditorFileSystem::_notification(int p_what) { case NOTIFICATION_EXIT_TREE: { Thread &active_thread = thread.is_started() ? thread : thread_sources; if (use_threads && active_thread.is_started()) { - //abort thread if in progress - abort_scan = true; while (scanning) { OS::get_singleton()->delay_usec(1000); } diff --git a/editor/editor_file_system.h b/editor/editor_file_system.h index f4e69b95e7..e06c6e4593 100644 --- a/editor/editor_file_system.h +++ b/editor/editor_file_system.h @@ -168,7 +168,6 @@ class EditorFileSystem : public Node { EditorFileSystemDirectory *new_filesystem = nullptr; - bool abort_scan = false; bool scanning = false; bool importing = false; bool first_scan = true; diff --git a/editor/editor_fonts.cpp b/editor/editor_fonts.cpp index fffe77f1c4..c31d13d122 100644 --- a/editor/editor_fonts.cpp +++ b/editor/editor_fonts.cpp @@ -96,6 +96,7 @@ void editor_register_fonts(Ref<Theme> p_theme) { TextServer::SubpixelPositioning font_subpixel_positioning = (TextServer::SubpixelPositioning)(int)EditorSettings::get_singleton()->get("interface/editor/font_subpixel_positioning"); TextServer::Hinting font_hinting; + TextServer::Hinting font_mono_hinting; switch (font_hinting_setting) { case 0: // The "Auto" setting uses the setting that best matches the OS' font rendering: @@ -104,18 +105,23 @@ void editor_register_fonts(Ref<Theme> p_theme) { // - Linux has configurable font hinting, but most distributions including Ubuntu default to "Light". #ifdef MACOS_ENABLED font_hinting = TextServer::HINTING_NONE; + font_mono_hinting = TextServer::HINTING_NONE; #else font_hinting = TextServer::HINTING_LIGHT; + font_mono_hinting = TextServer::HINTING_LIGHT; #endif break; case 1: font_hinting = TextServer::HINTING_NONE; + font_mono_hinting = TextServer::HINTING_NONE; break; case 2: font_hinting = TextServer::HINTING_LIGHT; + font_mono_hinting = TextServer::HINTING_LIGHT; break; default: font_hinting = TextServer::HINTING_NORMAL; + font_mono_hinting = TextServer::HINTING_LIGHT; break; } @@ -163,7 +169,7 @@ void editor_register_fonts(Ref<Theme> p_theme) { default_font_bold->set_fallbacks(fallbacks_bold); default_font_bold_msdf->set_fallbacks(fallbacks_bold); - Ref<FontFile> default_font_mono = load_internal_font(_font_JetBrainsMono_Regular, _font_JetBrainsMono_Regular_size, font_hinting, font_antialiasing, true, font_subpixel_positioning); + Ref<FontFile> default_font_mono = load_internal_font(_font_JetBrainsMono_Regular, _font_JetBrainsMono_Regular_size, font_mono_hinting, font_antialiasing, true, font_subpixel_positioning); default_font_mono->set_fallbacks(fallbacks); // Init base font configs and load custom fonts. @@ -260,7 +266,7 @@ void editor_register_fonts(Ref<Theme> p_theme) { Ref<FontVariation> mono_fc; mono_fc.instantiate(); if (custom_font_path_source.length() > 0 && dir->file_exists(custom_font_path_source)) { - Ref<FontFile> custom_font = load_external_font(custom_font_path_source, font_hinting, font_antialiasing, true, font_subpixel_positioning); + Ref<FontFile> custom_font = load_external_font(custom_font_path_source, font_mono_hinting, font_antialiasing, true, font_subpixel_positioning); { TypedArray<Font> fallback_custom; fallback_custom.push_back(default_font_mono); diff --git a/editor/editor_help.cpp b/editor/editor_help.cpp index de89cd8df4..745dcdd04c 100644 --- a/editor/editor_help.cpp +++ b/editor/editor_help.cpp @@ -276,6 +276,23 @@ String EditorHelp::_fix_constant(const String &p_constant) const { return p_constant; } +// Macros for assigning the deprecation/experimental information to class members +#define DEPRECATED_DOC_TAG \ + class_desc->push_color(get_theme_color(SNAME("error_color"), SNAME("Editor"))); \ + Ref<Texture2D> error_icon = get_theme_icon(SNAME("StatusError"), SNAME("EditorIcons")); \ + class_desc->add_text(" "); \ + class_desc->add_image(error_icon, error_icon->get_width(), error_icon->get_height()); \ + class_desc->add_text(" (" + TTR("Deprecated") + ")"); \ + class_desc->pop(); + +#define EXPERIMENTAL_DOC_TAG \ + class_desc->push_color(get_theme_color(SNAME("warning_color"), SNAME("Editor"))); \ + Ref<Texture2D> warning_icon = get_theme_icon(SNAME("NodeWarning"), SNAME("EditorIcons")); \ + class_desc->add_text(" "); \ + class_desc->add_image(warning_icon, warning_icon->get_width(), warning_icon->get_height()); \ + class_desc->add_text(" (" + TTR("Experimental") + ")"); \ + class_desc->pop(); + void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview) { method_line[p_method.name] = class_desc->get_paragraph_count() - 2; //gets overridden if description @@ -356,6 +373,14 @@ void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview class_desc->pop(); } + if (p_method.is_deprecated) { + DEPRECATED_DOC_TAG; + } + + if (p_method.is_experimental) { + EXPERIMENTAL_DOC_TAG; + } + if (p_overview) { class_desc->pop(); //cell } @@ -565,6 +590,17 @@ void EditorHelp::_update_doc() { class_desc->pop(); // color class_desc->pop(); // font size class_desc->pop(); // font + + if (cd.is_deprecated) { + class_desc->add_text(" "); + Ref<Texture2D> error_icon = get_theme_icon(SNAME("StatusError"), SNAME("EditorIcons")); + class_desc->add_image(error_icon, error_icon->get_width(), error_icon->get_height()); + } + if (cd.is_experimental) { + class_desc->add_text(" "); + Ref<Texture2D> warning_icon = get_theme_icon(SNAME("NodeWarning"), SNAME("EditorIcons")); + class_desc->add_image(warning_icon, warning_icon->get_width(), warning_icon->get_height()); + } class_desc->add_newline(); const String non_breaking_space = String::chr(160); @@ -627,6 +663,26 @@ void EditorHelp::_update_doc() { } } + // Note if deprecated. + if (cd.is_deprecated) { + Ref<Texture2D> error_icon = get_theme_icon(SNAME("StatusError"), SNAME("EditorIcons")); + class_desc->push_color(get_theme_color(SNAME("error_color"), SNAME("Editor"))); + class_desc->add_image(error_icon, error_icon->get_width(), error_icon->get_height()); + class_desc->add_text(String(" ") + TTR("This class is marked as deprecated. It will be removed in future versions.")); + class_desc->pop(); + class_desc->add_newline(); + } + + // Note if experimental. + if (cd.is_experimental) { + Ref<Texture2D> warning_icon = get_theme_icon(SNAME("NodeWarning"), SNAME("EditorIcons")); + class_desc->push_color(get_theme_color(SNAME("warning_color"), SNAME("Editor"))); + class_desc->add_image(warning_icon, warning_icon->get_width(), warning_icon->get_height()); + class_desc->add_text(String(" ") + TTR("This class is marked as experimental. It is subject to likely change or possible removal in future versions. Use at your own discretion.")); + class_desc->pop(); + class_desc->add_newline(); + } + class_desc->add_newline(); class_desc->add_newline(); @@ -817,6 +873,13 @@ void EditorHelp::_update_doc() { class_desc->pop(); } + if (cd.properties[i].is_deprecated) { + DEPRECATED_DOC_TAG; + } + if (cd.properties[i].is_experimental) { + EXPERIMENTAL_DOC_TAG; + } + class_desc->pop(); class_desc->pop(); // cell @@ -1066,6 +1129,14 @@ void EditorHelp::_update_doc() { class_desc->push_color(symbol_color); class_desc->add_text(")"); + + if (cd.signals[i].is_deprecated) { + DEPRECATED_DOC_TAG; + } + if (cd.signals[i].is_experimental) { + EXPERIMENTAL_DOC_TAG; + } + class_desc->pop(); class_desc->pop(); // end monofont if (!cd.signals[i].description.strip_edges().is_empty()) { @@ -1187,6 +1258,14 @@ void EditorHelp::_update_doc() { class_desc->pop(); class_desc->pop(); + if (enum_list[i].is_deprecated) { + DEPRECATED_DOC_TAG; + } + + if (enum_list[i].is_experimental) { + EXPERIMENTAL_DOC_TAG; + } + class_desc->add_newline(); if (!enum_list[i].description.strip_edges().is_empty()) { @@ -1258,6 +1337,14 @@ void EditorHelp::_update_doc() { class_desc->pop(); + if (constants[i].is_deprecated) { + DEPRECATED_DOC_TAG; + } + + if (constants[i].is_experimental) { + EXPERIMENTAL_DOC_TAG; + } + class_desc->add_newline(); if (!constants[i].description.strip_edges().is_empty()) { @@ -1438,6 +1525,13 @@ void EditorHelp::_update_doc() { class_desc->pop(); // color } + if (cd.properties[i].is_deprecated) { + DEPRECATED_DOC_TAG; + } + if (cd.properties[i].is_experimental) { + EXPERIMENTAL_DOC_TAG; + } + 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:") + " "); @@ -1662,19 +1756,19 @@ void EditorHelp::_help_callback(const String &p_topic) { } } -static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt) { +static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt, Control *p_owner_node) { DocTools *doc = EditorHelp::get_doc_data(); String base_path; - Ref<Font> doc_font = p_rt->get_theme_font(SNAME("doc"), SNAME("EditorFonts")); - Ref<Font> doc_bold_font = p_rt->get_theme_font(SNAME("doc_bold"), SNAME("EditorFonts")); - Ref<Font> doc_italic_font = p_rt->get_theme_font(SNAME("doc_italic"), SNAME("EditorFonts")); - Ref<Font> doc_code_font = p_rt->get_theme_font(SNAME("doc_source"), SNAME("EditorFonts")); - Ref<Font> doc_kbd_font = p_rt->get_theme_font(SNAME("doc_keyboard"), SNAME("EditorFonts")); + Ref<Font> doc_font = p_owner_node->get_theme_font(SNAME("doc"), SNAME("EditorFonts")); + Ref<Font> doc_bold_font = p_owner_node->get_theme_font(SNAME("doc_bold"), SNAME("EditorFonts")); + Ref<Font> doc_italic_font = p_owner_node->get_theme_font(SNAME("doc_italic"), SNAME("EditorFonts")); + Ref<Font> doc_code_font = p_owner_node->get_theme_font(SNAME("doc_source"), SNAME("EditorFonts")); + Ref<Font> doc_kbd_font = p_owner_node->get_theme_font(SNAME("doc_keyboard"), SNAME("EditorFonts")); - Color link_color = p_rt->get_theme_color(SNAME("link_color"), SNAME("EditorHelp")); - Color code_color = p_rt->get_theme_color(SNAME("code_color"), SNAME("EditorHelp")); - Color kbd_color = p_rt->get_theme_color(SNAME("kbd_color"), SNAME("EditorHelp")); + Color link_color = p_owner_node->get_theme_color(SNAME("link_color"), SNAME("EditorHelp")); + Color code_color = p_owner_node->get_theme_color(SNAME("code_color"), SNAME("EditorHelp")); + Color kbd_color = p_owner_node->get_theme_color(SNAME("kbd_color"), SNAME("EditorHelp")); String bbcode = p_bbcode.dedent().replace("\t", "").replace("\r", "").strip_edges(); @@ -1966,7 +2060,7 @@ static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt) { } void EditorHelp::_add_text(const String &p_bbcode) { - _add_text_to_rt(p_bbcode, class_desc); + _add_text_to_rt(p_bbcode, class_desc, this); } Thread EditorHelp::thread; @@ -2192,11 +2286,10 @@ void EditorHelpBit::_bind_methods() { void EditorHelpBit::_notification(int p_what) { switch (p_what) { - case NOTIFICATION_ENTER_TREE: case NOTIFICATION_THEME_CHANGED: { rich_text->add_theme_color_override("selection_color", get_theme_color(SNAME("selection_color"), SNAME("EditorHelp"))); rich_text->clear(); - _add_text_to_rt(text, rich_text); + _add_text_to_rt(text, rich_text, this); rich_text->reset_size(); // Force recalculating size after parsing bbcode. } break; } @@ -2205,7 +2298,7 @@ void EditorHelpBit::_notification(int p_what) { void EditorHelpBit::set_text(const String &p_text) { text = p_text; rich_text->clear(); - _add_text_to_rt(text, rich_text); + _add_text_to_rt(text, rich_text, this); } EditorHelpBit::EditorHelpBit() { diff --git a/editor/editor_help_search.cpp b/editor/editor_help_search.cpp index 2e35f21e47..7e7d7ca418 100644 --- a/editor/editor_help_search.cpp +++ b/editor/editor_help_search.cpp @@ -231,6 +231,7 @@ EditorHelpSearch::EditorHelpSearch() { filter_combo->add_item(TTR("Methods Only"), SEARCH_METHODS); filter_combo->add_item(TTR("Operators Only"), SEARCH_OPERATORS); filter_combo->add_item(TTR("Signals Only"), SEARCH_SIGNALS); + filter_combo->add_item(TTR("Annotations Only"), SEARCH_ANNOTATIONS); filter_combo->add_item(TTR("Constants Only"), SEARCH_CONSTANTS); filter_combo->add_item(TTR("Properties Only"), SEARCH_PROPERTIES); filter_combo->add_item(TTR("Theme Properties Only"), SEARCH_THEME_ITEMS); @@ -325,6 +326,7 @@ bool EditorHelpSearch::Runner::_phase_match_classes_init() { bool EditorHelpSearch::Runner::_phase_match_classes() { DocData::ClassDoc &class_doc = iterator_doc->value; if (class_doc.name.is_empty()) { + ++iterator_doc; return false; } if (!_is_class_disabled_by_feature_profile(class_doc.name)) { @@ -339,8 +341,9 @@ bool EditorHelpSearch::Runner::_phase_match_classes() { match.name = (term.is_empty() && (!class_doc.is_script_doc || class_doc.name[0] != '\"')) || _match_string(term, class_doc.name); } - // Match members if the term is long enough. - if (term.length() > 1) { + // Match members only if the term is long enough, to avoid slow performance from building a large tree. + // Make an exception for annotations, since there are not that many of them. + if (term.length() > 1 || term == "@") { if (search_flags & SEARCH_CONSTRUCTORS) { for (int i = 0; i < class_doc.constructors.size(); i++) { String method_name = (search_flags & SEARCH_CASE_SENSITIVE) ? class_doc.constructors[i].name : class_doc.constructors[i].name.to_lower(); @@ -402,6 +405,13 @@ bool EditorHelpSearch::Runner::_phase_match_classes() { } } } + if (search_flags & SEARCH_ANNOTATIONS) { + for (int i = 0; i < class_doc.annotations.size(); i++) { + if (_match_string(term, class_doc.annotations[i].name)) { + match.annotations.push_back(const_cast<DocData::MethodDoc *>(&class_doc.annotations[i])); + } + } + } matches[class_doc.name] = match; } matches[class_doc.name] = match; @@ -423,7 +433,7 @@ bool EditorHelpSearch::Runner::_phase_class_items_init() { bool EditorHelpSearch::Runner::_phase_class_items() { if (!iterator_match) { - return false; + return true; } ClassMatch &match = iterator_match->value; @@ -450,10 +460,8 @@ bool EditorHelpSearch::Runner::_phase_member_items_init() { bool EditorHelpSearch::Runner::_phase_member_items() { ClassMatch &match = iterator_match->value; - if (!match.doc) { - return false; - } - if (match.doc->name.is_empty()) { + if (!match.doc || match.doc->name.is_empty()) { + ++iterator_match; return false; } @@ -485,6 +493,10 @@ bool EditorHelpSearch::Runner::_phase_member_items() { for (int i = 0; i < match.theme_properties.size(); i++) { _create_theme_property_item(parent, match.doc, match.theme_properties[i]); } + for (int i = 0; i < match.annotations.size(); i++) { + // Hide the redundant leading @ symbol. + _create_annotation_item(parent, match.doc, match.annotations[i]->name.substr(1), match.annotations[i]); + } ++iterator_match; return !iterator_match; @@ -523,6 +535,22 @@ void EditorHelpSearch::Runner::_match_item(TreeItem *p_item, const String &p_tex } } +String EditorHelpSearch::Runner::_build_method_tooltip(const DocData::ClassDoc *p_class_doc, const DocData::MethodDoc *p_doc) const { + String tooltip = p_doc->return_type + " " + p_class_doc->name + "." + p_doc->name + "("; + 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.is_empty()) { + tooltip += " = " + arg.default_value; + } + if (i < p_doc->arguments.size() - 1) { + tooltip += ", "; + } + } + tooltip += ")"; + return tooltip; +} + TreeItem *EditorHelpSearch::Runner::_create_class_hierarchy(const ClassMatch &p_match) { if (p_match.doc->name.is_empty()) { return nullptr; @@ -570,61 +598,52 @@ TreeItem *EditorHelpSearch::Runner::_create_class_item(TreeItem *p_parent, const item->set_custom_color(1, disabled_color); } + if (p_doc->is_deprecated) { + Ref<Texture2D> error_icon = ui_service->get_theme_icon("StatusError", SNAME("EditorIcons")); + item->add_button(0, error_icon, 0, false, TTR("This class is marked as deprecated.")); + } else if (p_doc->is_experimental) { + Ref<Texture2D> warning_icon = ui_service->get_theme_icon("NodeWarning", SNAME("EditorIcons")); + item->add_button(0, warning_icon, 0, false, TTR("This class is marked as experimental.")); + } + _match_item(item, p_doc->name); return item; } TreeItem *EditorHelpSearch::Runner::_create_method_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const String &p_text, const DocData::MethodDoc *p_doc) { - String tooltip = p_doc->return_type + " " + p_class_doc->name + "." + p_doc->name + "("; - 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.is_empty()) { - tooltip += " = " + arg.default_value; - } - if (i < p_doc->arguments.size() - 1) { - tooltip += ", "; - } - } - tooltip += ")"; - return _create_member_item(p_parent, p_class_doc->name, "MemberMethod", p_doc->name, p_text, TTRC("Method"), "method", tooltip); + String tooltip = _build_method_tooltip(p_class_doc, p_doc); + return _create_member_item(p_parent, p_class_doc->name, "MemberMethod", p_doc->name, p_text, TTRC("Method"), "method", tooltip, p_doc->is_deprecated, p_doc->is_experimental); } TreeItem *EditorHelpSearch::Runner::_create_signal_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const DocData::MethodDoc *p_doc) { - String tooltip = p_doc->return_type + " " + p_class_doc->name + "." + p_doc->name + "("; - 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.is_empty()) { - tooltip += " = " + arg.default_value; - } - if (i < p_doc->arguments.size() - 1) { - tooltip += ", "; - } - } - tooltip += ")"; - return _create_member_item(p_parent, p_class_doc->name, "MemberSignal", p_doc->name, p_doc->name, TTRC("Signal"), "signal", tooltip); + String tooltip = _build_method_tooltip(p_class_doc, p_doc); + return _create_member_item(p_parent, p_class_doc->name, "MemberSignal", p_doc->name, p_doc->name, TTRC("Signal"), "signal", tooltip, p_doc->is_deprecated, p_doc->is_experimental); +} + +TreeItem *EditorHelpSearch::Runner::_create_annotation_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const String &p_text, const DocData::MethodDoc *p_doc) { + String tooltip = _build_method_tooltip(p_class_doc, p_doc); + return _create_member_item(p_parent, p_class_doc->name, "MemberAnnotation", p_doc->name, p_text, TTRC("Annotation"), "annotation", tooltip, p_doc->is_deprecated, p_doc->is_experimental); } TreeItem *EditorHelpSearch::Runner::_create_constant_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const DocData::ConstantDoc *p_doc) { String tooltip = p_class_doc->name + "." + p_doc->name; - return _create_member_item(p_parent, p_class_doc->name, "MemberConstant", p_doc->name, p_doc->name, TTRC("Constant"), "constant", tooltip); + return _create_member_item(p_parent, p_class_doc->name, "MemberConstant", p_doc->name, p_doc->name, TTRC("Constant"), "constant", tooltip, p_doc->is_deprecated, p_doc->is_experimental); } TreeItem *EditorHelpSearch::Runner::_create_property_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const DocData::PropertyDoc *p_doc) { String tooltip = p_doc->type + " " + p_class_doc->name + "." + p_doc->name; tooltip += "\n " + p_class_doc->name + "." + p_doc->setter + "(value) setter"; tooltip += "\n " + p_class_doc->name + "." + p_doc->getter + "() getter"; - return _create_member_item(p_parent, p_class_doc->name, "MemberProperty", p_doc->name, p_doc->name, TTRC("Property"), "property", tooltip); + return _create_member_item(p_parent, p_class_doc->name, "MemberProperty", p_doc->name, p_doc->name, TTRC("Property"), "property", tooltip, p_doc->is_deprecated, p_doc->is_experimental); } TreeItem *EditorHelpSearch::Runner::_create_theme_property_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const DocData::ThemeItemDoc *p_doc) { String tooltip = p_doc->type + " " + p_class_doc->name + "." + p_doc->name; - return _create_member_item(p_parent, p_class_doc->name, "MemberTheme", p_doc->name, p_doc->name, TTRC("Theme Property"), "theme_item", tooltip); + return _create_member_item(p_parent, p_class_doc->name, "MemberTheme", p_doc->name, p_doc->name, TTRC("Theme Property"), "theme_item", tooltip, false, false); } -TreeItem *EditorHelpSearch::Runner::_create_member_item(TreeItem *p_parent, const String &p_class_name, const String &p_icon, const String &p_name, const String &p_text, const String &p_type, const String &p_metatype, const String &p_tooltip) { +TreeItem *EditorHelpSearch::Runner::_create_member_item(TreeItem *p_parent, const String &p_class_name, const String &p_icon, const String &p_name, const String &p_text, const String &p_type, const String &p_metatype, const String &p_tooltip, bool is_deprecated, bool is_experimental) { Ref<Texture2D> icon; String text; if (search_flags & SEARCH_SHOW_HIERARCHY) { @@ -643,6 +662,14 @@ TreeItem *EditorHelpSearch::Runner::_create_member_item(TreeItem *p_parent, cons item->set_tooltip_text(1, p_tooltip); item->set_metadata(0, "class_" + p_metatype + ":" + p_class_name + ":" + p_name); + if (is_deprecated) { + Ref<Texture2D> error_icon = ui_service->get_theme_icon("StatusError", SNAME("EditorIcons")); + item->add_button(0, error_icon, 0, false, TTR("This member is marked as deprecated.")); + } else if (is_experimental) { + Ref<Texture2D> warning_icon = ui_service->get_theme_icon("NodeWarning", SNAME("EditorIcons")); + item->add_button(0, warning_icon, 0, false, TTR("This member is marked as experimental.")); + } + _match_item(item, p_name); return item; diff --git a/editor/editor_help_search.h b/editor/editor_help_search.h index 3f17c992ac..efd8645cd7 100644 --- a/editor/editor_help_search.h +++ b/editor/editor_help_search.h @@ -50,7 +50,8 @@ class EditorHelpSearch : public ConfirmationDialog { SEARCH_CONSTANTS = 1 << 5, SEARCH_PROPERTIES = 1 << 6, SEARCH_THEME_ITEMS = 1 << 7, - SEARCH_ALL = SEARCH_CLASSES | SEARCH_CONSTRUCTORS | SEARCH_METHODS | SEARCH_OPERATORS | SEARCH_SIGNALS | SEARCH_CONSTANTS | SEARCH_PROPERTIES | SEARCH_THEME_ITEMS, + SEARCH_ANNOTATIONS = 1 << 8, + SEARCH_ALL = SEARCH_CLASSES | SEARCH_CONSTRUCTORS | SEARCH_METHODS | SEARCH_OPERATORS | SEARCH_SIGNALS | SEARCH_CONSTANTS | SEARCH_PROPERTIES | SEARCH_THEME_ITEMS | SEARCH_ANNOTATIONS, SEARCH_CASE_SENSITIVE = 1 << 29, SEARCH_SHOW_HIERARCHY = 1 << 30 }; @@ -108,9 +109,10 @@ class EditorHelpSearch::Runner : public RefCounted { Vector<DocData::ConstantDoc *> constants; Vector<DocData::PropertyDoc *> properties; Vector<DocData::ThemeItemDoc *> theme_properties; + Vector<DocData::MethodDoc *> annotations; bool required() { - return name || methods.size() || signals.size() || constants.size() || properties.size() || theme_properties.size(); + return name || methods.size() || signals.size() || constants.size() || properties.size() || theme_properties.size() || annotations.size(); } }; @@ -141,16 +143,19 @@ class EditorHelpSearch::Runner : public RefCounted { bool _phase_member_items(); bool _phase_select_match(); + String _build_method_tooltip(const DocData::ClassDoc *p_class_doc, const DocData::MethodDoc *p_doc) const; + bool _match_string(const String &p_term, const String &p_string) const; void _match_item(TreeItem *p_item, const String &p_text); TreeItem *_create_class_hierarchy(const ClassMatch &p_match); TreeItem *_create_class_item(TreeItem *p_parent, const DocData::ClassDoc *p_doc, bool p_gray); TreeItem *_create_method_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const String &p_text, const DocData::MethodDoc *p_doc); TreeItem *_create_signal_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const DocData::MethodDoc *p_doc); + TreeItem *_create_annotation_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const String &p_text, const DocData::MethodDoc *p_doc); TreeItem *_create_constant_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const DocData::ConstantDoc *p_doc); TreeItem *_create_property_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const DocData::PropertyDoc *p_doc); TreeItem *_create_theme_property_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const DocData::ThemeItemDoc *p_doc); - TreeItem *_create_member_item(TreeItem *p_parent, const String &p_class_name, const String &p_icon, const String &p_name, const String &p_text, const String &p_type, const String &p_metatype, const String &p_tooltip); + TreeItem *_create_member_item(TreeItem *p_parent, const String &p_class_name, const String &p_icon, const String &p_name, const String &p_text, const String &p_type, const String &p_metatype, const String &p_tooltip, bool is_deprecated, bool is_experimental); public: bool work(uint64_t slot = 100000); diff --git a/editor/editor_inspector.cpp b/editor/editor_inspector.cpp index bdf1c314f8..413eb52556 100644 --- a/editor/editor_inspector.cpp +++ b/editor/editor_inspector.cpp @@ -458,7 +458,7 @@ StringName EditorProperty::_get_revert_property() const { return property; } -void EditorProperty::update_revert_and_pin_status() { +void EditorProperty::update_editor_property_status() { if (property == StringName()) { return; //no property, so nothing to do } @@ -469,15 +469,26 @@ void EditorProperty::update_revert_and_pin_status() { CRASH_COND(!node); new_pinned = node->is_property_pinned(property); } + Variant current = object->get(_get_revert_property()); bool new_can_revert = EditorPropertyRevert::can_property_revert(object, property, ¤t) && !is_read_only(); - if (new_can_revert != can_revert || new_pinned != pinned) { + bool new_checked = checked; + if (checkable) { // for properties like theme overrides. + bool valid = false; + Variant value = object->get(property, &valid); + if (valid) { + new_checked = value.get_type() != Variant::NIL; + } + } + + if (new_can_revert != can_revert || new_pinned != pinned || new_checked != checked) { if (new_can_revert != can_revert) { emit_signal(SNAME("property_can_revert_changed"), property, new_can_revert); } can_revert = new_can_revert; pinned = new_pinned; + checked = new_checked; queue_redraw(); } } @@ -974,7 +985,7 @@ void EditorProperty::_bind_methods() { ADD_SIGNAL(MethodInfo("selected", PropertyInfo(Variant::STRING, "path"), PropertyInfo(Variant::INT, "focusable_idx"))); GDVIRTUAL_BIND(_update_property) - ClassDB::bind_method(D_METHOD("_update_revert_and_pin_status"), &EditorProperty::update_revert_and_pin_status); + ClassDB::bind_method(D_METHOD("_update_editor_property_status"), &EditorProperty::update_editor_property_status); } EditorProperty::EditorProperty() { @@ -1602,7 +1613,7 @@ void EditorInspectorArray::_rmb_popup_id_pressed(int p_id) { case OPTION_RESIZE_ARRAY: new_size_spin_box->set_value(count); resize_dialog->get_ok_button()->set_disabled(true); - resize_dialog->popup_centered(Size2i(250, 0) * EDSCALE); + resize_dialog->popup_centered(Size2(250, 0) * EDSCALE); new_size_spin_box->get_line_edit()->grab_focus(); new_size_spin_box->get_line_edit()->select_all(); break; @@ -1651,6 +1662,10 @@ void EditorInspectorArray::_panel_draw(int p_index) { void EditorInspectorArray::_panel_gui_input(Ref<InputEvent> p_event, int p_index) { ERR_FAIL_INDEX(p_index, (int)array_elements.size()); + if (read_only) { + return; + } + Ref<InputEventKey> key_ref = p_event; if (key_ref.is_valid()) { const InputEventKey &key = **key_ref; @@ -2151,7 +2166,7 @@ void EditorInspectorArray::drop_data_fw(const Point2 &p_point, const Variant &p_ } bool EditorInspectorArray::can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const { - if (!movable) { + if (!movable || read_only) { return false; } // First, update drawing. @@ -2271,7 +2286,9 @@ VBoxContainer *EditorInspectorArray::get_vbox(int p_index) { } } -EditorInspectorArray::EditorInspectorArray() { +EditorInspectorArray::EditorInspectorArray(bool p_read_only) { + read_only = p_read_only; + set_mouse_filter(Control::MOUSE_FILTER_STOP); odd_style.instantiate(); @@ -2297,6 +2314,7 @@ EditorInspectorArray::EditorInspectorArray() { add_button = EditorInspector::create_inspector_action_button(TTR("Add Element")); add_button->connect("pressed", callable_mp(this, &EditorInspectorArray::_add_button_pressed)); + add_button->set_disabled(read_only); vbox->add_child(add_button); control_dropping = memnew(Control); @@ -2317,6 +2335,7 @@ EditorInspectorArray::EditorInspectorArray() { new_size_spin_box->set_max(16384); new_size_spin_box->connect("value_changed", callable_mp(this, &EditorInspectorArray::_new_size_spin_box_value_changed)); new_size_spin_box->get_line_edit()->connect("text_submitted", callable_mp(this, &EditorInspectorArray::_new_size_spin_box_text_submitted)); + new_size_spin_box->set_editable(!read_only); resize_dialog_vbox->add_margin_child(TTRC("New Size:"), new_size_spin_box); vbox->connect("visibility_changed", callable_mp(this, &EditorInspectorArray::_vbox_visibility_changed)); @@ -2544,7 +2563,7 @@ void EditorInspector::_parse_added_editors(VBoxContainer *current_vbox, EditorIn ep->set_read_only(read_only); ep->update_property(); ep->_update_pin_flags(); - ep->update_revert_and_pin_status(); + ep->update_editor_property_status(); ep->set_deletable(deletable_properties); ep->update_cache(); } @@ -2711,6 +2730,11 @@ void EditorInspector::update_tree() { continue; } + // Hide the "MultiNodeEdit" category for MultiNodeEdit. + if (Object::cast_to<MultiNodeEdit>(object) && p.name == "MultiNodeEdit") { + continue; + } + // Iterate over remaining properties. If no properties in category, skip the category. List<PropertyInfo>::Element *N = E_property->next(); bool valid = true; @@ -2738,7 +2762,7 @@ void EditorInspector::update_tree() { doc_name = p.name; // Set the category icon. - if (!ClassDB::class_exists(type) && !ScriptServer::is_global_class(type) && p.hint_string.length() && FileAccess::exists(p.hint_string)) { + if (!EditorNode::get_editor_data().is_type_recognized(type) && p.hint_string.length() && FileAccess::exists(p.hint_string)) { // If we have a category inside a script, search for the first script with a valid icon. Ref<Script> script = ResourceLoader::load(p.hint_string, "Script"); StringName base_type; @@ -2757,10 +2781,16 @@ void EditorInspector::update_tree() { while (script.is_valid()) { name = EditorNode::get_editor_data().script_class_get_name(script->get_path()); String icon_path = EditorNode::get_editor_data().script_class_get_icon_path(name); - if (name != StringName() && icon_path.length()) { + if (name != StringName() && !icon_path.is_empty()) { category->icon = ResourceLoader::load(icon_path, "Texture"); break; } + + const EditorData::CustomType *ctype = EditorNode::get_editor_data().get_custom_type_by_path(script->get_path()); + if (ctype) { + category->icon = ctype->icon; + break; + } script = script->get_base_script(); } if (category->icon.is_null() && has_theme_icon(base_type, SNAME("EditorIcons"))) { @@ -2819,6 +2849,11 @@ void EditorInspector::update_tree() { continue; } + if (p.name.begins_with("metadata/") && bool(object->call("_hide_metadata_from_inspector"))) { + // Hide metadata from inspector if required. + continue; + } + // Get the path for property. String path = p.name; @@ -3014,7 +3049,7 @@ void EditorInspector::update_tree() { bool movable = true; bool numbered = false; bool foldable = use_folding; - String add_button_text; + String add_button_text = TTR("Add Element"); String swap_method; for (int i = (p.type == Variant::NIL ? 1 : 2); i < class_name_components.size(); i++) { if (class_name_components[i].begins_with("page_size") && class_name_components[i].get_slice_count("=") == 2) { @@ -3035,7 +3070,7 @@ void EditorInspector::update_tree() { if (p.type == Variant::NIL) { // Setup the array to use a method to create/move/delete elements. array_element_prefix = class_name_components[0]; - editor_inspector_array = memnew(EditorInspectorArray); + editor_inspector_array = memnew(EditorInspectorArray(all_read_only)); String array_label = path.contains("/") ? path.substr(path.rfind("/") + 1) : path; array_label = EditorPropertyNameProcessor::get_singleton()->process_name(property_label_string, property_name_style); @@ -3047,7 +3082,7 @@ void EditorInspector::update_tree() { // Setup the array to use the count property and built-in functions to create/move/delete elements. if (class_name_components.size() >= 2) { array_element_prefix = class_name_components[1]; - editor_inspector_array = memnew(EditorInspectorArray); + editor_inspector_array = memnew(EditorInspectorArray(all_read_only)); int page = per_array_page.has(array_element_prefix) ? per_array_page[array_element_prefix] : 0; editor_inspector_array->setup_with_count_property(object, class_name_components[0], p.name, array_element_prefix, page, c, foldable, movable, numbered, page_size, add_button_text, swap_method); @@ -3089,6 +3124,8 @@ void EditorInspector::update_tree() { StringName classname = doc_name == "" ? object->get_class_name() : doc_name; if (!object_class.is_empty()) { classname = object_class; + } else if (Object::cast_to<MultiNodeEdit>(object)) { + classname = Object::cast_to<MultiNodeEdit>(object)->get_edited_class_name(); } StringName propname = property_prefix + p.name; @@ -3185,6 +3222,7 @@ void EditorInspector::update_tree() { // Use the existing one. ep->set_label(property_label_string); } + for (int j = 0; j < properties.size(); j++) { String prop = properties[j]; @@ -3232,7 +3270,7 @@ void EditorInspector::update_tree() { ep->set_doc_path(doc_info.path); ep->update_property(); ep->_update_pin_flags(); - ep->update_revert_and_pin_status(); + ep->update_editor_property_status(); ep->update_cache(); if (current_selected && ep->property == current_selected) { @@ -3242,7 +3280,7 @@ void EditorInspector::update_tree() { } } - if (!hide_metadata) { + if (!hide_metadata && !object->call("_hide_metadata_from_inspector")) { // Add 4px of spacing between the "Add Metadata" button and the content above it. Control *spacer = memnew(Control); spacer->set_custom_minimum_size(Size2(0, 4) * EDSCALE); @@ -3271,7 +3309,7 @@ void EditorInspector::update_property(const String &p_prop) { for (EditorProperty *E : editor_property_map[p_prop]) { E->update_property(); - E->update_revert_and_pin_status(); + E->update_editor_property_status(); E->update_cache(); } } @@ -3475,9 +3513,9 @@ void EditorInspector::_update_inspector_bg() { n = n->get_parent(); } count_subinspectors = MIN(15, count_subinspectors); - add_theme_style_override("bg", get_theme_stylebox("sub_inspector_bg" + itos(count_subinspectors), SNAME("Editor"))); + add_theme_style_override("panel", get_theme_stylebox("sub_inspector_bg" + itos(count_subinspectors), SNAME("Editor"))); } else { - add_theme_style_override("bg", get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); + add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); } } void EditorInspector::set_sub_inspector(bool p_enable) { @@ -3614,7 +3652,7 @@ void EditorInspector::_edit_set(const String &p_name, const Variant &p_value, bo if (editor_property_map.has(p_name)) { for (EditorProperty *E : editor_property_map[p_name]) { - E->update_revert_and_pin_status(); + E->update_editor_property_status(); } } } @@ -3728,7 +3766,7 @@ void EditorInspector::_property_checked(const String &p_path, bool p_checked) { for (EditorProperty *E : editor_property_map[p_path]) { E->set_checked(p_checked); E->update_property(); - E->update_revert_and_pin_status(); + E->update_editor_property_status(); E->update_cache(); } } @@ -3752,8 +3790,8 @@ void EditorInspector::_property_pinned(const String &p_path, bool p_pinned) { undo_redo->add_undo_method(node, "_set_property_pinned", p_path, !p_pinned); if (editor_property_map.has(p_path)) { for (List<EditorProperty *>::Element *E = editor_property_map[p_path].front(); E; E = E->next()) { - undo_redo->add_do_method(E->get(), "_update_revert_and_pin_status"); - undo_redo->add_undo_method(E->get(), "_update_revert_and_pin_status"); + undo_redo->add_do_method(E->get(), "_update_editor_property_status"); + undo_redo->add_undo_method(E->get(), "_update_editor_property_status"); } } undo_redo->commit_action(); @@ -3761,7 +3799,7 @@ void EditorInspector::_property_pinned(const String &p_path, bool p_pinned) { node->set_property_pinned(p_path, p_pinned); if (editor_property_map.has(p_path)) { for (List<EditorProperty *>::Element *E = editor_property_map[p_path].front(); E; E = E->next()) { - E->get()->update_revert_and_pin_status(); + E->get()->update_editor_property_status(); } } } @@ -3842,7 +3880,7 @@ void EditorInspector::_notification(int p_what) { for (EditorProperty *E : F.value) { if (E && !E->is_cache_valid()) { E->update_property(); - E->update_revert_and_pin_status(); + E->update_editor_property_status(); E->update_cache(); } } @@ -3864,7 +3902,7 @@ void EditorInspector::_notification(int p_what) { if (editor_property_map.has(prop)) { for (EditorProperty *E : editor_property_map[prop]) { E->update_property(); - E->update_revert_and_pin_status(); + E->update_editor_property_status(); E->update_cache(); } } @@ -3957,13 +3995,7 @@ void EditorInspector::_check_meta_name(const String &p_name) { } else if (!p_name.is_valid_identifier()) { error = TTR("Metadata name must be a valid identifier."); } else if (object->has_meta(p_name)) { - Node *node = Object::cast_to<Node>(object); - if (node) { - error = vformat(TTR("Metadata with name \"%s\" already exists on \"%s\"."), p_name, node->get_name()); - } else { - // This should normally never be reached, but the error is set just in case. - error = vformat(TTR("Metadata with name \"%s\" already exists."), p_name, node->get_name()); - } + error = vformat(TTR("Metadata with name \"%s\" already exists."), p_name); } else if (p_name[0] == '_') { error = TTR("Names starting with _ are reserved for editor-only metadata."); } @@ -3983,14 +4015,6 @@ void EditorInspector::_show_add_meta_dialog() { if (!add_meta_dialog) { add_meta_dialog = memnew(ConfirmationDialog); - Node *node = Object::cast_to<Node>(object); - if (node) { - add_meta_dialog->set_title(vformat(TTR("Add Metadata Property for \"%s\""), node->get_name())); - } else { - // This should normally never be reached, but the title is set just in case. - add_meta_dialog->set_title(vformat(TTR("Add Metadata Property"), node->get_name())); - } - VBoxContainer *vbc = memnew(VBoxContainer); add_meta_dialog->add_child(vbc); HBoxContainer *hbc = memnew(HBoxContainer); @@ -4020,6 +4044,14 @@ void EditorInspector::_show_add_meta_dialog() { add_meta_name->connect("text_changed", callable_mp(this, &EditorInspector::_check_meta_name)); } + Node *node = Object::cast_to<Node>(object); + if (node) { + add_meta_dialog->set_title(vformat(TTR("Add Metadata Property for \"%s\""), node->get_name())); + } else { + // This should normally be reached when the object is derived from Resource. + add_meta_dialog->set_title(vformat(TTR("Add Metadata Property for \"%s\""), object->get_class())); + } + add_meta_dialog->popup_centered(); add_meta_name->set_text(""); _check_meta_name(""); @@ -4064,7 +4096,7 @@ EditorInspector::EditorInspector() { refresh_countdown = 0.33; } - ED_SHORTCUT("property_editor/copy_property", TTR("Copy Property"), KeyModifierMask::CMD | Key::C); - ED_SHORTCUT("property_editor/paste_property", TTR("Paste Property"), KeyModifierMask::CMD | Key::V); - ED_SHORTCUT("property_editor/copy_property_path", TTR("Copy Property Path"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::C); + ED_SHORTCUT("property_editor/copy_property", TTR("Copy Property"), KeyModifierMask::CMD_OR_CTRL | Key::C); + ED_SHORTCUT("property_editor/paste_property", TTR("Paste Property"), KeyModifierMask::CMD_OR_CTRL | Key::V); + ED_SHORTCUT("property_editor/copy_property_path", TTR("Copy Property Path"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::C); } diff --git a/editor/editor_inspector.h b/editor/editor_inspector.h index d634eae23f..b7df5a8037 100644 --- a/editor/editor_inspector.h +++ b/editor/editor_inspector.h @@ -151,7 +151,7 @@ public: void set_doc_path(const String &p_doc_path); virtual void update_property(); - void update_revert_and_pin_status(); + void update_editor_property_status(); virtual bool use_keying_next() const; @@ -333,6 +333,7 @@ class EditorInspectorArray : public EditorInspectorSection { int begin_array_index = 0; int end_array_index = 0; + bool read_only = false; bool movable = true; bool numbered = false; @@ -404,7 +405,7 @@ public: void setup_with_count_property(Object *p_object, String p_label, const StringName &p_count_property, const StringName &p_array_element_prefix, int p_page, const Color &p_bg_color, bool p_foldable, bool p_movable = true, bool p_numbered = false, int p_page_length = 5, const String &p_add_item_text = "", const String &p_swap_method = ""); VBoxContainer *get_vbox(int p_index); - EditorInspectorArray(); + EditorInspectorArray(bool p_read_only); }; class EditorPaginator : public HBoxContainer { diff --git a/editor/editor_log.cpp b/editor/editor_log.cpp index a3d4296edb..6e6a898757 100644 --- a/editor/editor_log.cpp +++ b/editor/editor_log.cpp @@ -396,7 +396,7 @@ EditorLog::EditorLog() { clear_button = memnew(Button); clear_button->set_flat(true); clear_button->set_focus_mode(FOCUS_NONE); - clear_button->set_shortcut(ED_SHORTCUT("editor/clear_output", TTR("Clear Output"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::K)); + clear_button->set_shortcut(ED_SHORTCUT("editor/clear_output", TTR("Clear Output"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::K)); clear_button->set_shortcut_context(this); clear_button->connect("pressed", callable_mp(this, &EditorLog::_clear_request)); hb_tools->add_child(clear_button); @@ -405,7 +405,7 @@ EditorLog::EditorLog() { copy_button = memnew(Button); copy_button->set_flat(true); copy_button->set_focus_mode(FOCUS_NONE); - copy_button->set_shortcut(ED_SHORTCUT("editor/copy_output", TTR("Copy Selection"), KeyModifierMask::CMD | Key::C)); + copy_button->set_shortcut(ED_SHORTCUT("editor/copy_output", TTR("Copy Selection"), KeyModifierMask::CMD_OR_CTRL | Key::C)); copy_button->set_shortcut_context(this); copy_button->connect("pressed", callable_mp(this, &EditorLog::_copy_request)); hb_tools->add_child(copy_button); @@ -431,7 +431,7 @@ EditorLog::EditorLog() { show_search_button->set_focus_mode(FOCUS_NONE); show_search_button->set_toggle_mode(true); show_search_button->set_pressed(true); - show_search_button->set_shortcut(ED_SHORTCUT("editor/open_search", TTR("Focus Search/Filter Bar"), KeyModifierMask::CMD | Key::F)); + show_search_button->set_shortcut(ED_SHORTCUT("editor/open_search", TTR("Focus Search/Filter Bar"), KeyModifierMask::CMD_OR_CTRL | Key::F)); show_search_button->set_shortcut_context(this); show_search_button->connect("toggled", callable_mp(this, &EditorLog::_set_search_visible)); hb_tools2->add_child(show_search_button); diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 58377eef0f..8eaddcb7e1 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -37,7 +37,7 @@ #include "core/io/image_loader.h" #include "core/io/resource_loader.h" #include "core/io/resource_saver.h" -#include "core/io/stream_peer_ssl.h" +#include "core/io/stream_peer_tls.h" #include "core/object/class_db.h" #include "core/object/message_queue.h" #include "core/os/keyboard.h" @@ -566,8 +566,6 @@ void EditorNode::_update_from_settings() { SceneTree *tree = get_tree(); tree->set_debug_collisions_color(GLOBAL_GET("debug/shapes/collision/shape_color")); tree->set_debug_collision_contact_color(GLOBAL_GET("debug/shapes/collision/contact_color")); - tree->set_debug_navigation_color(GLOBAL_GET("debug/shapes/navigation/geometry_color")); - tree->set_debug_navigation_disabled_color(GLOBAL_GET("debug/shapes/navigation/disabled_geometry_color")); #ifdef DEBUG_ENABLED NavigationServer3D::get_singleton_mut()->set_debug_navigation_edge_connection_color(GLOBAL_GET("debug/shapes/navigation/edge_connection_color")); @@ -762,11 +760,8 @@ void EditorNode::_notification(int p_what) { gui_base->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("Background"), SNAME("EditorStyles"))); scene_root_parent->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("Content"), SNAME("EditorStyles"))); - bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("panel"), SNAME("TabContainer"))); - + bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanel"), SNAME("EditorStyles"))); tabbar_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("tabbar_background"), SNAME("TabContainer"))); - scene_tabs->add_theme_style_override("tab_selected", gui_base->get_theme_stylebox(SNAME("SceneTabFG"), SNAME("EditorStyles"))); - scene_tabs->add_theme_style_override("tab_unselected", gui_base->get_theme_stylebox(SNAME("SceneTabBG"), SNAME("EditorStyles"))); main_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles"))); } @@ -2326,10 +2321,7 @@ void EditorNode::_edit_current(bool p_skip_foreign) { } else { Node *selected_node = nullptr; - if (current_obj->is_class("EditorDebuggerRemoteObject")) { - editable_info = TTR("This is a remote object, so it's not editable.\nPlease read the documentation relevant to debugging to better understand this workflow."); - disable_folding = true; - } else if (current_obj->is_class("MultiNodeEdit")) { + if (current_obj->is_class("MultiNodeEdit")) { Node *scene = get_edited_scene(); if (scene) { MultiNodeEdit *multi_node_edit = Object::cast_to<MultiNodeEdit>(current_obj); @@ -2660,22 +2652,36 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) { case FILE_CLOSE_ALL_AND_RELOAD_CURRENT_PROJECT: { if (!p_confirmed) { tab_closing_idx = _next_unsaved_scene(false); - _scene_tab_changed(tab_closing_idx); + if (tab_closing_idx == -1) { + tab_closing_idx = -2; // Only external resources are unsaved. + } else { + _scene_tab_changed(tab_closing_idx); + } if (unsaved_cache || p_option == FILE_CLOSE_ALL_AND_QUIT || p_option == FILE_CLOSE_ALL_AND_RUN_PROJECT_MANAGER || p_option == FILE_CLOSE_ALL_AND_RELOAD_CURRENT_PROJECT) { - Node *scene_root = editor_data.get_edited_scene_root(tab_closing_idx); - if (scene_root) { - String scene_filename = scene_root->get_scene_file_path(); + if (tab_closing_idx == -2) { if (p_option == FILE_CLOSE_ALL_AND_RELOAD_CURRENT_PROJECT) { save_confirmation->set_ok_button_text(TTR("Save & Reload")); - save_confirmation->set_text(vformat(TTR("Save changes to '%s' before reloading?"), !scene_filename.is_empty() ? scene_filename : "unsaved scene")); + save_confirmation->set_text(TTR("Save modified resources before reloading?")); } else { save_confirmation->set_ok_button_text(TTR("Save & Quit")); - save_confirmation->set_text(vformat(TTR("Save changes to '%s' before closing?"), !scene_filename.is_empty() ? scene_filename : "unsaved scene")); + save_confirmation->set_text(TTR("Save modified resources before closing?")); + } + } else { + Node *scene_root = editor_data.get_edited_scene_root(tab_closing_idx); + if (scene_root) { + String scene_filename = scene_root->get_scene_file_path(); + if (p_option == FILE_CLOSE_ALL_AND_RELOAD_CURRENT_PROJECT) { + save_confirmation->set_ok_button_text(TTR("Save & Reload")); + save_confirmation->set_text(vformat(TTR("Save changes to '%s' before reloading?"), !scene_filename.is_empty() ? scene_filename : "unsaved scene")); + } else { + save_confirmation->set_ok_button_text(TTR("Save & Quit")); + 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; } + save_confirmation->popup_centered(); + break; } } if (!editor_data.get_edited_scene_root(tab_closing_idx)) { @@ -2948,7 +2954,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) { case RELOAD_CURRENT_PROJECT: { if (!p_confirmed) { bool save_each = EDITOR_GET("interface/editor/save_each_scene_on_quit"); - if (_next_unsaved_scene(!save_each) == -1) { + if (_next_unsaved_scene(!save_each) == -1 && !get_undo_redo()->is_history_unsaved(EditorUndoRedoManager::GLOBAL_HISTORY)) { _discard_changes(); break; } else { @@ -3098,14 +3104,14 @@ void EditorNode::_screenshot(bool p_use_utc) { } void EditorNode::_save_screenshot(NodePath p_path) { - Control *editor_main_control = EditorInterface::get_singleton()->get_editor_main_control(); - ERR_FAIL_COND_MSG(!editor_main_control, "Cannot get editor main control."); - Viewport *viewport = editor_main_control->get_viewport(); - ERR_FAIL_COND_MSG(!viewport, "Cannot get editor main control viewport."); + Control *editor_main_screen = EditorInterface::get_singleton()->get_editor_main_screen(); + ERR_FAIL_COND_MSG(!editor_main_screen, "Cannot get the editor main screen control."); + Viewport *viewport = editor_main_screen->get_viewport(); + ERR_FAIL_COND_MSG(!viewport, "Cannot get a viewport from the editor main screen."); Ref<ViewportTexture> texture = viewport->get_texture(); - ERR_FAIL_COND_MSG(texture.is_null(), "Cannot get editor main control viewport texture."); + ERR_FAIL_COND_MSG(texture.is_null(), "Cannot get a viewport texture from the editor main screen."); Ref<Image> img = texture->get_image(); - ERR_FAIL_COND_MSG(img.is_null(), "Cannot get editor main control viewport texture image."); + ERR_FAIL_COND_MSG(img.is_null(), "Cannot get an image from a viewport texture of the editor main screen."); Error error = img->save_png(p_path); ERR_FAIL_COND_MSG(error != OK, "Cannot save screenshot to file '" + p_path + "'."); } @@ -3259,8 +3265,12 @@ void EditorNode::_discard_changes(const String &p_str) { for (const String &a : Main::get_forwardable_cli_arguments(Main::CLI_SCOPE_TOOL)) { args.push_back(a); } - args.push_back("--path"); - args.push_back(exec.get_base_dir()); + + String exec_base_dir = exec.get_base_dir(); + if (!exec_base_dir.is_empty()) { + args.push_back("--path"); + args.push_back(exec_base_dir); + } args.push_back("--project-manager"); Error err = OS::get_singleton()->create_instance(args); @@ -3289,8 +3299,8 @@ void EditorNode::_update_file_menu_closed() { file_menu->set_item_disabled(file_menu->get_item_index(FILE_OPEN_PREV), false); } -Control *EditorNode::get_main_control() { - return main_control; +VBoxContainer *EditorNode::get_main_screen_control() { + return main_screen_vbox; } void EditorNode::_editor_select(int p_which) { @@ -3367,6 +3377,8 @@ void EditorNode::add_editor_plugin(EditorPlugin *p_editor, bool p_config_changed Ref<Texture2D> icon = p_editor->get_icon(); if (icon.is_valid()) { tb->set_icon(icon); + // Make sure the control is updated if the icon is reimported. + icon->connect("changed", callable_mp((Control *)tb, &Control::update_minimum_size)); } else if (singleton->gui_base->has_theme_icon(p_editor->get_name(), SNAME("EditorIcons"))) { tb->set_icon(singleton->gui_base->get_theme_icon(p_editor->get_name(), SNAME("EditorIcons"))); } @@ -3378,7 +3390,7 @@ void EditorNode::add_editor_plugin(EditorPlugin *p_editor, bool p_config_changed singleton->main_editor_button_vb->add_child(tb); singleton->editor_table.push_back(p_editor); - singleton->distraction_free->raise(); + singleton->distraction_free->move_to_front(); } singleton->editor_data.add_editor_plugin(p_editor); singleton->add_child(p_editor); @@ -3920,7 +3932,7 @@ void EditorNode::edit_foreign_resource(Ref<Resource> p_resource) { InspectorDock::get_singleton()->call_deferred("edit_resource", p_resource); } -bool EditorNode::is_resource_read_only(Ref<Resource> p_resource) { +bool EditorNode::is_resource_read_only(Ref<Resource> p_resource, bool p_foreign_resources_are_writable) { ERR_FAIL_COND_V(p_resource.is_null(), false); String path = p_resource->get_path(); @@ -3932,7 +3944,11 @@ bool EditorNode::is_resource_read_only(Ref<Resource> p_resource) { // If the base resource is a packed scene, we treat it as read-only if it is not the currently edited scene. if (ResourceLoader::get_resource_type(base) == "PackedScene") { if (!get_tree()->get_edited_scene_root() || get_tree()->get_edited_scene_root()->get_scene_file_path() != base) { - return true; + // If we have not flagged foreign resources as writable or the base scene the resource is + // part was imported, it can be considered read-only. + if (!p_foreign_resources_are_writable || FileAccess::exists(base + ".import")) { + return true; + } } } else { // If a corresponding .import file exists for the base file, we assume it to be imported and should therefore treated as read-only. @@ -4338,16 +4354,8 @@ Ref<Texture2D> EditorNode::get_class_icon(const String &p_class, const String &p } } - const HashMap<String, Vector<EditorData::CustomType>> &p_map = EditorNode::get_editor_data().get_custom_types(); - for (const KeyValue<String, Vector<EditorData::CustomType>> &E : p_map) { - const Vector<EditorData::CustomType> &ct = E.value; - for (int i = 0; i < ct.size(); ++i) { - if (ct[i].name == p_class) { - if (ct[i].icon.is_valid()) { - return ct[i].icon; - } - } - } + if (const EditorData::CustomType *ctype = EditorNode::get_editor_data().get_custom_type_by_name(p_class)) { + return ctype->icon; } if (gui_base->has_theme_icon(p_class, SNAME("EditorIcons"))) { @@ -4968,7 +4976,7 @@ void EditorNode::_load_docks_from_config(Ref<ConfigFile> p_layout, const String } if (atidx == i) { - node->raise(); + node->move_to_front(); continue; } @@ -5393,7 +5401,7 @@ Button *EditorNode::add_bottom_panel_item(String p_text, Control *p_item) { tb->set_toggle_mode(true); tb->set_focus_mode(Control::FOCUS_NONE); bottom_panel_vb->add_child(p_item); - bottom_panel_hb->raise(); + bottom_panel_hb->move_to_front(); bottom_panel_hb_editors->add_child(tb); p_item->set_v_size_flags(Control::SIZE_EXPAND_FILL); p_item->hide(); @@ -5427,7 +5435,7 @@ void EditorNode::make_bottom_panel_item_visible(Control *p_item) { void EditorNode::raise_bottom_panel_item(Control *p_item) { for (int i = 0; i < bottom_panel_items.size(); i++) { if (bottom_panel_items[i].control == p_item) { - bottom_panel_items[i].button->raise(); + bottom_panel_items[i].button->move_to_front(); SWAP(bottom_panel_items.write[i], bottom_panel_items.write[bottom_panel_items.size() - 1]); break; } @@ -5475,7 +5483,7 @@ void EditorNode::_bottom_panel_switch(bool p_enable, int p_idx) { // This is the debug panel which uses tabs, so the top section should be smaller. bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanelDebuggerOverride"), SNAME("EditorStyles"))); } else { - bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("panel"), SNAME("TabContainer"))); + bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanel"), SNAME("EditorStyles"))); } center_split->set_dragger_visibility(SplitContainer::DRAGGER_VISIBLE); center_split->set_collapsed(false); @@ -5485,7 +5493,7 @@ void EditorNode::_bottom_panel_switch(bool p_enable, int p_idx) { bottom_panel_raise->show(); } else { - bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("panel"), SNAME("TabContainer"))); + bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanel"), SNAME("EditorStyles"))); bottom_panel_items[p_idx].button->set_pressed(false); bottom_panel_items[p_idx].control->set_visible(false); center_split->set_dragger_visibility(SplitContainer::DRAGGER_HIDDEN); @@ -6528,8 +6536,6 @@ EditorNode::EditorNode() { tabbar_panel->add_child(tabbar_container); scene_tabs = memnew(TabBar); - scene_tabs->add_theme_style_override("tab_selected", gui_base->get_theme_stylebox(SNAME("SceneTabFG"), SNAME("EditorStyles"))); - 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_close_display_policy((TabBar::CloseButtonDisplayPolicy)EDITOR_GET("interface/scene_tabs/display_close_button").operator int()); @@ -6565,8 +6571,8 @@ EditorNode::EditorNode() { distraction_free = memnew(Button); distraction_free->set_flat(true); - ED_SHORTCUT_AND_COMMAND("editor/distraction_free_mode", TTR("Distraction Free Mode"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::F11); - ED_SHORTCUT_OVERRIDE("editor/distraction_free_mode", "macos", KeyModifierMask::CMD | KeyModifierMask::CTRL | Key::D); + ED_SHORTCUT_AND_COMMAND("editor/distraction_free_mode", TTR("Distraction Free Mode"), KeyModifierMask::CTRL | KeyModifierMask::SHIFT | Key::F11); + ED_SHORTCUT_OVERRIDE("editor/distraction_free_mode", "macos", KeyModifierMask::META | KeyModifierMask::CTRL | Key::D); distraction_free->set_shortcut(ED_GET_SHORTCUT("editor/distraction_free_mode")); distraction_free->set_tooltip_text(TTR("Toggle distraction-free mode.")); distraction_free->connect("pressed", callable_mp(this, &EditorNode::_toggle_distraction_free_mode)); @@ -6588,10 +6594,11 @@ EditorNode::EditorNode() { scene_root->set_disable_input(true); scene_root->set_as_audio_listener_2d(true); - main_control = memnew(VBoxContainer); - main_control->set_v_size_flags(Control::SIZE_EXPAND_FILL); - main_control->add_theme_constant_override("separation", 0); - scene_root_parent->add_child(main_control); + main_screen_vbox = memnew(VBoxContainer); + main_screen_vbox->set_name("MainScreen"); + main_screen_vbox->set_v_size_flags(Control::SIZE_EXPAND_FILL); + main_screen_vbox->add_theme_constant_override("separation", 0); + scene_root_parent->add_child(main_screen_vbox); bool global_menu = !bool(EDITOR_GET("interface/editor/use_embedded_menu")) && DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_GLOBAL_MENU); bool can_expand = bool(EDITOR_GET("interface/editor/expand_to_title")) && DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_EXTEND_TO_TITLE); @@ -6677,30 +6684,30 @@ EditorNode::EditorNode() { gui_base->add_child(warning); warning->connect("custom_action", callable_mp(this, &EditorNode::_copy_warning)); - ED_SHORTCUT("editor/next_tab", TTR("Next Scene Tab"), KeyModifierMask::CMD + Key::TAB); - ED_SHORTCUT("editor/prev_tab", TTR("Previous Scene Tab"), KeyModifierMask::CMD + KeyModifierMask::SHIFT + Key::TAB); - ED_SHORTCUT("editor/filter_files", TTR("Focus FileSystem Filter"), KeyModifierMask::CMD + KeyModifierMask::ALT + Key::P); + ED_SHORTCUT("editor/next_tab", TTR("Next Scene Tab"), KeyModifierMask::CMD_OR_CTRL + Key::TAB); + ED_SHORTCUT("editor/prev_tab", TTR("Previous Scene Tab"), KeyModifierMask::CMD_OR_CTRL + KeyModifierMask::SHIFT + Key::TAB); + ED_SHORTCUT("editor/filter_files", TTR("Focus FileSystem Filter"), KeyModifierMask::CMD_OR_CTRL + KeyModifierMask::ALT + Key::P); command_palette = EditorCommandPalette::get_singleton(); command_palette->set_title(TTR("Command Palette")); gui_base->add_child(command_palette); - file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/new_scene", TTR("New Scene"), KeyModifierMask::CMD + Key::N), FILE_NEW_SCENE); - file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/new_inherited_scene", TTR("New Inherited Scene..."), KeyModifierMask::CMD + KeyModifierMask::SHIFT + Key::N), FILE_NEW_INHERITED_SCENE); - file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/open_scene", TTR("Open Scene..."), KeyModifierMask::CMD + Key::O), FILE_OPEN_SCENE); - file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/reopen_closed_scene", TTR("Reopen Closed Scene"), KeyModifierMask::CMD + KeyModifierMask::SHIFT + Key::T), FILE_OPEN_PREV); + file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/new_scene", TTR("New Scene"), KeyModifierMask::CMD_OR_CTRL + Key::N), FILE_NEW_SCENE); + file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/new_inherited_scene", TTR("New Inherited Scene..."), KeyModifierMask::CMD_OR_CTRL + KeyModifierMask::SHIFT + Key::N), FILE_NEW_INHERITED_SCENE); + file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/open_scene", TTR("Open Scene..."), KeyModifierMask::CMD_OR_CTRL + Key::O), FILE_OPEN_SCENE); + file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/reopen_closed_scene", TTR("Reopen Closed Scene"), KeyModifierMask::CMD_OR_CTRL + KeyModifierMask::SHIFT + Key::T), FILE_OPEN_PREV); file_menu->add_submenu_item(TTR("Open Recent"), "RecentScenes", FILE_OPEN_RECENT); file_menu->add_separator(); - file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/save_scene", TTR("Save Scene"), KeyModifierMask::CMD + Key::S), FILE_SAVE_SCENE); - file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/save_scene_as", TTR("Save Scene As..."), KeyModifierMask::CMD + KeyModifierMask::SHIFT + Key::S), FILE_SAVE_AS_SCENE); - file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/save_all_scenes", TTR("Save All Scenes"), KeyModifierMask::CMD + KeyModifierMask::SHIFT + KeyModifierMask::ALT + Key::S), FILE_SAVE_ALL_SCENES); + file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/save_scene", TTR("Save Scene"), KeyModifierMask::CMD_OR_CTRL + Key::S), FILE_SAVE_SCENE); + file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/save_scene_as", TTR("Save Scene As..."), KeyModifierMask::CMD_OR_CTRL + KeyModifierMask::SHIFT + Key::S), FILE_SAVE_AS_SCENE); + file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/save_all_scenes", TTR("Save All Scenes"), KeyModifierMask::CMD_OR_CTRL + KeyModifierMask::SHIFT + KeyModifierMask::ALT + Key::S), FILE_SAVE_ALL_SCENES); file_menu->add_separator(); file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/quick_open", TTR("Quick Open..."), KeyModifierMask::SHIFT + KeyModifierMask::ALT + Key::O), FILE_QUICK_OPEN); - file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/quick_open_scene", TTR("Quick Open Scene..."), KeyModifierMask::CMD + KeyModifierMask::SHIFT + Key::O), FILE_QUICK_OPEN_SCENE); - file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/quick_open_script", TTR("Quick Open Script..."), KeyModifierMask::CMD + KeyModifierMask::ALT + Key::O), FILE_QUICK_OPEN_SCRIPT); + file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/quick_open_scene", TTR("Quick Open Scene..."), KeyModifierMask::CMD_OR_CTRL + KeyModifierMask::SHIFT + Key::O), FILE_QUICK_OPEN_SCENE); + file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/quick_open_script", TTR("Quick Open Script..."), KeyModifierMask::CMD_OR_CTRL + KeyModifierMask::ALT + Key::O), FILE_QUICK_OPEN_SCRIPT); file_menu->add_separator(); export_as_menu = memnew(PopupMenu); @@ -6716,7 +6723,7 @@ EditorNode::EditorNode() { file_menu->add_separator(); file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/reload_saved_scene", TTR("Reload Saved Scene")), EDIT_RELOAD_SAVED_SCENE); - file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/close_scene", TTR("Close Scene"), KeyModifierMask::CMD + KeyModifierMask::SHIFT + Key::W), FILE_CLOSE); + file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/close_scene", TTR("Close Scene"), KeyModifierMask::CMD_OR_CTRL + KeyModifierMask::SHIFT + Key::W), FILE_CLOSE); recent_scenes = memnew(PopupMenu); recent_scenes->set_name("RecentScenes"); @@ -6726,7 +6733,7 @@ EditorNode::EditorNode() { if (!global_menu || !OS::get_singleton()->has_feature("macos")) { // On macOS "Quit" and "About" options are in the "app" menu. file_menu->add_separator(); - file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/file_quit", TTR("Quit"), KeyModifierMask::CMD + Key::Q), FILE_QUIT, true); + file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/file_quit", TTR("Quit"), KeyModifierMask::CMD_OR_CTRL + Key::Q), FILE_QUIT, true); } project_menu = memnew(PopupMenu); @@ -6747,8 +6754,10 @@ EditorNode::EditorNode() { project_menu->add_separator(); project_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/export", TTR("Export..."), Key::NONE, TTR("Export")), FILE_EXPORT_PROJECT); +#ifndef ANDROID_ENABLED project_menu->add_item(TTR("Install Android Build Template..."), FILE_INSTALL_ANDROID_SOURCE); project_menu->add_item(TTR("Open User Data Folder"), RUN_USER_DATA_FOLDER); +#endif project_menu->add_separator(); project_menu->add_item(TTR("Customize Engine Build Configuration..."), TOOLS_BUILD_PROFILE_MANAGER); @@ -6767,7 +6776,7 @@ EditorNode::EditorNode() { project_menu->add_separator(); project_menu->add_shortcut(ED_SHORTCUT("editor/reload_current_project", TTR("Reload Current Project")), RELOAD_CURRENT_PROJECT); - ED_SHORTCUT_AND_COMMAND("editor/quit_to_project_list", TTR("Quit to Project List"), KeyModifierMask::CMD + KeyModifierMask::SHIFT + Key::Q); + ED_SHORTCUT_AND_COMMAND("editor/quit_to_project_list", TTR("Quit to Project List"), KeyModifierMask::CTRL + KeyModifierMask::SHIFT + Key::Q); ED_SHORTCUT_OVERRIDE("editor/quit_to_project_list", "macos", KeyModifierMask::SHIFT + KeyModifierMask::ALT + Key::Q); project_menu->add_shortcut(ED_GET_SHORTCUT("editor/quit_to_project_list"), RUN_PROJECT_MANAGER, true); @@ -6793,9 +6802,9 @@ EditorNode::EditorNode() { main_menu->add_child(settings_menu); ED_SHORTCUT_AND_COMMAND("editor/editor_settings", TTR("Editor Settings...")); - ED_SHORTCUT_OVERRIDE("editor/editor_settings", "macos", KeyModifierMask::CMD + Key::COMMA); + ED_SHORTCUT_OVERRIDE("editor/editor_settings", "macos", KeyModifierMask::META + Key::COMMA); settings_menu->add_shortcut(ED_GET_SHORTCUT("editor/editor_settings"), SETTINGS_PREFERENCES); - settings_menu->add_shortcut(ED_SHORTCUT("editor/command_palette", TTR("Command Palette..."), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::P), HELP_COMMAND_PALETTE); + settings_menu->add_shortcut(ED_SHORTCUT("editor/command_palette", TTR("Command Palette..."), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::P), HELP_COMMAND_PALETTE); settings_menu->add_separator(); editor_layouts = memnew(PopupMenu); @@ -6806,17 +6815,19 @@ EditorNode::EditorNode() { settings_menu->add_separator(); ED_SHORTCUT_AND_COMMAND("editor/take_screenshot", TTR("Take Screenshot"), KeyModifierMask::CTRL | Key::F12); - ED_SHORTCUT_OVERRIDE("editor/take_screenshot", "macos", KeyModifierMask::CMD | Key::F12); + ED_SHORTCUT_OVERRIDE("editor/take_screenshot", "macos", KeyModifierMask::META | Key::F12); settings_menu->add_shortcut(ED_GET_SHORTCUT("editor/take_screenshot"), EDITOR_SCREENSHOT); settings_menu->set_item_tooltip(-1, TTR("Screenshots are stored in the Editor Data/Settings Folder.")); +#ifndef ANDROID_ENABLED ED_SHORTCUT_AND_COMMAND("editor/fullscreen_mode", TTR("Toggle Fullscreen"), KeyModifierMask::SHIFT | Key::F11); - ED_SHORTCUT_OVERRIDE("editor/fullscreen_mode", "macos", KeyModifierMask::CMD | KeyModifierMask::CTRL | Key::F); + ED_SHORTCUT_OVERRIDE("editor/fullscreen_mode", "macos", KeyModifierMask::META | KeyModifierMask::CTRL | Key::F); settings_menu->add_shortcut(ED_GET_SHORTCUT("editor/fullscreen_mode"), SETTINGS_TOGGLE_FULLSCREEN); - +#endif settings_menu->add_separator(); +#ifndef ANDROID_ENABLED if (OS::get_singleton()->get_data_path() == OS::get_singleton()->get_config_path()) { // Configuration and data folders are located in the same place (Windows/MacOS). settings_menu->add_item(TTR("Open Editor Data/Settings Folder"), SETTINGS_EDITOR_DATA_FOLDER); @@ -6826,9 +6837,12 @@ EditorNode::EditorNode() { settings_menu->add_item(TTR("Open Editor Settings Folder"), SETTINGS_EDITOR_CONFIG_FOLDER); } settings_menu->add_separator(); +#endif settings_menu->add_item(TTR("Manage Editor Features..."), SETTINGS_MANAGE_FEATURE_PROFILES); +#ifndef ANDROID_ENABLED settings_menu->add_item(TTR("Manage Export Templates..."), SETTINGS_MANAGE_EXPORT_TEMPLATES); +#endif help_menu = memnew(PopupMenu); help_menu->set_name(TTR("Help")); @@ -6873,7 +6887,7 @@ EditorNode::EditorNode() { play_button->connect("pressed", callable_mp(this, &EditorNode::_menu_option).bind(RUN_PLAY)); ED_SHORTCUT_AND_COMMAND("editor/play", TTR("Play"), Key::F5); - ED_SHORTCUT_OVERRIDE("editor/play", "macos", KeyModifierMask::CMD | Key::B); + ED_SHORTCUT_OVERRIDE("editor/play", "macos", KeyModifierMask::META | Key::B); play_button->set_shortcut(ED_GET_SHORTCUT("editor/play")); pause_button = memnew(Button); @@ -6886,7 +6900,7 @@ EditorNode::EditorNode() { launch_pad_hb->add_child(pause_button); ED_SHORTCUT("editor/pause_scene", TTR("Pause Scene"), Key::F7); - ED_SHORTCUT_OVERRIDE("editor/pause_scene", "macos", KeyModifierMask::CMD | KeyModifierMask::CTRL | Key::Y); + ED_SHORTCUT_OVERRIDE("editor/pause_scene", "macos", KeyModifierMask::META | KeyModifierMask::CTRL | Key::Y); pause_button->set_shortcut(ED_GET_SHORTCUT("editor/pause_scene")); stop_button = memnew(Button); @@ -6899,7 +6913,7 @@ EditorNode::EditorNode() { stop_button->set_disabled(true); ED_SHORTCUT("editor/stop", TTR("Stop"), Key::F8); - ED_SHORTCUT_OVERRIDE("editor/stop", "macos", KeyModifierMask::CMD | Key::PERIOD); + ED_SHORTCUT_OVERRIDE("editor/stop", "macos", KeyModifierMask::META | Key::PERIOD); stop_button->set_shortcut(ED_GET_SHORTCUT("editor/stop")); run_native = memnew(EditorRunNative); @@ -6914,7 +6928,7 @@ EditorNode::EditorNode() { play_scene_button->connect("pressed", callable_mp(this, &EditorNode::_menu_option).bind(RUN_PLAY_SCENE)); ED_SHORTCUT_AND_COMMAND("editor/play_scene", TTR("Play Scene"), Key::F6); - ED_SHORTCUT_OVERRIDE("editor/play_scene", "macos", KeyModifierMask::CMD | Key::R); + ED_SHORTCUT_OVERRIDE("editor/play_scene", "macos", KeyModifierMask::META | Key::R); play_scene_button->set_shortcut(ED_GET_SHORTCUT("editor/play_scene")); play_custom_scene_button = memnew(Button); @@ -6926,8 +6940,8 @@ EditorNode::EditorNode() { _reset_play_buttons(); - ED_SHORTCUT_AND_COMMAND("editor/play_custom_scene", TTR("Play Custom Scene"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::F5); - ED_SHORTCUT_OVERRIDE("editor/play_custom_scene", "macos", KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::R); + ED_SHORTCUT_AND_COMMAND("editor/play_custom_scene", TTR("Play Custom Scene"), KeyModifierMask::CTRL | KeyModifierMask::SHIFT | Key::F5); + ED_SHORTCUT_OVERRIDE("editor/play_custom_scene", "macos", KeyModifierMask::META | KeyModifierMask::SHIFT | Key::R); play_custom_scene_button->set_shortcut(ED_GET_SHORTCUT("editor/play_custom_scene")); write_movie_panel = memnew(PanelContainer); @@ -7093,7 +7107,7 @@ EditorNode::EditorNode() { // Bottom panels. bottom_panel = memnew(PanelContainer); - bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("panel"), SNAME("TabContainer"))); + bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanel"), SNAME("EditorStyles"))); center_split->add_child(bottom_panel); center_split->set_dragger_visibility(SplitContainer::DRAGGER_HIDDEN); @@ -7598,8 +7612,8 @@ EditorPlugin::AfterGUIInput EditorPluginList::forward_spatial_gui_input(Camera3D if (current_after == EditorPlugin::AFTER_GUI_INPUT_STOP) { after = EditorPlugin::AFTER_GUI_INPUT_STOP; } - if (after != EditorPlugin::AFTER_GUI_INPUT_STOP && current_after == EditorPlugin::AFTER_GUI_INPUT_DESELECT) { - after = EditorPlugin::AFTER_GUI_INPUT_DESELECT; + if (after != EditorPlugin::AFTER_GUI_INPUT_STOP && current_after == EditorPlugin::AFTER_GUI_INPUT_CUSTOM) { + after = EditorPlugin::AFTER_GUI_INPUT_CUSTOM; } } diff --git a/editor/editor_node.h b/editor/editor_node.h index c3b4c985cc..200d68908c 100644 --- a/editor/editor_node.h +++ b/editor/editor_node.h @@ -323,7 +323,7 @@ private: Control *vp_base = nullptr; EditorTitleBar *menu_hb = nullptr; - Control *main_control = nullptr; + VBoxContainer *main_screen_vbox = nullptr; MenuBar *main_menu = nullptr; PopupMenu *file_menu = nullptr; PopupMenu *project_menu = nullptr; @@ -784,11 +784,11 @@ public: void open_request(const String &p_path); void edit_foreign_resource(Ref<Resource> p_resource); - bool is_resource_read_only(Ref<Resource> p_resource); + bool is_resource_read_only(Ref<Resource> p_resource, bool p_foreign_resources_are_writable = false); bool is_changing_scene() const; - Control *get_main_control(); + VBoxContainer *get_main_screen_control(); SubViewport *get_scene_root() { return scene_root; } // Root of the scene being edited. void set_edited_scene(Node *p_scene); diff --git a/editor/editor_path.cpp b/editor/editor_path.cpp index a8f8f7ab97..d1f41dad84 100644 --- a/editor/editor_path.cpp +++ b/editor/editor_path.cpp @@ -33,6 +33,7 @@ #include "editor/editor_data.h" #include "editor/editor_node.h" #include "editor/editor_scale.h" +#include "editor/multi_node_edit.h" void EditorPath::_add_children_to_popup(Object *p_obj, int p_depth) { if (p_depth > 8) { @@ -121,14 +122,22 @@ void EditorPath::update_path() { continue; } - Ref<Texture2D> icon = EditorNode::get_singleton()->get_object_icon(obj); + Ref<Texture2D> icon; + if (Object::cast_to<MultiNodeEdit>(obj)) { + icon = EditorNode::get_singleton()->get_class_icon(Object::cast_to<MultiNodeEdit>(obj)->get_edited_class_name()); + } else { + icon = EditorNode::get_singleton()->get_object_icon(obj); + } + if (icon.is_valid()) { current_object_icon->set_texture(icon); } if (i == history->get_path_size() - 1) { String name; - if (Object::cast_to<Resource>(obj)) { + if (obj->has_method("_get_editor_name")) { + name = obj->call("_get_editor_name"); + } else if (Object::cast_to<Resource>(obj)) { Resource *r = Object::cast_to<Resource>(obj); if (r->get_path().is_resource_file()) { name = r->get_path().get_file(); @@ -149,7 +158,7 @@ void EditorPath::update_path() { name = obj->get_class(); } - current_object_label->set_text(" " + name); // An extra space so the text is not too close of the icon. + current_object_label->set_text(name); set_tooltip_text(obj->get_class()); } } @@ -161,12 +170,12 @@ void EditorPath::clear_path() { current_object_label->set_text(""); current_object_icon->set_texture(nullptr); - sub_objects_icon->set_visible(false); + sub_objects_icon->hide(); } void EditorPath::enable_path() { set_disabled(false); - sub_objects_icon->set_visible(true); + sub_objects_icon->show(); } void EditorPath::_id_pressed(int p_idx) { @@ -186,7 +195,7 @@ void EditorPath::_notification(int p_what) { case NOTIFICATION_THEME_CHANGED: { update_path(); - sub_objects_icon->set_texture(get_theme_icon(SNAME("select_arrow"), SNAME("Tree"))); + sub_objects_icon->set_texture(get_theme_icon(SNAME("arrow"), SNAME("OptionButton"))); current_object_label->add_theme_font_override("font", get_theme_font(SNAME("main"), SNAME("EditorFonts"))); } break; @@ -216,13 +225,12 @@ EditorPath::EditorPath(EditorSelectionHistory *p_history) { main_hb->add_child(current_object_icon); current_object_label = memnew(Label); - current_object_label->set_clip_text(true); - current_object_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_LEFT); + current_object_label->set_text_overrun_behavior(TextServer::OVERRUN_TRIM_ELLIPSIS); current_object_label->set_h_size_flags(SIZE_EXPAND_FILL); main_hb->add_child(current_object_label); sub_objects_icon = memnew(TextureRect); - sub_objects_icon->set_visible(false); + sub_objects_icon->hide(); sub_objects_icon->set_stretch_mode(TextureRect::STRETCH_KEEP_CENTERED); main_hb->add_child(sub_objects_icon); diff --git a/editor/editor_plugin.cpp b/editor/editor_plugin.cpp index 1efbb7e40f..981dad2d2a 100644 --- a/editor/editor_plugin.cpp +++ b/editor/editor_plugin.cpp @@ -156,8 +156,8 @@ void EditorInterface::set_main_screen_editor(const String &p_name) { EditorNode::get_singleton()->select_editor_by_name(p_name); } -Control *EditorInterface::get_editor_main_control() { - return EditorNode::get_singleton()->get_main_control(); +VBoxContainer *EditorInterface::get_editor_main_screen() { + return EditorNode::get_singleton()->get_main_screen_control(); } void EditorInterface::edit_resource(const Ref<Resource> &p_resource) { @@ -352,7 +352,7 @@ void EditorInterface::_bind_methods() { ClassDB::bind_method(D_METHOD("get_edited_scene_root"), &EditorInterface::get_edited_scene_root); ClassDB::bind_method(D_METHOD("get_resource_previewer"), &EditorInterface::get_resource_previewer); ClassDB::bind_method(D_METHOD("get_resource_filesystem"), &EditorInterface::get_resource_file_system); - ClassDB::bind_method(D_METHOD("get_editor_main_control"), &EditorInterface::get_editor_main_control); + ClassDB::bind_method(D_METHOD("get_editor_main_screen"), &EditorInterface::get_editor_main_screen); ClassDB::bind_method(D_METHOD("make_mesh_previews", "meshes", "preview_size"), &EditorInterface::_make_mesh_previews); ClassDB::bind_method(D_METHOD("select_file", "file"), &EditorInterface::select_file); ClassDB::bind_method(D_METHOD("get_selected_path"), &EditorInterface::get_selected_path); @@ -972,6 +972,10 @@ void EditorPlugin::_bind_methods() { BIND_ENUM_CONSTANT(DOCK_SLOT_RIGHT_UR); BIND_ENUM_CONSTANT(DOCK_SLOT_RIGHT_BR); BIND_ENUM_CONSTANT(DOCK_SLOT_MAX); + + BIND_ENUM_CONSTANT(AFTER_GUI_INPUT_PASS); + BIND_ENUM_CONSTANT(AFTER_GUI_INPUT_STOP); + BIND_ENUM_CONSTANT(AFTER_GUI_INPUT_CUSTOM); } Ref<EditorUndoRedoManager> EditorPlugin::get_undo_redo() { diff --git a/editor/editor_plugin.h b/editor/editor_plugin.h index 1d6f48caa3..a048b174e4 100644 --- a/editor/editor_plugin.h +++ b/editor/editor_plugin.h @@ -72,7 +72,7 @@ protected: public: static EditorInterface *get_singleton() { return singleton; } - Control *get_editor_main_control(); + VBoxContainer *get_editor_main_screen(); 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); @@ -204,7 +204,7 @@ public: enum AfterGUIInput { AFTER_GUI_INPUT_PASS, AFTER_GUI_INPUT_STOP, - AFTER_GUI_INPUT_DESELECT + AFTER_GUI_INPUT_CUSTOM }; //TODO: send a resource for editing to the editor node? @@ -312,6 +312,7 @@ public: VARIANT_ENUM_CAST(EditorPlugin::CustomControlContainer); VARIANT_ENUM_CAST(EditorPlugin::DockSlot); +VARIANT_ENUM_CAST(EditorPlugin::AfterGUIInput); typedef EditorPlugin *(*EditorPluginCreateFunc)(); diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp index 7364258a07..3b99962435 100644 --- a/editor/editor_properties.cpp +++ b/editor/editor_properties.cpp @@ -1758,7 +1758,7 @@ void EditorPropertyVector2::_value_changed(double val, const String &p_name) { Vector2 v2; v2.x = spin[0]->get_value(); v2.y = spin[1]->get_value(); - emit_changed(get_edited_property(), v2, p_name); + emit_changed(get_edited_property(), v2, linked->is_pressed() ? "" : p_name); } void EditorPropertyVector2::update_property() { @@ -2005,7 +2005,7 @@ void EditorPropertyVector3::_value_changed(double val, const String &p_name) { v3.y = Math::deg_to_rad(v3.y); v3.z = Math::deg_to_rad(v3.z); } - emit_changed(get_edited_property(), v3, p_name); + emit_changed(get_edited_property(), v3, linked->is_pressed() ? "" : p_name); } void EditorPropertyVector3::update_property() { @@ -2171,7 +2171,7 @@ void EditorPropertyVector2i::_value_changed(double val, const String &p_name) { Vector2i v2; v2.x = spin[0]->get_value(); v2.y = spin[1]->get_value(); - emit_changed(get_edited_property(), v2, p_name); + emit_changed(get_edited_property(), v2, linked->is_pressed() ? "" : p_name); } void EditorPropertyVector2i::update_property() { @@ -2413,7 +2413,7 @@ void EditorPropertyVector3i::_value_changed(double val, const String &p_name) { v3.x = spin[0]->get_value(); v3.y = spin[1]->get_value(); v3.z = spin[2]->get_value(); - emit_changed(get_edited_property(), v3, p_name); + emit_changed(get_edited_property(), v3, linked->is_pressed() ? "" : p_name); } void EditorPropertyVector3i::update_property() { diff --git a/editor/editor_properties_array_dict.cpp b/editor/editor_properties_array_dict.cpp index ad84b30689..728a3b0f80 100644 --- a/editor/editor_properties_array_dict.cpp +++ b/editor/editor_properties_array_dict.cpp @@ -268,6 +268,7 @@ void EditorPropertyArray::update_property() { size_slider->set_step(1); size_slider->set_max(1000000); size_slider->set_h_size_flags(SIZE_EXPAND_FILL); + size_slider->set_read_only(is_read_only()); size_slider->connect("value_changed", callable_mp(this, &EditorPropertyArray::_length_changed)); hbox->add_child(size_slider); @@ -278,6 +279,7 @@ void EditorPropertyArray::update_property() { button_add_item = EditorInspector::create_inspector_action_button(TTR("Add Element")); button_add_item->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons"))); button_add_item->connect(SNAME("pressed"), callable_mp(this, &EditorPropertyArray::_add_element)); + button_add_item->set_disabled(is_read_only()); vbox->add_child(button_add_item); paginator = memnew(EditorPaginator); @@ -328,6 +330,7 @@ void EditorPropertyArray::update_property() { Button *reorder_button = memnew(Button); reorder_button->set_icon(get_theme_icon(SNAME("TripleBar"), SNAME("EditorIcons"))); reorder_button->set_default_cursor_shape(Control::CURSOR_MOVE); + reorder_button->set_disabled(is_read_only()); reorder_button->connect("gui_input", callable_mp(this, &EditorPropertyArray::_reorder_button_gui_input)); reorder_button->connect("button_down", callable_mp(this, &EditorPropertyArray::_reorder_button_down).bind(i + offset)); reorder_button->connect("button_up", callable_mp(this, &EditorPropertyArray::_reorder_button_up)); @@ -358,6 +361,7 @@ void EditorPropertyArray::update_property() { prop->connect("property_changed", callable_mp(this, &EditorPropertyArray::_property_changed)); prop->connect("object_id_selected", callable_mp(this, &EditorPropertyArray::_object_id_selected)); prop->set_h_size_flags(SIZE_EXPAND_FILL); + prop->set_read_only(is_read_only()); hbox->add_child(prop); bool is_untyped_array = array.get_type() == Variant::ARRAY && subtype == Variant::NIL; @@ -366,10 +370,12 @@ void EditorPropertyArray::update_property() { Button *edit = memnew(Button); edit->set_icon(get_theme_icon(SNAME("Edit"), SNAME("EditorIcons"))); hbox->add_child(edit); + edit->set_disabled(is_read_only()); edit->connect("pressed", callable_mp(this, &EditorPropertyArray::_change_type).bind(edit, i + offset)); } else { Button *remove = memnew(Button); remove->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons"))); + remove->set_disabled(is_read_only()); remove->connect("pressed", callable_mp(this, &EditorPropertyArray::_remove_pressed).bind(i + offset)); hbox->add_child(remove); } @@ -409,6 +415,10 @@ void EditorPropertyArray::_button_draw() { } bool EditorPropertyArray::_is_drop_valid(const Dictionary &p_drag_data) const { + if (is_read_only()) { + return false; + } + String allowed_type = Variant::get_type_name(subtype); // When the subtype is of type Object, an additional subtype may be specified in the hint string @@ -609,7 +619,7 @@ void EditorPropertyArray::setup(Variant::Type p_array_type, const String &p_hint } void EditorPropertyArray::_reorder_button_gui_input(const Ref<InputEvent> &p_event) { - if (reorder_from_index < 0) { + if (reorder_from_index < 0 || is_read_only()) { return; } @@ -646,6 +656,10 @@ void EditorPropertyArray::_reorder_button_gui_input(const Ref<InputEvent> &p_eve } void EditorPropertyArray::_reorder_button_down(int p_index) { + if (is_read_only()) { + return; + } + reorder_from_index = p_index; reorder_to_index = p_index; reorder_selected_element_hbox = Object::cast_to<HBoxContainer>(property_vbox->get_child(p_index % page_length)); @@ -656,6 +670,10 @@ void EditorPropertyArray::_reorder_button_down(int p_index) { } void EditorPropertyArray::_reorder_button_up() { + if (is_read_only()) { + return; + } + if (reorder_from_index != reorder_to_index) { // Move the element. Variant array = object->get_array(); @@ -1097,6 +1115,10 @@ void EditorPropertyDictionary::update_property() { } } + ERR_FAIL_COND(!prop); + + prop->set_read_only(is_read_only()); + if (i == amount) { PanelContainer *pc = memnew(PanelContainer); property_vbox->add_child(pc); @@ -1135,6 +1157,7 @@ void EditorPropertyDictionary::update_property() { prop->set_h_size_flags(SIZE_EXPAND_FILL); Button *edit = memnew(Button); edit->set_icon(get_theme_icon(SNAME("Edit"), SNAME("EditorIcons"))); + edit->set_disabled(is_read_only()); hbox->add_child(edit); edit->connect("pressed", callable_mp(this, &EditorPropertyDictionary::_change_type).bind(edit, change_index)); @@ -1143,6 +1166,7 @@ void EditorPropertyDictionary::update_property() { if (i == amount + 1) { button_add_item = EditorInspector::create_inspector_action_button(TTR("Add Key/Value Pair")); button_add_item->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons"))); + button_add_item->set_disabled(is_read_only()); button_add_item->connect("pressed", callable_mp(this, &EditorPropertyDictionary::_add_key_value)); add_vbox->add_child(button_add_item); } diff --git a/editor/editor_properties_array_dict.h b/editor/editor_properties_array_dict.h index 82aeebe14a..ae61418528 100644 --- a/editor/editor_properties_array_dict.h +++ b/editor/editor_properties_array_dict.h @@ -151,7 +151,7 @@ class EditorPropertyDictionary : public EditorProperty { Button *edit = nullptr; MarginContainer *container = nullptr; VBoxContainer *property_vbox = nullptr; - EditorSpinSlider *size_sliderv; + EditorSpinSlider *size_sliderv = nullptr; Button *button_add_item = nullptr; EditorPaginator *paginator = nullptr; diff --git a/editor/editor_resource_picker.cpp b/editor/editor_resource_picker.cpp index f717188b3b..84cb085551 100644 --- a/editor/editor_resource_picker.cpp +++ b/editor/editor_resource_picker.cpp @@ -186,7 +186,7 @@ void EditorResourcePicker::_update_menu_items() { // Add options for changing existing value of the resource. if (edited_resource.is_valid()) { // Determine if the edited resource is part of another scene (foreign) which was imported - bool is_edited_resource_foreign_import = EditorNode::get_singleton()->is_resource_read_only(edited_resource); + bool is_edited_resource_foreign_import = EditorNode::get_singleton()->is_resource_read_only(edited_resource, true); // If the resource is determined to be foreign and imported, change the menu entry's description to 'inspect' rather than 'edit' // since will only be able to view its properties in read-only mode. @@ -769,7 +769,7 @@ void EditorResourcePicker::_notification(int p_what) { } break; case NOTIFICATION_DRAW: { - draw_style_box(get_theme_stylebox(SNAME("bg"), SNAME("Tree")), Rect2(Point2(), get_size())); + draw_style_box(get_theme_stylebox(SNAME("panel"), SNAME("Tree")), Rect2(Point2(), get_size())); } break; case NOTIFICATION_DRAG_BEGIN: { diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp index 73acab3876..74445e6caa 100644 --- a/editor/editor_settings.cpp +++ b/editor/editor_settings.cpp @@ -510,7 +510,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { // Appearance: Caret EDITOR_SETTING(Variant::INT, PROPERTY_HINT_ENUM, "text_editor/appearance/caret/type", 0, "Line,Block") _initial_set("text_editor/appearance/caret/caret_blink", true); - EDITOR_SETTING(Variant::FLOAT, PROPERTY_HINT_RANGE, "text_editor/appearance/caret/caret_blink_speed", 0.5, "0.1,10,0.01") + EDITOR_SETTING(Variant::FLOAT, PROPERTY_HINT_RANGE, "text_editor/appearance/caret/caret_blink_interval", 0.5, "0.1,10,0.01") _initial_set("text_editor/appearance/caret/highlight_current_line", true); _initial_set("text_editor/appearance/caret/highlight_all_occurrences", true); @@ -717,7 +717,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { EDITOR_SETTING(Variant::INT, PROPERTY_HINT_RANGE, "network/debug/remote_port", 6007, "1,65535,1") // SSL - EDITOR_SETTING_USAGE(Variant::STRING, PROPERTY_HINT_GLOBAL_FILE, "network/ssl/editor_ssl_certificates", _SYSTEM_CERTS_PATH, "*.crt,*.pem", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED); + EDITOR_SETTING_USAGE(Variant::STRING, PROPERTY_HINT_GLOBAL_FILE, "network/tls/editor_tls_certificates", _SYSTEM_CERTS_PATH, "*.crt,*.pem", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED); // Profiler EDITOR_SETTING(Variant::INT, PROPERTY_HINT_RANGE, "debugger/profiler_frame_history_size", 3600, "60,10000,1") @@ -1467,9 +1467,10 @@ void ED_SHORTCUT_OVERRIDE_ARRAY(const String &p_path, const String &p_feature, c #ifdef MACOS_ENABLED // Use Cmd+Backspace as a general replacement for Delete shortcuts on macOS if (keycode == Key::KEY_DELETE) { - keycode = KeyModifierMask::CMD | Key::BACKSPACE; + keycode = KeyModifierMask::META | Key::BACKSPACE; } #endif + Ref<InputEventKey> ie; if (keycode != Key::NONE) { ie = InputEventKey::create_reference(keycode); @@ -1500,7 +1501,7 @@ Ref<Shortcut> ED_SHORTCUT_ARRAY(const String &p_path, const String &p_name, cons #ifdef MACOS_ENABLED // Use Cmd+Backspace as a general replacement for Delete shortcuts on macOS if (keycode == Key::KEY_DELETE) { - keycode = KeyModifierMask::CMD | Key::BACKSPACE; + keycode = KeyModifierMask::META | Key::BACKSPACE; } #endif diff --git a/editor/editor_settings_dialog.cpp b/editor/editor_settings_dialog.cpp index d190ab57c3..8062b6f756 100644 --- a/editor/editor_settings_dialog.cpp +++ b/editor/editor_settings_dialog.cpp @@ -175,7 +175,7 @@ void EditorSettingsDialog::shortcut_input(const Ref<InputEvent> &p_event) { handled = true; } - if (k->get_keycode_with_modifiers() == (KeyModifierMask::CMD | Key::F)) { + if (k->is_match(InputEventKey::create_reference(KeyModifierMask::CMD_OR_CTRL | Key::F))) { _focus_current_search_box(); handled = true; } @@ -193,7 +193,7 @@ void EditorSettingsDialog::_update_icons() { shortcut_search_box->set_clear_button_enabled(true); restart_close_button->set_icon(shortcuts->get_theme_icon(SNAME("Close"), SNAME("EditorIcons"))); - restart_container->add_theme_style_override("panel", shortcuts->get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); + restart_container->add_theme_style_override("panel", shortcuts->get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); restart_icon->set_texture(shortcuts->get_theme_icon(SNAME("StatusWarning"), SNAME("EditorIcons"))); restart_label->add_theme_color_override("font_color", shortcuts->get_theme_color(SNAME("warning_color"), SNAME("Editor"))); } @@ -552,6 +552,10 @@ void EditorSettingsDialog::_shortcut_cell_double_clicked() { const ShortcutButton edit_btn_id = EditorSettingsDialog::SHORTCUT_EDIT; const int edit_btn_col = 1; TreeItem *ti = shortcuts->get_selected(); + if (ti == nullptr) { + return; + } + String type = ti->get_meta("type"); int col = shortcuts->get_selected_column(); if (type == "shortcut" && col == 0) { diff --git a/editor/editor_spin_slider.cpp b/editor/editor_spin_slider.cpp index 33632649c8..4cd046e811 100644 --- a/editor/editor_spin_slider.cpp +++ b/editor/editor_spin_slider.cpp @@ -42,7 +42,7 @@ String EditorSpinSlider::get_tooltip(const Point2 &p_pos) const { #else Key key = Key::CTRL; #endif - return TS->format_number(rtos(get_value())) + "\n\n" + vformat(TTR("Hold %s to round to integers. Hold Shift for more precise changes."), find_keycode_name(key)); + return TS->format_number(rtos(get_value())) + "\n\n" + vformat(TTR("Hold %s to round to integers.\nHold Shift for more precise changes."), find_keycode_name(key)); } return TS->format_number(rtos(get_value())); } @@ -121,7 +121,7 @@ void EditorSpinSlider::gui_input(const Ref<InputEvent> &p_event) { pre_grab_value = get_max(); } - if (mm->is_command_pressed()) { + if (mm->is_command_or_control_pressed()) { // If control was just pressed, don't make the value do a huge jump in magnitude. if (grabbing_spinner_dist_cache != 0) { pre_grab_value += grabbing_spinner_dist_cache * get_step(); diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp index 76d5daadfb..edbd2dd62f 100644 --- a/editor/editor_themes.cpp +++ b/editor/editor_themes.cpp @@ -157,24 +157,15 @@ void EditorColorMap::create() { static Ref<StyleBoxTexture> make_stylebox(Ref<Texture2D> p_texture, float p_left, float p_top, float p_right, float p_bottom, float p_margin_left = -1, float p_margin_top = -1, float p_margin_right = -1, float p_margin_bottom = -1, bool p_draw_center = true) { Ref<StyleBoxTexture> style(memnew(StyleBoxTexture)); style->set_texture(p_texture); - style->set_margin_size(SIDE_LEFT, p_left * EDSCALE); - style->set_margin_size(SIDE_RIGHT, p_right * EDSCALE); - style->set_margin_size(SIDE_BOTTOM, p_bottom * EDSCALE); - style->set_margin_size(SIDE_TOP, p_top * EDSCALE); - style->set_default_margin(SIDE_LEFT, p_margin_left * EDSCALE); - style->set_default_margin(SIDE_RIGHT, p_margin_right * EDSCALE); - style->set_default_margin(SIDE_BOTTOM, p_margin_bottom * EDSCALE); - style->set_default_margin(SIDE_TOP, p_margin_top * EDSCALE); + style->set_margin_size_individual(p_left * EDSCALE, p_top * EDSCALE, p_right * EDSCALE, p_bottom * EDSCALE); + style->set_default_margin_individual(p_margin_left * EDSCALE, p_margin_top * EDSCALE, p_margin_right * EDSCALE, p_margin_bottom * EDSCALE); style->set_draw_center(p_draw_center); return style; } static Ref<StyleBoxEmpty> make_empty_stylebox(float p_margin_left = -1, float p_margin_top = -1, float p_margin_right = -1, float p_margin_bottom = -1) { Ref<StyleBoxEmpty> style(memnew(StyleBoxEmpty)); - style->set_default_margin(SIDE_LEFT, p_margin_left * EDSCALE); - style->set_default_margin(SIDE_RIGHT, p_margin_right * EDSCALE); - style->set_default_margin(SIDE_BOTTOM, p_margin_bottom * EDSCALE); - style->set_default_margin(SIDE_TOP, p_margin_top * EDSCALE); + style->set_default_margin_individual(p_margin_left * EDSCALE, p_margin_top * EDSCALE, p_margin_right * EDSCALE, p_margin_bottom * EDSCALE); return style; } @@ -184,10 +175,7 @@ static Ref<StyleBoxFlat> make_flat_stylebox(Color p_color, float p_margin_left = // Adjust level of detail based on the corners' effective sizes. style->set_corner_detail(Math::ceil(0.8 * p_corner_width * EDSCALE)); style->set_corner_radius_all(p_corner_width * EDSCALE); - style->set_default_margin(SIDE_LEFT, p_margin_left * EDSCALE); - style->set_default_margin(SIDE_RIGHT, p_margin_right * EDSCALE); - style->set_default_margin(SIDE_BOTTOM, p_margin_bottom * EDSCALE); - style->set_default_margin(SIDE_TOP, p_margin_top * EDSCALE); + style->set_default_margin_individual(p_margin_left * EDSCALE, p_margin_top * EDSCALE, p_margin_right * EDSCALE, p_margin_bottom * EDSCALE); // Work around issue about antialiased edges being blurrier (GH-35279). style->set_anti_aliased(false); return style; @@ -203,25 +191,6 @@ static Ref<StyleBoxLine> make_line_stylebox(Color p_color, int p_thickness = 1, return style; } -static Ref<Texture2D> flip_icon(Ref<Texture2D> p_texture, bool p_flip_y = false, bool p_flip_x = false) { - if (!p_flip_y && !p_flip_x) { - return p_texture; - } - - Ref<Image> img = p_texture->get_image(); - ERR_FAIL_NULL_V(img, Ref<Texture2D>()); - img = img->duplicate(); - - if (p_flip_y) { - img->flip_y(); - } - if (p_flip_x) { - img->flip_x(); - } - - return ImageTexture::create_from_image(img); -} - #ifdef MODULE_SVG_ENABLED // See also `generate_icon()` in `scene/resources/default_theme.cpp`. static Ref<ImageTexture> editor_generate_icon(int p_index, float p_scale, float p_saturation, const HashMap<Color, Color> &p_convert_colors = HashMap<Color, Color>()) { @@ -459,6 +428,14 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { // Colors bool dark_theme = EditorSettings::get_singleton()->is_dark_theme(); +#ifdef MODULE_SVG_ENABLED + if (dark_theme) { + ImageLoaderSVG::set_forced_color_map(HashMap<Color, Color>()); + } else { + ImageLoaderSVG::set_forced_color_map(EditorColorMap::get()); + } +#endif + // Ensure base colors are in the 0..1 luminance range to avoid 8-bit integer overflow or text rendering issues. // Some places in the editor use 8-bit integer colors. const Color dark_color_1 = base_color.lerp(Color(0, 0, 0, 1), contrast).clamp(); @@ -600,10 +577,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { const Vector2 widget_default_margin = Vector2(extra_spacing + 6, extra_spacing + default_margin_size + 1) * EDSCALE; Ref<StyleBoxFlat> style_widget = style_default->duplicate(); - style_widget->set_default_margin(SIDE_LEFT, widget_default_margin.x); - style_widget->set_default_margin(SIDE_TOP, widget_default_margin.y); - style_widget->set_default_margin(SIDE_RIGHT, widget_default_margin.x); - style_widget->set_default_margin(SIDE_BOTTOM, widget_default_margin.y); + style_widget->set_default_margin_individual(widget_default_margin.x, widget_default_margin.y, widget_default_margin.x, widget_default_margin.y); style_widget->set_bg_color(dark_color_1); style_widget->set_border_color(dark_color_2); @@ -626,10 +600,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { // Style for windows, popups, etc.. Ref<StyleBoxFlat> style_popup = style_default->duplicate(); const int popup_margin_size = default_margin_size * EDSCALE * 3; - style_popup->set_default_margin(SIDE_LEFT, popup_margin_size); - style_popup->set_default_margin(SIDE_TOP, popup_margin_size); - style_popup->set_default_margin(SIDE_RIGHT, popup_margin_size); - style_popup->set_default_margin(SIDE_BOTTOM, popup_margin_size); + style_popup->set_default_margin_all(popup_margin_size); style_popup->set_border_color(contrast_color_1); const Color shadow_color = Color(0, 0, 0, dark_theme ? 0.3 : 0.1); style_popup->set_shadow_color(shadow_color); @@ -666,9 +637,6 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { style_tab_base->set_corner_radius(CORNER_BOTTOM_LEFT, 0); style_tab_base->set_corner_radius(CORNER_BOTTOM_RIGHT, 0); - // Prevent visible artifacts and cover the top-left rounded corner of the panel below the tab if selected - // We can't prevent them with both rounded corners and non-zero border width, though - style_tab_base->set_expand_margin_size(SIDE_BOTTOM, corner_width > 0 ? corner_width : border_width); // When using a border width greater than 0, visually line up the left of the selected tab with the underlying panel. style_tab_base->set_expand_margin_size(SIDE_LEFT, -border_width); @@ -897,15 +865,15 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_stylebox("hover", "CheckButton", style_menu); theme->set_stylebox("hover_pressed", "CheckButton", style_menu); - theme->set_icon("on", "CheckButton", theme->get_icon(SNAME("GuiToggleOn"), SNAME("EditorIcons"))); - theme->set_icon("on_disabled", "CheckButton", theme->get_icon(SNAME("GuiToggleOnDisabled"), SNAME("EditorIcons"))); - theme->set_icon("off", "CheckButton", theme->get_icon(SNAME("GuiToggleOff"), SNAME("EditorIcons"))); - theme->set_icon("off_disabled", "CheckButton", theme->get_icon(SNAME("GuiToggleOffDisabled"), SNAME("EditorIcons"))); + theme->set_icon("checked", "CheckButton", theme->get_icon(SNAME("GuiToggleOn"), SNAME("EditorIcons"))); + theme->set_icon("checked_disabled", "CheckButton", theme->get_icon(SNAME("GuiToggleOnDisabled"), SNAME("EditorIcons"))); + theme->set_icon("unchecked", "CheckButton", theme->get_icon(SNAME("GuiToggleOff"), SNAME("EditorIcons"))); + theme->set_icon("unchecked_disabled", "CheckButton", theme->get_icon(SNAME("GuiToggleOffDisabled"), SNAME("EditorIcons"))); - theme->set_icon("on_mirrored", "CheckButton", theme->get_icon(SNAME("GuiToggleOnMirrored"), SNAME("EditorIcons"))); - theme->set_icon("on_disabled_mirrored", "CheckButton", theme->get_icon(SNAME("GuiToggleOnDisabledMirrored"), SNAME("EditorIcons"))); - theme->set_icon("off_mirrored", "CheckButton", theme->get_icon(SNAME("GuiToggleOffMirrored"), SNAME("EditorIcons"))); - theme->set_icon("off_disabled_mirrored", "CheckButton", theme->get_icon(SNAME("GuiToggleOffDisabledMirrored"), SNAME("EditorIcons"))); + theme->set_icon("checked_mirrored", "CheckButton", theme->get_icon(SNAME("GuiToggleOnMirrored"), SNAME("EditorIcons"))); + theme->set_icon("checked_disabled_mirrored", "CheckButton", theme->get_icon(SNAME("GuiToggleOnDisabledMirrored"), SNAME("EditorIcons"))); + theme->set_icon("unchecked_mirrored", "CheckButton", theme->get_icon(SNAME("GuiToggleOffMirrored"), SNAME("EditorIcons"))); + theme->set_icon("unchecked_disabled_mirrored", "CheckButton", theme->get_icon(SNAME("GuiToggleOffDisabledMirrored"), SNAME("EditorIcons"))); theme->set_color("font_color", "CheckButton", font_color); theme->set_color("font_hover_color", "CheckButton", font_hover_color); @@ -921,14 +889,11 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_color("icon_disabled_color", "CheckButton", icon_disabled_color); theme->set_constant("h_separation", "CheckButton", 8 * EDSCALE); - theme->set_constant("check_v_adjust", "CheckButton", 0 * EDSCALE); + theme->set_constant("check_v_offset", "CheckButton", 0 * EDSCALE); // Checkbox Ref<StyleBoxFlat> sb_checkbox = style_menu->duplicate(); - sb_checkbox->set_default_margin(SIDE_LEFT, default_margin_size * EDSCALE); - sb_checkbox->set_default_margin(SIDE_RIGHT, default_margin_size * EDSCALE); - sb_checkbox->set_default_margin(SIDE_TOP, default_margin_size * EDSCALE); - sb_checkbox->set_default_margin(SIDE_BOTTOM, default_margin_size * EDSCALE); + sb_checkbox->set_default_margin_all(default_margin_size * EDSCALE); theme->set_stylebox("normal", "CheckBox", sb_checkbox); theme->set_stylebox("pressed", "CheckBox", sb_checkbox); @@ -958,7 +923,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_color("icon_disabled_color", "CheckBox", icon_disabled_color); theme->set_constant("h_separation", "CheckBox", 8 * EDSCALE); - theme->set_constant("check_v_adjust", "CheckBox", 0 * EDSCALE); + theme->set_constant("check_v_offset", "CheckBox", 0 * EDSCALE); // PopupDialog theme->set_stylebox("panel", "PopupDialog", style_popup); @@ -968,10 +933,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { // Use 1 pixel for the sides, since if 0 is used, the highlight of hovered items is drawn // on top of the popup border. This causes a 'gap' in the panel border when an item is highlighted, // and it looks weird. 1px solves this. - style_popup_menu->set_default_margin(SIDE_LEFT, EDSCALE); - style_popup_menu->set_default_margin(SIDE_TOP, 2 * EDSCALE); - style_popup_menu->set_default_margin(SIDE_RIGHT, EDSCALE); - style_popup_menu->set_default_margin(SIDE_BOTTOM, 2 * EDSCALE); + style_popup_menu->set_default_margin_individual(EDSCALE, 2 * EDSCALE, EDSCALE, 2 * EDSCALE); // Always display a border for PopupMenus so they can be distinguished from their background. style_popup_menu->set_border_width_all(EDSCALE); style_popup_menu->set_border_color(dark_color_2); @@ -1027,10 +989,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { sub_inspector_bg->set_bg_color(dark_color_1.lerp(si_base_color, 0.08)); sub_inspector_bg->set_border_width_all(2 * EDSCALE); sub_inspector_bg->set_border_color(si_base_color * Color(0.7, 0.7, 0.7, 0.8)); - sub_inspector_bg->set_default_margin(SIDE_LEFT, 4 * EDSCALE); - sub_inspector_bg->set_default_margin(SIDE_RIGHT, 4 * EDSCALE); - sub_inspector_bg->set_default_margin(SIDE_BOTTOM, 4 * EDSCALE); - sub_inspector_bg->set_default_margin(SIDE_TOP, 4 * EDSCALE); + sub_inspector_bg->set_default_margin_all(4 * EDSCALE); sub_inspector_bg->set_corner_radius(CORNER_TOP_LEFT, 0); sub_inspector_bg->set_corner_radius(CORNER_TOP_RIGHT, 0); @@ -1098,7 +1057,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { // Make Trees easier to distinguish from other controls by using a darker background color. style_tree_bg->set_bg_color(dark_color_1.lerp(dark_color_2, 0.5)); style_tree_bg->set_border_color(dark_color_3); - theme->set_stylebox("bg", "Tree", style_tree_bg); + theme->set_stylebox("panel", "Tree", style_tree_bg); // Tree theme->set_icon("checked", "Tree", theme->get_icon(SNAME("GuiChecked"), SNAME("EditorIcons"))); @@ -1109,7 +1068,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_icon("arrow_collapsed_mirrored", "Tree", theme->get_icon(SNAME("GuiTreeArrowLeft"), SNAME("EditorIcons"))); theme->set_icon("updown", "Tree", theme->get_icon(SNAME("GuiTreeUpdown"), SNAME("EditorIcons"))); theme->set_icon("select_arrow", "Tree", theme->get_icon(SNAME("GuiDropdown"), SNAME("EditorIcons"))); - theme->set_stylebox("bg_focus", "Tree", style_widget_focus); + theme->set_stylebox("focus", "Tree", style_widget_focus); theme->set_stylebox("custom_button", "Tree", make_empty_stylebox()); theme->set_stylebox("custom_button_pressed", "Tree", make_empty_stylebox()); theme->set_stylebox("custom_button_hover", "Tree", style_widget); @@ -1200,26 +1159,24 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { style_itemlist_cursor->set_draw_center(false); style_itemlist_cursor->set_border_width_all(border_width); style_itemlist_cursor->set_border_color(highlight_color); + theme->set_stylebox("panel", "ItemList", style_itemlist_bg); + theme->set_stylebox("focus", "ItemList", style_widget_focus); theme->set_stylebox("cursor", "ItemList", style_itemlist_cursor); theme->set_stylebox("cursor_unfocused", "ItemList", style_itemlist_cursor); theme->set_stylebox("selected_focus", "ItemList", style_tree_focus); theme->set_stylebox("selected", "ItemList", style_tree_selected); - theme->set_stylebox("bg_focus", "ItemList", style_widget_focus); - theme->set_stylebox("bg", "ItemList", style_itemlist_bg); theme->set_color("font_color", "ItemList", font_color); theme->set_color("font_selected_color", "ItemList", mono_color); theme->set_color("guide_color", "ItemList", guide_color); - theme->set_constant("v_separation", "ItemList", widget_default_margin.y - EDSCALE); + theme->set_constant("v_separation", "ItemList", force_even_vsep * 0.5 * EDSCALE); theme->set_constant("h_separation", "ItemList", 6 * EDSCALE); theme->set_constant("icon_margin", "ItemList", 6 * EDSCALE); theme->set_constant("line_separation", "ItemList", 3 * EDSCALE); // TabBar & TabContainer - Ref<StyleBoxFlat> style_tabbar_background = make_flat_stylebox(dark_color_1, 0, 0, 0, 0); - style_tabbar_background->set_expand_margin_size(SIDE_BOTTOM, corner_width > 0 ? corner_width : border_width); - style_tabbar_background->set_corner_detail(corner_width); - style_tabbar_background->set_corner_radius(CORNER_TOP_LEFT, corner_radius * EDSCALE); - style_tabbar_background->set_corner_radius(CORNER_TOP_RIGHT, corner_radius * EDSCALE); + Ref<StyleBoxFlat> style_tabbar_background = make_flat_stylebox(dark_color_1, 0, 0, 0, 0, corner_radius * EDSCALE); + style_tabbar_background->set_corner_radius(CORNER_BOTTOM_LEFT, 0); + style_tabbar_background->set_corner_radius(CORNER_BOTTOM_RIGHT, 0); theme->set_stylebox("tabbar_background", "TabContainer", style_tabbar_background); theme->set_stylebox("tab_selected", "TabContainer", style_tab_selected); @@ -1230,8 +1187,6 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_stylebox("tab_disabled", "TabBar", style_tab_disabled); theme->set_stylebox("button_pressed", "TabBar", style_menu); theme->set_stylebox("button_highlight", "TabBar", style_menu); - theme->set_stylebox("SceneTabFG", "EditorStyles", style_tab_selected); - theme->set_stylebox("SceneTabBG", "EditorStyles", style_tab_unselected); theme->set_color("font_selected_color", "TabContainer", font_color); theme->set_color("font_unselected_color", "TabContainer", font_disabled_color); theme->set_color("font_selected_color", "TabBar", font_color); @@ -1251,22 +1206,25 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_icon("decrement_highlight", "TabContainer", theme->get_icon(SNAME("GuiScrollArrowLeftHl"), SNAME("EditorIcons"))); theme->set_icon("drop_mark", "TabContainer", theme->get_icon(SNAME("GuiTabDropMark"), SNAME("EditorIcons"))); theme->set_icon("drop_mark", "TabBar", theme->get_icon(SNAME("GuiTabDropMark"), SNAME("EditorIcons"))); + theme->set_constant("side_margin", "TabContainer", 0); theme->set_constant("h_separation", "TabBar", 4 * EDSCALE); - // Content of each tab + // Content of each tab. Ref<StyleBoxFlat> style_content_panel = style_default->duplicate(); style_content_panel->set_border_color(dark_color_3); style_content_panel->set_border_width_all(border_width); style_content_panel->set_border_width(Side::SIDE_TOP, 0); style_content_panel->set_corner_radius(CORNER_TOP_LEFT, 0); style_content_panel->set_corner_radius(CORNER_TOP_RIGHT, 0); - // compensate the border - style_content_panel->set_default_margin(SIDE_TOP, (2 + margin_size_extra) * EDSCALE); - style_content_panel->set_default_margin(SIDE_RIGHT, margin_size_extra * EDSCALE); - style_content_panel->set_default_margin(SIDE_BOTTOM, margin_size_extra * EDSCALE); - style_content_panel->set_default_margin(SIDE_LEFT, margin_size_extra * EDSCALE); + // Compensate for the border. + style_content_panel->set_default_margin_individual(margin_size_extra * EDSCALE, (2 + margin_size_extra) * EDSCALE, margin_size_extra * EDSCALE, margin_size_extra * EDSCALE); theme->set_stylebox("panel", "TabContainer", style_content_panel); + // Bottom panel. + Ref<StyleBoxFlat> style_bottom_panel = style_content_panel->duplicate(); + style_bottom_panel->set_corner_radius_all(corner_radius * EDSCALE); + theme->set_stylebox("BottomPanel", "EditorStyles", style_bottom_panel); + // TabContainerOdd can be used on tabs against the base color background (e.g. nested tabs). theme->set_type_variation("TabContainerOdd", "TabContainer"); @@ -1280,10 +1238,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { // This stylebox is used in 3d and 2d viewports (no borders). Ref<StyleBoxFlat> style_content_panel_vp = style_content_panel->duplicate(); - style_content_panel_vp->set_default_margin(SIDE_LEFT, border_width * 2); - style_content_panel_vp->set_default_margin(SIDE_TOP, default_margin_size * EDSCALE); - style_content_panel_vp->set_default_margin(SIDE_RIGHT, border_width * 2); - style_content_panel_vp->set_default_margin(SIDE_BOTTOM, border_width * 2); + style_content_panel_vp->set_default_margin_individual(border_width * 2, default_margin_size * EDSCALE, border_width * 2, border_width * 2); theme->set_stylebox("Content", "EditorStyles", style_content_panel_vp); // This stylebox is used by preview tabs in the Theme Editor. @@ -1345,7 +1300,6 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_stylebox("normal", "TextEdit", style_line_edit); theme->set_stylebox("focus", "TextEdit", style_widget_focus); theme->set_stylebox("read_only", "TextEdit", style_line_edit_disabled); - theme->set_constant("side_margin", "TabContainer", 0); theme->set_icon("tab", "TextEdit", theme->get_icon(SNAME("GuiTab"), SNAME("EditorIcons"))); theme->set_icon("space", "TextEdit", theme->get_icon(SNAME("GuiSpace"), SNAME("EditorIcons"))); theme->set_color("font_color", "TextEdit", font_color); @@ -1363,6 +1317,9 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_constant("separation", "HSplitContainer", default_margin_size * 2 * EDSCALE); theme->set_constant("separation", "VSplitContainer", default_margin_size * 2 * EDSCALE); + theme->set_constant("minimum_grab_thickness", "HSplitContainer", 6 * EDSCALE); + theme->set_constant("minimum_grab_thickness", "VSplitContainer", 6 * EDSCALE); + // Containers theme->set_constant("separation", "BoxContainer", default_margin_size * EDSCALE); theme->set_constant("separation", "HBoxContainer", default_margin_size * EDSCALE); @@ -1422,6 +1379,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { // AcceptDialog theme->set_stylebox("panel", "AcceptDialog", style_window_title); + theme->set_constant("buttons_separation", "AcceptDialog", 8 * EDSCALE); // HScrollBar Ref<Texture2D> empty_icon = memnew(ImageTexture); @@ -1520,10 +1478,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { // is only relevant for default tooltips. Ref<StyleBoxFlat> style_tooltip = style_popup->duplicate(); style_tooltip->set_shadow_size(0); - style_tooltip->set_default_margin(SIDE_LEFT, default_margin_size * EDSCALE * 0.5); - style_tooltip->set_default_margin(SIDE_TOP, default_margin_size * EDSCALE * 0.5); - style_tooltip->set_default_margin(SIDE_RIGHT, default_margin_size * EDSCALE * 0.5); - style_tooltip->set_default_margin(SIDE_BOTTOM, default_margin_size * EDSCALE * 0.5); + style_tooltip->set_default_margin_all(default_margin_size * EDSCALE * 0.5); style_tooltip->set_bg_color(dark_color_3 * Color(0.8, 0.8, 0.8, 0.9)); style_tooltip->set_border_width_all(0); theme->set_color("font_color", "TooltipLabel", font_hover_color); @@ -1549,8 +1504,8 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_icon("updown_disabled", "SpinBox", theme->get_icon(SNAME("GuiSpinboxUpdownDisabled"), SNAME("EditorIcons"))); // ProgressBar - theme->set_stylebox("bg", "ProgressBar", make_stylebox(theme->get_icon(SNAME("GuiProgressBar"), SNAME("EditorIcons")), 4, 4, 4, 4, 0, 0, 0, 0)); - theme->set_stylebox("fg", "ProgressBar", make_stylebox(theme->get_icon(SNAME("GuiProgressFill"), SNAME("EditorIcons")), 6, 6, 6, 6, 2, 1, 2, 1)); + theme->set_stylebox("background", "ProgressBar", make_stylebox(theme->get_icon(SNAME("GuiProgressBar"), SNAME("EditorIcons")), 4, 4, 4, 4, 0, 0, 0, 0)); + theme->set_stylebox("fill", "ProgressBar", make_stylebox(theme->get_icon(SNAME("GuiProgressFill"), SNAME("EditorIcons")), 6, 6, 6, 6, 2, 1, 2, 1)); theme->set_color("font_color", "ProgressBar", font_color); // GraphEdit @@ -1593,14 +1548,13 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_stylebox("camera", "GraphEditMinimap", style_minimap_camera); theme->set_stylebox("node", "GraphEditMinimap", style_minimap_node); - Ref<Texture2D> minimap_resizer_icon = theme->get_icon(SNAME("GuiResizer"), SNAME("EditorIcons")); Color minimap_resizer_color; if (dark_theme) { minimap_resizer_color = Color(1, 1, 1, 0.65); } else { minimap_resizer_color = Color(0, 0, 0, 0.65); } - theme->set_icon("resizer", "GraphEditMinimap", flip_icon(minimap_resizer_icon, true, true)); + theme->set_icon("resizer", "GraphEditMinimap", theme->get_icon(SNAME("GuiResizerTopLeft"), SNAME("EditorIcons"))); theme->set_color("resizer_color", "GraphEditMinimap", minimap_resizer_color); // GraphNode @@ -1696,7 +1650,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_icon("toggle_hidden", "FileDialog", theme->get_icon(SNAME("GuiVisibilityVisible"), SNAME("EditorIcons"))); // Use a different color for folder icons to make them easier to distinguish from files. // On a light theme, the icon will be dark, so we need to lighten it before blending it with the accent color. - theme->set_color("folder_icon_modulate", "FileDialog", (dark_theme ? Color(1, 1, 1) : Color(4.25, 4.25, 4.25)).lerp(accent_color, 0.7)); + theme->set_color("folder_icon_color", "FileDialog", (dark_theme ? Color(1, 1, 1) : Color(4.25, 4.25, 4.25)).lerp(accent_color, 0.7)); theme->set_color("files_disabled", "FileDialog", font_disabled_color); // ColorPicker diff --git a/editor/editor_toaster.cpp b/editor/editor_toaster.cpp index 5b015fc95c..6a5242f0c6 100644 --- a/editor/editor_toaster.cpp +++ b/editor/editor_toaster.cpp @@ -284,7 +284,7 @@ void EditorToaster::_draw_button() { void EditorToaster::_draw_progress(Control *panel) { if (toasts.has(panel) && toasts[panel].remaining_time > 0 && toasts[panel].duration > 0) { Size2 size = panel->get_size(); - size.x *= MIN(1, Math::range_lerp(toasts[panel].remaining_time, 0, toasts[panel].duration, 0, 2)); + size.x *= MIN(1, Math::remap(toasts[panel].remaining_time, 0, toasts[panel].duration, 0, 2)); Ref<StyleBoxFlat> stylebox; switch (toasts[panel].severity) { @@ -498,10 +498,7 @@ EditorToaster::EditorToaster() { Ref<StyleBoxFlat> boxes[] = { info_panel_style_background, warning_panel_style_background, error_panel_style_background }; for (int i = 0; i < 3; i++) { - boxes[i]->set_default_margin(SIDE_LEFT, int(stylebox_radius * 2.5)); - boxes[i]->set_default_margin(SIDE_RIGHT, int(stylebox_radius * 2.5)); - boxes[i]->set_default_margin(SIDE_TOP, 3); - boxes[i]->set_default_margin(SIDE_BOTTOM, 3); + boxes[i]->set_default_margin_individual(int(stylebox_radius * 2.5), 3, int(stylebox_radius * 2.5), 3); } // Theming (progress). diff --git a/editor/editor_undo_redo_manager.cpp b/editor/editor_undo_redo_manager.cpp index eca2b3143b..8c04a4d595 100644 --- a/editor/editor_undo_redo_manager.cpp +++ b/editor/editor_undo_redo_manager.cpp @@ -124,7 +124,7 @@ void EditorUndoRedoManager::create_action(const String &p_name, UndoRedo::MergeM create_action_for_history(p_name, INVALID_HISTORY, p_mode); if (p_custom_context) { - // This assigns context to pending action. + // This assigns history to pending action. get_history_for_object(p_custom_context); } } @@ -218,7 +218,10 @@ void EditorUndoRedoManager::add_undo_reference(Object *p_object) { } void EditorUndoRedoManager::commit_action(bool p_execute) { - ERR_FAIL_COND(pending_action.history_id == INVALID_HISTORY); + if (pending_action.history_id == INVALID_HISTORY) { + return; // Empty action, do nothing. + } + is_committing = true; History &history = get_or_create_history(pending_action.history_id); diff --git a/editor/editor_zoom_widget.cpp b/editor/editor_zoom_widget.cpp index e4beea5e5f..88e99d9b30 100644 --- a/editor/editor_zoom_widget.cpp +++ b/editor/editor_zoom_widget.cpp @@ -167,7 +167,7 @@ EditorZoomWidget::EditorZoomWidget() { zoom_minus->set_flat(true); add_child(zoom_minus); zoom_minus->connect("pressed", callable_mp(this, &EditorZoomWidget::_button_zoom_minus)); - zoom_minus->set_shortcut(ED_SHORTCUT("canvas_item_editor/zoom_minus", TTR("Zoom Out"), KeyModifierMask::CMD | Key::MINUS)); + zoom_minus->set_shortcut(ED_SHORTCUT("canvas_item_editor/zoom_minus", TTR("Zoom Out"), KeyModifierMask::CMD_OR_CTRL | Key::MINUS)); zoom_minus->set_shortcut_context(this); zoom_minus->set_focus_mode(FOCUS_NONE); @@ -189,7 +189,7 @@ EditorZoomWidget::EditorZoomWidget() { zoom_plus->set_flat(true); add_child(zoom_plus); zoom_plus->connect("pressed", callable_mp(this, &EditorZoomWidget::_button_zoom_plus)); - zoom_plus->set_shortcut(ED_SHORTCUT("canvas_item_editor/zoom_plus", TTR("Zoom In"), KeyModifierMask::CMD | Key::EQUAL)); // Usually direct access key for PLUS + zoom_plus->set_shortcut(ED_SHORTCUT("canvas_item_editor/zoom_plus", TTR("Zoom In"), KeyModifierMask::CMD_OR_CTRL | Key::EQUAL)); // Usually direct access key for PLUS zoom_plus->set_shortcut_context(this); zoom_plus->set_focus_mode(FOCUS_NONE); diff --git a/editor/export/editor_export_platform.cpp b/editor/export/editor_export_platform.cpp index 525a962222..bcc85570ed 100644 --- a/editor/export/editor_export_platform.cpp +++ b/editor/export/editor_export_platform.cpp @@ -287,7 +287,7 @@ Error EditorExportPlatform::_save_zip_file(void *p_userdata, const String &p_pat Ref<ImageTexture> EditorExportPlatform::get_option_icon(int p_index) const { Ref<Theme> theme = EditorNode::get_singleton()->get_editor_theme(); ERR_FAIL_COND_V(theme.is_null(), Ref<ImageTexture>()); - if (EditorNode::get_singleton()->get_main_control()->is_layout_rtl()) { + if (EditorNode::get_singleton()->get_main_screen_control()->is_layout_rtl()) { return theme->get_icon(SNAME("PlayBackwards"), SNAME("EditorIcons")); } else { return theme->get_icon(SNAME("Play"), SNAME("EditorIcons")); @@ -1619,21 +1619,24 @@ void EditorExportPlatform::gen_export_flags(Vector<String> &r_flags, int p_flags } bool EditorExportPlatform::can_export(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const { + bool valid = true; +#ifndef ANDROID_ENABLED String templates_error; - bool valid_export_configuration = has_valid_export_configuration(p_preset, templates_error, r_missing_templates); - - String project_configuration_error; - bool valid_project_configuration = has_valid_project_configuration(p_preset, project_configuration_error); + valid = valid && has_valid_export_configuration(p_preset, templates_error, r_missing_templates); if (!templates_error.is_empty()) { r_error += templates_error; } +#endif + + String project_configuration_error; + valid = valid && has_valid_project_configuration(p_preset, project_configuration_error); if (!project_configuration_error.is_empty()) { r_error += project_configuration_error; } - return valid_export_configuration && valid_project_configuration; + return valid; } EditorExportPlatform::EditorExportPlatform() { diff --git a/editor/export/export_template_manager.cpp b/editor/export/export_template_manager.cpp index 0ecbc9a8a3..ceb5b63293 100644 --- a/editor/export/export_template_manager.cpp +++ b/editor/export/export_template_manager.cpp @@ -172,7 +172,7 @@ void ExportTemplateManager::_download_template_completed(int p_status, int p_cod case HTTPRequest::RESULT_BODY_SIZE_LIMIT_EXCEEDED: case HTTPRequest::RESULT_CONNECTION_ERROR: case HTTPRequest::RESULT_CHUNKED_BODY_SIZE_MISMATCH: - case HTTPRequest::RESULT_SSL_HANDSHAKE_ERROR: + case HTTPRequest::RESULT_TLS_HANDSHAKE_ERROR: case HTTPRequest::RESULT_CANT_CONNECT: { _set_current_progress_status(TTR("Can't connect to the mirror."), true); } break; @@ -345,8 +345,8 @@ bool ExportTemplateManager::_humanize_http_status(HTTPRequest *p_request, String *r_status = TTR("Connection Error"); success = false; break; - case HTTPClient::STATUS_SSL_HANDSHAKE_ERROR: - *r_status = TTR("SSL Handshake Error"); + case HTTPClient::STATUS_TLS_HANDSHAKE_ERROR: + *r_status = TTR("TLS Handshake Error"); success = false; break; } diff --git a/editor/export/project_export.cpp b/editor/export/project_export.cpp index 00a0e08d3a..8c67885971 100644 --- a/editor/export/project_export.cpp +++ b/editor/export/project_export.cpp @@ -932,8 +932,10 @@ void ProjectExportDialog::_export_project_to_path(const String &p_path) { } void ProjectExportDialog::_export_all_dialog() { +#ifndef ANDROID_ENABLED export_all_dialog->show(); export_all_dialog->popup_centered(Size2(300, 80)); +#endif } void ProjectExportDialog::_export_all_dialog_action(const String &p_str) { @@ -1194,11 +1196,16 @@ ProjectExportDialog::ProjectExportDialog() { set_cancel_button_text(TTR("Close")); set_ok_button_text(TTR("Export PCK/ZIP...")); + get_ok_button()->set_disabled(true); +#ifdef ANDROID_ENABLED + export_button = memnew(Button); + export_button->hide(); +#else export_button = add_button(TTR("Export Project..."), !DisplayServer::get_singleton()->get_swap_cancel_ok(), "export"); +#endif export_button->connect("pressed", callable_mp(this, &ProjectExportDialog::_export_project)); // Disable initially before we select a valid preset export_button->set_disabled(true); - get_ok_button()->set_disabled(true); export_all_dialog = memnew(ConfirmationDialog); add_child(export_all_dialog); @@ -1208,8 +1215,14 @@ ProjectExportDialog::ProjectExportDialog() { export_all_dialog->add_button(TTR("Debug"), true, "debug"); export_all_dialog->add_button(TTR("Release"), true, "release"); export_all_dialog->connect("custom_action", callable_mp(this, &ProjectExportDialog::_export_all_dialog_action)); +#ifdef ANDROID_ENABLED + export_all_dialog->hide(); + export_all_button = memnew(Button); + export_all_button->hide(); +#else export_all_button = add_button(TTR("Export All..."), !DisplayServer::get_singleton()->get_swap_cancel_ok(), "export"); +#endif export_all_button->connect("pressed", callable_mp(this, &ProjectExportDialog::_export_all_dialog)); export_all_button->set_disabled(true); diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp index 19788e70da..19b4932d3d 100644 --- a/editor/filesystem_dock.cpp +++ b/editor/filesystem_dock.cpp @@ -76,7 +76,7 @@ bool FileSystemDock::_create_tree(TreeItem *p_parent, EditorFileSystemDirectory subdirectory_item->set_text(0, dname); subdirectory_item->set_structured_text_bidi_override(0, TextServer::STRUCTURED_TEXT_FILE); subdirectory_item->set_icon(0, get_theme_icon(SNAME("Folder"), SNAME("EditorIcons"))); - subdirectory_item->set_icon_modulate(0, get_theme_color(SNAME("folder_icon_modulate"), SNAME("FileDialog"))); + subdirectory_item->set_icon_modulate(0, get_theme_color(SNAME("folder_icon_color"), SNAME("FileDialog"))); subdirectory_item->set_selectable(0, true); String lpath = p_dir->get_path(); subdirectory_item->set_metadata(0, lpath); @@ -246,7 +246,7 @@ void FileSystemDock::_update_tree(const Vector<String> &p_uncollapsed_paths, boo } Ref<Texture2D> folder_icon = get_theme_icon(SNAME("Folder"), SNAME("EditorIcons")); - const Color folder_color = get_theme_color(SNAME("folder_icon_modulate"), SNAME("FileDialog")); + const Color folder_color = get_theme_color(SNAME("folder_icon_color"), SNAME("FileDialog")); String text; Ref<Texture2D> icon; @@ -778,7 +778,7 @@ void FileSystemDock::_update_file_list(bool p_keep_selection) { } Ref<Texture2D> folder_icon = (use_thumbnails) ? folder_thumbnail : get_theme_icon(SNAME("folder"), SNAME("FileDialog")); - const Color folder_color = get_theme_color(SNAME("folder_icon_modulate"), SNAME("FileDialog")); + const Color folder_color = get_theme_color(SNAME("folder_icon_color"), SNAME("FileDialog")); // Build the FileInfo list. List<FileInfo> file_list; @@ -3021,10 +3021,10 @@ FileSystemDock::FileSystemDock() { set_name("FileSystem"); path = "res://"; - // `KeyModifierMask::CMD | Key::C` conflicts with other editor shortcuts. - ED_SHORTCUT("filesystem_dock/copy_path", TTR("Copy Path"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::C); + // `KeyModifierMask::CMD_OR_CTRL | Key::C` conflicts with other editor shortcuts. + ED_SHORTCUT("filesystem_dock/copy_path", TTR("Copy Path"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::C); ED_SHORTCUT("filesystem_dock/copy_uid", TTR("Copy UID")); - ED_SHORTCUT("filesystem_dock/duplicate", TTR("Duplicate..."), KeyModifierMask::CMD | Key::D); + ED_SHORTCUT("filesystem_dock/duplicate", TTR("Duplicate..."), KeyModifierMask::CMD_OR_CTRL | Key::D); ED_SHORTCUT("filesystem_dock/delete", TTR("Delete"), Key::KEY_DELETE); ED_SHORTCUT("filesystem_dock/rename", TTR("Rename..."), Key::F2); ED_SHORTCUT_OVERRIDE("filesystem_dock/rename", "macos", Key::ENTER); diff --git a/editor/icons/GuiResizerTopLeft.svg b/editor/icons/GuiResizerTopLeft.svg new file mode 100644 index 0000000000..a67c2c0722 --- /dev/null +++ b/editor/icons/GuiResizerTopLeft.svg @@ -0,0 +1 @@ +<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m4 12c.55228 0 1-.44772 1-1v-6h6c.55228 0 1-.44772 1-1s-.44772-1-1-1h-7c-.55226.000055-.99994.44774-1 1v7c0 .55228.44772 1 1 1z" fill="#fff" fill-opacity=".58824"/></svg> diff --git a/editor/icons/MemberAnnotation.svg b/editor/icons/MemberAnnotation.svg new file mode 100644 index 0000000000..c73ebf7b9b --- /dev/null +++ b/editor/icons/MemberAnnotation.svg @@ -0,0 +1 @@ +<svg width="16" height="16" version="1.0" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><script id="custom-useragent-string-page-script"/><path d="m13.821 12.756c-5.0033 3.9148-12.551 2.248-12.49-4.538 0.67424-11.471 17.312-7.4502 12.446 2.1173-1.0549 1.1955-2.0737 1.4617-3.1983 0.4329-0.21023-0.19282-0.44783-1.1594-0.3819-1.5089 0.35827-1.8946 1.0885-4.0778-0.72151-4.7234-2.4171-0.86457-4.5592 1.6495-4.9697 4.0193-0.47396 2.7343 2.284 3.3749 4.1487 1.9879 0.4553-0.36324 1.6433-1.3796 1.6806-1.9742" fill="none" stroke="#e0e0e0" stroke-linejoin="round" stroke-width="1.4928"/></svg> diff --git a/editor/icons/PreviewEnvironment.svg b/editor/icons/PreviewEnvironment.svg new file mode 100644 index 0000000000..e0b0257daf --- /dev/null +++ b/editor/icons/PreviewEnvironment.svg @@ -0,0 +1 @@ +<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill="#e0e0e0" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="m8 1a7 7 0 0 0 -7 7 7 7 0 0 0 7 7 7 7 0 0 0 7-7 7 7 0 0 0 -7-7zm-1.7305 2.3125c-.83125 1.5372-1.2685 3.1037-1.2695 4.6816-.64057-.11251-1.3005-.27158-1.9766-.47266a5 5 0 0 1 3.2461-4.209zm3.4629.00391a5 5 0 0 1 3.2383 4.1875c-.65187.17448-1.3077.32867-1.9727.44922-.0084-1.5627-.44294-3.1141-1.2656-4.6367zm-1.7324.0078088c1.0126 1.593 1.5 3.1425 1.5 4.6758 0 .054042-.00662.10803-.00781.16211-.96392.096801-1.9566.1103-2.9844.027344-.00163-.063192-.00781-.12632-.00781-.18945 0-1.5333.48744-3.0828 1.5-4.6758zm4.8789 5.7578a5 5 0 0 1 -3.1484 3.6055002c.57106-1.0564.95277-2.1268 1.1367-3.2051002.68204-.10905 1.3556-.23789 2.0117-.40039zm-9.7461.033203c.68377.18153 1.3555.33345 2.0098.43164.18781 1.0551002.56647 2.1026002 1.125 3.1367002a5 5 0 0 1 -3.1348-3.5684002zm6.168.55469c-.22615.9886602-.65424 1.9884002-1.3008 3.0059002-.63811-1.0042-1.0645-1.9908-1.293-2.9668002.89027.054126 1.7517.029377 2.5938-.039062z"/><path d="m8 1v2.3242c1.0126 1.593 1.5 3.1425 1.5 4.6758 0 .054042-.00662.10803-.00781.16211-.4894.049148-.98713.077552-1.4922.082031v1.4922c.43915-.0076.87287-.031628 1.3008-.066406-.22615.98866-.65424 1.9884-1.3008 3.0059v2.3242a7 7 0 0 0 7.000001-7 7 7 0 0 0 -7.000001-7zm1.7324 2.3164a5 5 0 0 1 3.2383 4.1875c-.65187.17448-1.3077.32867-1.9727.44922-.00845-1.5627-.44294-3.1141-1.2656-4.6367zm3.1465 5.7656a5 5 0 0 1 -3.1484 3.6055c.57106-1.0564.95277-2.1268 1.1367-3.2051.68204-.10905 1.3556-.23789 2.0117-.40039z"/></g></svg> diff --git a/editor/icons/PreviewSun.svg b/editor/icons/PreviewSun.svg new file mode 100644 index 0000000000..a8c652be65 --- /dev/null +++ b/editor/icons/PreviewSun.svg @@ -0,0 +1 @@ +<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m7 1v3h2v-3zm-2.5352 2.0508-1.4141 1.4141 1.4141 1.4141 1.4141-1.4141zm7.0703 0-1.4141 1.4141 1.4141 1.4141 1.4141-1.4141zm-3.5352 1.9492c-1.6569 0-3 1.3432-3 3s1.3431 3 3 3 3-1.3432 3-3-1.3431-3-3-3zm-7 2v2h3v-2zm11 0v2h3v-2zm-7.5352 3.1211-1.4141 1.4141 1.4141 1.4141 1.4141-1.4141zm7.0703 0-1.4141 1.4141 1.4141 1.4141 1.4141-1.4141zm-4.5352 1.8789v3h2v-3z" fill="#e0e0e0"/></svg> diff --git a/editor/icons/SceneUniqueName.svg b/editor/icons/SceneUniqueName.svg index 34279a14a6..c8aca7b3e6 100644 --- a/editor/icons/SceneUniqueName.svg +++ b/editor/icons/SceneUniqueName.svg @@ -1 +1,2 @@ -<svg height="16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M4.378 2.224q1.235 0 2.084.866.865.85.865 2.083 0 1.17-.881 2.036-.866.85-2.068.85-1.218 0-2.083-.85-.866-.866-.866-2.068t.866-2.051q.865-.866 2.083-.866zm.962 1.988q-.4-.4-.962-.4-.56 0-.961.4-.401.384-.401.93 0 .56.4.961.401.385.962.385.561 0 .962-.385.4-.4.4-.946 0-.56-.4-.945zm5.45-2.116h1.218L5.677 13.78H4.442Zm1.17 5.722q1.234 0 2.083.866.866.849.866 2.1 0 1.17-.882 2.035-.865.85-2.068.85-1.218 0-2.083-.85-.866-.866-.866-2.084 0-1.202.866-2.051.865-.866 2.083-.866zm.961 1.987q-.4-.4-.962-.4-.56 0-.961.4-.4.385-.4.946 0 .561.4.962.4.384.961.384.561 0 .962-.384.4-.4.4-.946 0-.56-.4-.962z" aria-label="%" style="font-weight:600;font-size:16.0277px;font-family:FreeSans;-inkscape-font-specification:'FreeSans Semi-Bold';letter-spacing:0;word-spacing:0;fill:#e0e0e0;fill-opacity:.996078;stroke-width:.400692"/></svg> +<svg height="16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m4.378 2.224q1.235 0 2.084.866.865.85.865 2.083 0 1.17-.881 2.036-.866.85-2.068.85-1.218 0-2.083-.85-.866-.866-.866-2.068t.866-2.051q.865-.866 2.083-.866zm.962 1.988q-.4-.4-.962-.4-.56 0-.961.4-.401.384-.401.93 0 .56.4.961.401.385.962.385.561 0 .962-.385.4-.4.4-.946 0-.56-.4-.945zm5.45-2.116h1.218l-6.331 11.684h-1.235zm1.17 5.722q1.234 0 2.083.866.866.849.866 2.1 0 1.17-.882 2.035-.865.85-2.068.85-1.218 0-2.083-.85-.866-.866-.866-2.084 0-1.202.866-2.051.865-.866 2.083-.866zm.961 1.987q-.4-.4-.962-.4-.56 0-.961.4-.4.385-.4.946 0 .561.4.962.4.384.961.384.561 0 .962-.384.4-.4.4-.946 0-.56-.4-.962z" fill="#e0e0e0" stroke-width=".400692"/></svg> + diff --git a/editor/import/dynamic_font_import_settings.cpp b/editor/import/dynamic_font_import_settings.cpp index 405d8d2169..d1f37179f3 100644 --- a/editor/import/dynamic_font_import_settings.cpp +++ b/editor/import/dynamic_font_import_settings.cpp @@ -1343,8 +1343,8 @@ DynamicFontImportSettings::DynamicFontImportSettings() { for (int i = 0; i < 16; i++) { glyph_table->set_column_title(i + 1, String::num_int64(i, 16)); } - glyph_table->add_theme_style_override("selected", glyph_table->get_theme_stylebox(SNAME("bg"))); - glyph_table->add_theme_style_override("selected_focus", glyph_table->get_theme_stylebox(SNAME("bg"))); + glyph_table->add_theme_style_override("selected", glyph_table->get_theme_stylebox(SNAME("panel"))); + glyph_table->add_theme_style_override("selected_focus", glyph_table->get_theme_stylebox(SNAME("panel"))); glyph_table->add_theme_constant_override("h_separation", 0); glyph_table->set_h_size_flags(Control::SIZE_EXPAND_FILL); glyph_table->set_v_size_flags(Control::SIZE_EXPAND_FILL); diff --git a/editor/import/post_import_plugin_skeleton_renamer.cpp b/editor/import/post_import_plugin_skeleton_renamer.cpp index 69c0a047e4..72ccb832c7 100644 --- a/editor/import/post_import_plugin_skeleton_renamer.cpp +++ b/editor/import/post_import_plugin_skeleton_renamer.cpp @@ -143,7 +143,7 @@ void PostImportPluginSkeletonRenamer::internal_process(InternalImportCategory p_ // Make unique skeleton. if (bool(p_options["retarget/bone_renamer/unique_node/make_unique"])) { String unique_name = String(p_options["retarget/bone_renamer/unique_node/skeleton_name"]); - ERR_FAIL_COND_MSG(unique_name == String(), "Skeleton unique name cannot be empty."); + ERR_FAIL_COND_MSG(unique_name.is_empty(), "Skeleton unique name cannot be empty."); TypedArray<Node> nodes = p_base_scene->find_children("*", "AnimationPlayer"); while (nodes.size()) { diff --git a/editor/import/post_import_plugin_skeleton_rest_fixer.cpp b/editor/import/post_import_plugin_skeleton_rest_fixer.cpp index 6f775c7ea8..a5ef2e7f97 100644 --- a/editor/import/post_import_plugin_skeleton_rest_fixer.cpp +++ b/editor/import/post_import_plugin_skeleton_rest_fixer.cpp @@ -90,16 +90,9 @@ void PostImportPluginSkeletonRestFixer::internal_process(InternalImportCategory } } - // Apply node transforms. + // Get global transform. + Transform3D global_transform; if (bool(p_options["retarget/rest_fixer/apply_node_transforms"])) { - LocalVector<Transform3D> old_skeleton_rest; - LocalVector<Transform3D> old_skeleton_global_rest; - for (int i = 0; i < src_skeleton->get_bone_count(); i++) { - old_skeleton_rest.push_back(src_skeleton->get_bone_rest(i)); - old_skeleton_global_rest.push_back(src_skeleton->get_bone_global_rest(i)); - } - - Transform3D global_transform; Node *pr = src_skeleton; while (pr) { Node3D *pr3d = Object::cast_to<Node3D>(pr); @@ -109,6 +102,47 @@ void PostImportPluginSkeletonRestFixer::internal_process(InternalImportCategory } pr = pr->get_parent(); } + global_transform.origin = Vector3(); // Translation by a Node is not a bone animation, so the retargeted model should be at the origin. + } + + // Calc IBM difference. + LocalVector<Vector<Transform3D>> ibm_diffs; + { + TypedArray<Node> nodes = p_base_scene->find_children("*", "ImporterMeshInstance3D"); + while (nodes.size()) { + ImporterMeshInstance3D *mi = Object::cast_to<ImporterMeshInstance3D>(nodes.pop_back()); + ERR_CONTINUE(!mi); + + Ref<Skin> skin = mi->get_skin(); + ERR_CONTINUE(!skin.is_valid()); + + Node *node = mi->get_node(mi->get_skeleton_path()); + ERR_CONTINUE(!node); + + Skeleton3D *mesh_skeleton = Object::cast_to<Skeleton3D>(node); + if (!mesh_skeleton || mesh_skeleton != src_skeleton) { + continue; + } + + Vector<Transform3D> ibm_diff; + ibm_diff.resize(src_skeleton->get_bone_count()); + Transform3D *ibm_diff_w = ibm_diff.ptrw(); + + int skin_len = skin->get_bind_count(); + for (int i = 0; i < skin_len; i++) { + StringName bn = skin->get_bind_name(i); + int bone_idx = src_skeleton->find_bone(bn); + if (bone_idx >= 0) { + ibm_diff_w[bone_idx] = global_transform * src_skeleton->get_bone_global_rest(bone_idx) * skin->get_bind_pose(i); + } + } + + ibm_diffs.push_back(ibm_diff); + } + } + + // Apply node transforms. + if (bool(p_options["retarget/rest_fixer/apply_node_transforms"])) { Vector3 scl = global_transform.basis.get_scale_local(); Vector<int> bones_to_process = src_skeleton->get_parentless_bones(); @@ -148,38 +182,42 @@ void PostImportPluginSkeletonRestFixer::internal_process(InternalImportCategory String track_path = String(anim->track_get_path(i).get_concatenated_names()); Node *node = (ap->get_node(ap->get_root()))->get_node(NodePath(track_path)); - if (node) { - Skeleton3D *track_skeleton = Object::cast_to<Skeleton3D>(node); - if (track_skeleton && track_skeleton == src_skeleton) { - StringName bn = anim->track_get_path(i).get_subname(0); - if (bn) { - int bone_idx = src_skeleton->find_bone(bn); - int key_len = anim->track_get_key_count(i); - if (anim->track_get_type(i) == Animation::TYPE_POSITION_3D) { - if (bones_to_process.has(bone_idx)) { - for (int j = 0; j < key_len; j++) { - Vector3 ps = static_cast<Vector3>(anim->track_get_key_value(i, j)); - anim->track_set_key_value(i, j, global_transform.basis.xform(ps) + global_transform.origin); - } - } else { - for (int j = 0; j < key_len; j++) { - Vector3 ps = static_cast<Vector3>(anim->track_get_key_value(i, j)); - anim->track_set_key_value(i, j, ps * scl); - } - } - } else if (bones_to_process.has(bone_idx)) { - if (anim->track_get_type(i) == Animation::TYPE_ROTATION_3D) { - for (int j = 0; j < key_len; j++) { - Quaternion qt = static_cast<Quaternion>(anim->track_get_key_value(i, j)); - anim->track_set_key_value(i, j, global_transform.basis.get_rotation_quaternion() * qt); - } - } else { - for (int j = 0; j < key_len; j++) { - Basis sc = Basis().scaled(static_cast<Vector3>(anim->track_get_key_value(i, j))); - anim->track_set_key_value(i, j, (global_transform.basis * sc).get_scale()); - } - } - } + ERR_CONTINUE(!node); + + Skeleton3D *track_skeleton = Object::cast_to<Skeleton3D>(node); + if (!track_skeleton || track_skeleton != src_skeleton) { + continue; + } + + StringName bn = anim->track_get_path(i).get_subname(0); + if (!bn) { + continue; + } + + int bone_idx = src_skeleton->find_bone(bn); + int key_len = anim->track_get_key_count(i); + if (anim->track_get_type(i) == Animation::TYPE_POSITION_3D) { + if (bones_to_process.has(bone_idx)) { + for (int j = 0; j < key_len; j++) { + Vector3 ps = static_cast<Vector3>(anim->track_get_key_value(i, j)); + anim->track_set_key_value(i, j, global_transform.basis.xform(ps) + global_transform.origin); + } + } else { + for (int j = 0; j < key_len; j++) { + Vector3 ps = static_cast<Vector3>(anim->track_get_key_value(i, j)); + anim->track_set_key_value(i, j, ps * scl); + } + } + } else if (bones_to_process.has(bone_idx)) { + if (anim->track_get_type(i) == Animation::TYPE_ROTATION_3D) { + for (int j = 0; j < key_len; j++) { + Quaternion qt = static_cast<Quaternion>(anim->track_get_key_value(i, j)); + anim->track_set_key_value(i, j, global_transform.basis.get_rotation_quaternion() * qt); + } + } else { + for (int j = 0; j < key_len; j++) { + Basis sc = Basis().scaled(static_cast<Vector3>(anim->track_get_key_value(i, j))); + anim->track_set_key_value(i, j, (global_transform.basis * sc).get_scale()); } } } @@ -220,24 +258,26 @@ void PostImportPluginSkeletonRestFixer::internal_process(InternalImportCategory } } - if (found_skeleton) { - // Search and insert rot track if it doesn't exist. - for (int prof_idx = 0; prof_idx < prof_skeleton->get_bone_count(); prof_idx++) { - String bone_name = is_renamed ? prof_skeleton->get_bone_name(prof_idx) : String(bone_map->get_skeleton_bone_name(prof_skeleton->get_bone_name(prof_idx))); - if (bone_name == String()) { - continue; - } - int src_idx = src_skeleton->find_bone(bone_name); - if (src_idx == -1) { - continue; - } - String insert_path = track_path + ":" + bone_name; - int rot_track = anim->find_track(insert_path, Animation::TYPE_ROTATION_3D); - if (rot_track == -1) { - int track = anim->add_track(Animation::TYPE_ROTATION_3D); - anim->track_set_path(track, insert_path); - anim->rotation_track_insert_key(track, 0, src_skeleton->get_bone_rest(src_idx).basis.get_rotation_quaternion()); - } + if (!found_skeleton) { + continue; + } + + // Search and insert rot track if it doesn't exist. + for (int prof_idx = 0; prof_idx < prof_skeleton->get_bone_count(); prof_idx++) { + String bone_name = is_renamed ? prof_skeleton->get_bone_name(prof_idx) : String(bone_map->get_skeleton_bone_name(prof_skeleton->get_bone_name(prof_idx))); + if (bone_name.is_empty()) { + continue; + } + int src_idx = src_skeleton->find_bone(bone_name); + if (src_idx == -1) { + continue; + } + String insert_path = track_path + ":" + bone_name; + int rot_track = anim->find_track(insert_path, Animation::TYPE_ROTATION_3D); + if (rot_track == -1) { + int track = anim->add_track(Animation::TYPE_ROTATION_3D); + anim->track_set_path(track, insert_path); + anim->rotation_track_insert_key(track, 0, src_skeleton->get_bone_rest(src_idx).basis.get_rotation_quaternion()); } } } @@ -385,19 +425,23 @@ void PostImportPluginSkeletonRestFixer::internal_process(InternalImportCategory String track_path = String(anim->track_get_path(i).get_concatenated_names()); Node *node = (ap->get_node(ap->get_root()))->get_node(NodePath(track_path)); - if (node) { - Skeleton3D *track_skeleton = Object::cast_to<Skeleton3D>(node); - if (track_skeleton && track_skeleton == src_skeleton) { - StringName bn = anim->track_get_path(i).get_concatenated_subnames(); - if (bn == scale_base_bone_name) { - int key_len = anim->track_get_key_count(i); - for (int j = 0; j < key_len; j++) { - Vector3 pos = static_cast<Vector3>(anim->track_get_key_value(i, j)); - pos.y += base_adjustment; - anim->track_set_key_value(i, j, pos); - } - } - } + ERR_CONTINUE(!node); + + Skeleton3D *track_skeleton = Object::cast_to<Skeleton3D>(node); + if (!track_skeleton || track_skeleton != src_skeleton) { + continue; + } + + StringName bn = anim->track_get_path(i).get_concatenated_subnames(); + if (bn != scale_base_bone_name) { + continue; + } + + int key_len = anim->track_get_key_count(i); + for (int j = 0; j < key_len; j++) { + Vector3 pos = static_cast<Vector3>(anim->track_get_key_value(i, j)); + pos.y += base_adjustment; + anim->track_set_key_value(i, j, pos); } } } @@ -441,16 +485,18 @@ void PostImportPluginSkeletonRestFixer::internal_process(InternalImportCategory String track_path = String(anim->track_get_path(i).get_concatenated_names()); Node *node = (ap->get_node(ap->get_root()))->get_node(NodePath(track_path)); - if (node) { - Skeleton3D *track_skeleton = Object::cast_to<Skeleton3D>(node); - if (track_skeleton && track_skeleton == src_skeleton) { - real_t mlt = 1 / src_skeleton->get_motion_scale(); - int key_len = anim->track_get_key_count(i); - for (int j = 0; j < key_len; j++) { - Vector3 pos = static_cast<Vector3>(anim->track_get_key_value(i, j)); - anim->track_set_key_value(i, j, pos * mlt); - } - } + ERR_CONTINUE(!node); + + Skeleton3D *track_skeleton = Object::cast_to<Skeleton3D>(node); + if (!track_skeleton || track_skeleton != src_skeleton) { + continue; + } + + real_t mlt = 1 / src_skeleton->get_motion_scale(); + int key_len = anim->track_get_key_count(i); + for (int j = 0; j < key_len; j++) { + Vector3 pos = static_cast<Vector3>(anim->track_get_key_value(i, j)); + anim->track_set_key_value(i, j, pos * mlt); } } } @@ -518,6 +564,7 @@ void PostImportPluginSkeletonRestFixer::internal_process(InternalImportCategory TypedArray<Node> nodes = p_base_scene->find_children("*", "AnimationPlayer"); while (nodes.size()) { AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(nodes.pop_back()); + ERR_CONTINUE(!ap); List<StringName> anims; ap->get_animation_list(&anims); for (const StringName &name : anims) { @@ -534,53 +581,57 @@ void PostImportPluginSkeletonRestFixer::internal_process(InternalImportCategory String track_path = String(anim->track_get_path(i).get_concatenated_names()); Node *node = (ap->get_node(ap->get_root()))->get_node(NodePath(track_path)); - if (node) { - Skeleton3D *track_skeleton = Object::cast_to<Skeleton3D>(node); - if (track_skeleton && track_skeleton == src_skeleton) { - StringName bn = anim->track_get_path(i).get_subname(0); - if (bn) { - int bone_idx = src_skeleton->find_bone(bn); - - Transform3D old_rest = old_skeleton_rest[bone_idx]; - Transform3D new_rest = src_skeleton->get_bone_rest(bone_idx); - Transform3D old_pg; - Transform3D new_pg; - int parent_idx = src_skeleton->get_bone_parent(bone_idx); - if (parent_idx >= 0) { - old_pg = old_skeleton_global_rest[parent_idx]; - new_pg = src_skeleton->get_bone_global_rest(parent_idx); - } - - int key_len = anim->track_get_key_count(i); - if (anim->track_get_type(i) == Animation::TYPE_ROTATION_3D) { - Quaternion old_rest_q = old_rest.basis.get_rotation_quaternion(); - Quaternion new_rest_q = new_rest.basis.get_rotation_quaternion(); - Quaternion old_pg_q = old_pg.basis.get_rotation_quaternion(); - Quaternion new_pg_q = new_pg.basis.get_rotation_quaternion(); - for (int j = 0; j < key_len; j++) { - Quaternion qt = static_cast<Quaternion>(anim->track_get_key_value(i, j)); - anim->track_set_key_value(i, j, new_pg_q.inverse() * old_pg_q * qt * old_rest_q.inverse() * old_pg_q.inverse() * new_pg_q * new_rest_q); - } - } else if (anim->track_get_type(i) == Animation::TYPE_SCALE_3D) { - Basis old_rest_b = old_rest.basis; - Basis new_rest_b = new_rest.basis; - Basis old_pg_b = old_pg.basis; - Basis new_pg_b = new_pg.basis; - for (int j = 0; j < key_len; j++) { - Basis sc = Basis().scaled(static_cast<Vector3>(anim->track_get_key_value(i, j))); - anim->track_set_key_value(i, j, (new_pg_b.inverse() * old_pg_b * sc * old_rest_b.inverse() * old_pg_b.inverse() * new_pg_b * new_rest_b).get_scale()); - } - } else { - Vector3 old_rest_o = old_rest.origin; - Vector3 new_rest_o = new_rest.origin; - Quaternion old_pg_q = old_pg.basis.get_rotation_quaternion(); - Quaternion new_pg_q = new_pg.basis.get_rotation_quaternion(); - for (int j = 0; j < key_len; j++) { - Vector3 ps = static_cast<Vector3>(anim->track_get_key_value(i, j)); - anim->track_set_key_value(i, j, new_pg_q.xform_inv(old_pg_q.xform(ps - old_rest_o)) + new_rest_o); - } - } - } + ERR_CONTINUE(!node); + + Skeleton3D *track_skeleton = Object::cast_to<Skeleton3D>(node); + if (!track_skeleton || track_skeleton != src_skeleton) { + continue; + } + + StringName bn = anim->track_get_path(i).get_subname(0); + if (!bn) { + continue; + } + + int bone_idx = src_skeleton->find_bone(bn); + + Transform3D old_rest = old_skeleton_rest[bone_idx]; + Transform3D new_rest = src_skeleton->get_bone_rest(bone_idx); + Transform3D old_pg; + Transform3D new_pg; + int parent_idx = src_skeleton->get_bone_parent(bone_idx); + if (parent_idx >= 0) { + old_pg = old_skeleton_global_rest[parent_idx]; + new_pg = src_skeleton->get_bone_global_rest(parent_idx); + } + + int key_len = anim->track_get_key_count(i); + if (anim->track_get_type(i) == Animation::TYPE_ROTATION_3D) { + Quaternion old_rest_q = old_rest.basis.get_rotation_quaternion(); + Quaternion new_rest_q = new_rest.basis.get_rotation_quaternion(); + Quaternion old_pg_q = old_pg.basis.get_rotation_quaternion(); + Quaternion new_pg_q = new_pg.basis.get_rotation_quaternion(); + for (int j = 0; j < key_len; j++) { + Quaternion qt = static_cast<Quaternion>(anim->track_get_key_value(i, j)); + anim->track_set_key_value(i, j, new_pg_q.inverse() * old_pg_q * qt * old_rest_q.inverse() * old_pg_q.inverse() * new_pg_q * new_rest_q); + } + } else if (anim->track_get_type(i) == Animation::TYPE_SCALE_3D) { + Basis old_rest_b = old_rest.basis; + Basis new_rest_b = new_rest.basis; + Basis old_pg_b = old_pg.basis; + Basis new_pg_b = new_pg.basis; + for (int j = 0; j < key_len; j++) { + Basis sc = Basis().scaled(static_cast<Vector3>(anim->track_get_key_value(i, j))); + anim->track_set_key_value(i, j, (new_pg_b.inverse() * old_pg_b * sc * old_rest_b.inverse() * old_pg_b.inverse() * new_pg_b * new_rest_b).get_scale()); + } + } else { + Vector3 old_rest_o = old_rest.origin; + Vector3 new_rest_o = new_rest.origin; + Quaternion old_pg_q = old_pg.basis.get_rotation_quaternion(); + Quaternion new_pg_q = new_pg.basis.get_rotation_quaternion(); + for (int j = 0; j < key_len; j++) { + Vector3 ps = static_cast<Vector3>(anim->track_get_key_value(i, j)); + anim->track_set_key_value(i, j, new_pg_q.xform_inv(old_pg_q.xform(ps - old_rest_o)) + new_rest_o); } } } @@ -595,26 +646,35 @@ void PostImportPluginSkeletonRestFixer::internal_process(InternalImportCategory // Fix skin. { TypedArray<Node> nodes = p_base_scene->find_children("*", "ImporterMeshInstance3D"); + int skin_idx = 0; while (nodes.size()) { ImporterMeshInstance3D *mi = Object::cast_to<ImporterMeshInstance3D>(nodes.pop_back()); + ERR_CONTINUE(!mi); + Ref<Skin> skin = mi->get_skin(); - if (skin.is_valid()) { - Node *node = mi->get_node(mi->get_skeleton_path()); - if (node) { - Skeleton3D *mesh_skeleton = Object::cast_to<Skeleton3D>(node); - if (mesh_skeleton && node == src_skeleton) { - int skin_len = skin->get_bind_count(); - for (int i = 0; i < skin_len; i++) { - StringName bn = skin->get_bind_name(i); - int bone_idx = src_skeleton->find_bone(bn); - if (bone_idx >= 0) { - Transform3D new_rest = silhouette_diff[i] * src_skeleton->get_bone_global_rest(bone_idx); - skin->set_bind_pose(i, new_rest.inverse()); - } - } - } + ERR_CONTINUE(!skin.is_valid()); + + Node *node = mi->get_node(mi->get_skeleton_path()); + ERR_CONTINUE(!node); + + Skeleton3D *mesh_skeleton = Object::cast_to<Skeleton3D>(node); + if (!mesh_skeleton || mesh_skeleton != src_skeleton) { + continue; + } + + Vector<Transform3D> ibm_diff = ibm_diffs[skin_idx]; + + int skin_len = skin->get_bind_count(); + for (int i = 0; i < skin_len; i++) { + StringName bn = skin->get_bind_name(i); + int bone_idx = src_skeleton->find_bone(bn); + if (bone_idx >= 0) { + Transform3D new_rest = silhouette_diff[i] * src_skeleton->get_bone_global_rest(bone_idx); + skin->set_bind_pose(i, new_rest.inverse() * ibm_diff[bone_idx]); } } + + skin_idx++; } } diff --git a/editor/import/resource_importer_scene.cpp b/editor/import/resource_importer_scene.cpp index 62cb6e4167..b5798a5784 100644 --- a/editor/import/resource_importer_scene.cpp +++ b/editor/import/resource_importer_scene.cpp @@ -368,6 +368,185 @@ static void _pre_gen_shape_list(Ref<ImporterMesh> &mesh, Vector<Ref<Shape3D>> &r } } +struct ScalableNodeCollection { + HashSet<Node3D *> node_3ds; + HashSet<Ref<ImporterMesh>> importer_meshes; + HashSet<Ref<Skin>> skins; + HashSet<Ref<Animation>> animations; +}; + +void _rescale_importer_mesh(Vector3 p_scale, Ref<ImporterMesh> p_mesh, bool is_shadow = false) { + // MESH and SKIN data divide, to compensate for object position multiplying. + + const int surf_count = p_mesh->get_surface_count(); + const int blendshape_count = p_mesh->get_blend_shape_count(); + struct LocalSurfData { + Mesh::PrimitiveType prim = {}; + Array arr; + Array bsarr; + Dictionary lods; + String name; + Ref<Material> mat; + int fmt_compress_flags = 0; + }; + + Vector<LocalSurfData> surf_data_by_mesh; + + Vector<String> blendshape_names; + for (int bsidx = 0; bsidx < blendshape_count; bsidx++) { + blendshape_names.append(p_mesh->get_blend_shape_name(bsidx)); + } + + for (int surf_idx = 0; surf_idx < surf_count; surf_idx++) { + Mesh::PrimitiveType prim = p_mesh->get_surface_primitive_type(surf_idx); + const int fmt_compress_flags = p_mesh->get_surface_format(surf_idx); + Array arr = p_mesh->get_surface_arrays(surf_idx); + String name = p_mesh->get_surface_name(surf_idx); + Dictionary lods = Dictionary(); + Ref<Material> mat = p_mesh->get_surface_material(surf_idx); + { + Vector<Vector3> vertex_array = arr[ArrayMesh::ARRAY_VERTEX]; + for (int vert_arr_i = 0; vert_arr_i < vertex_array.size(); vert_arr_i++) { + vertex_array.write[vert_arr_i] = vertex_array[vert_arr_i] * p_scale; + } + arr[ArrayMesh::ARRAY_VERTEX] = vertex_array; + } + Array blendshapes; + for (int bsidx = 0; bsidx < blendshape_count; bsidx++) { + Array current_bsarr = p_mesh->get_surface_blend_shape_arrays(surf_idx, bsidx); + Vector<Vector3> current_bs_vertex_array = current_bsarr[ArrayMesh::ARRAY_VERTEX]; + int current_bs_vert_arr_len = current_bs_vertex_array.size(); + for (int32_t bs_vert_arr_i = 0; bs_vert_arr_i < current_bs_vert_arr_len; bs_vert_arr_i++) { + current_bs_vertex_array.write[bs_vert_arr_i] = current_bs_vertex_array[bs_vert_arr_i] * p_scale; + } + current_bsarr[ArrayMesh::ARRAY_VERTEX] = current_bs_vertex_array; + blendshapes.push_back(current_bsarr); + } + + LocalSurfData surf_data_dictionary = LocalSurfData(); + surf_data_dictionary.prim = prim; + surf_data_dictionary.arr = arr; + surf_data_dictionary.bsarr = blendshapes; + surf_data_dictionary.lods = lods; + surf_data_dictionary.fmt_compress_flags = fmt_compress_flags; + surf_data_dictionary.name = name; + surf_data_dictionary.mat = mat; + + surf_data_by_mesh.push_back(surf_data_dictionary); + } + + p_mesh->clear(); + + for (int bsidx = 0; bsidx < blendshape_count; bsidx++) { + p_mesh->add_blend_shape(blendshape_names[bsidx]); + } + + for (int surf_idx = 0; surf_idx < surf_count; surf_idx++) { + const Mesh::PrimitiveType prim = surf_data_by_mesh[surf_idx].prim; + const Array arr = surf_data_by_mesh[surf_idx].arr; + const Array bsarr = surf_data_by_mesh[surf_idx].bsarr; + const Dictionary lods = surf_data_by_mesh[surf_idx].lods; + const int fmt_compress_flags = surf_data_by_mesh[surf_idx].fmt_compress_flags; + const String name = surf_data_by_mesh[surf_idx].name; + const Ref<Material> mat = surf_data_by_mesh[surf_idx].mat; + + p_mesh->add_surface(prim, arr, bsarr, lods, mat, name, fmt_compress_flags); + } + + if (!is_shadow && p_mesh->get_shadow_mesh() != p_mesh && p_mesh->get_shadow_mesh().is_valid()) { + _rescale_importer_mesh(p_scale, p_mesh->get_shadow_mesh(), true); + } +} + +void _rescale_skin(Vector3 p_scale, Ref<Skin> p_skin) { + // MESH and SKIN data divide, to compensate for object position multiplying. + for (int i = 0; i < p_skin->get_bind_count(); i++) { + Transform3D transform = p_skin->get_bind_pose(i); + p_skin->set_bind_pose(i, Transform3D(transform.basis, p_scale * transform.origin)); + } +} + +void _rescale_animation(Vector3 p_scale, Ref<Animation> p_animation) { + for (int track_idx = 0; track_idx < p_animation->get_track_count(); track_idx++) { + if (p_animation->track_get_type(track_idx) == Animation::TYPE_POSITION_3D) { + for (int key_idx = 0; key_idx < p_animation->track_get_key_count(track_idx); key_idx++) { + Vector3 value = p_animation->track_get_key_value(track_idx, key_idx); + value = p_scale * value; + p_animation->track_set_key_value(track_idx, key_idx, value); + } + } + } +} + +void _apply_basis_to_scalable_node_collection(ScalableNodeCollection &p_dictionary, Vector3 p_scale) { + for (Node3D *node_3d : p_dictionary.node_3ds) { + if (node_3d) { + node_3d->set_position(p_scale * node_3d->get_position()); + + Skeleton3D *skeleton_3d = Object::cast_to<Skeleton3D>(node_3d); + if (skeleton_3d) { + for (int i = 0; i < skeleton_3d->get_bone_count(); i++) { + Transform3D rest = skeleton_3d->get_bone_rest(i); + skeleton_3d->set_bone_rest(i, Transform3D(rest.basis, p_scale * rest.origin)); + skeleton_3d->set_bone_pose_position(i, p_scale * rest.origin); + } + } + } + } + for (Ref<ImporterMesh> mesh : p_dictionary.importer_meshes) { + _rescale_importer_mesh(p_scale, mesh, false); + } + for (Ref<Skin> skin : p_dictionary.skins) { + _rescale_skin(p_scale, skin); + } + for (Ref<Animation> animation : p_dictionary.animations) { + _rescale_animation(p_scale, animation); + } +} + +void _populate_scalable_nodes_collection(Node *p_node, ScalableNodeCollection &p_dictionary) { + if (!p_node) { + return; + } + Node3D *node_3d = Object::cast_to<Node3D>(p_node); + if (node_3d) { + p_dictionary.node_3ds.insert(node_3d); + ImporterMeshInstance3D *mesh_instance_3d = Object::cast_to<ImporterMeshInstance3D>(p_node); + if (mesh_instance_3d) { + Ref<ImporterMesh> mesh = mesh_instance_3d->get_mesh(); + if (mesh.is_valid()) { + p_dictionary.importer_meshes.insert(mesh); + } + Ref<Skin> skin = mesh_instance_3d->get_skin(); + if (skin.is_valid()) { + p_dictionary.skins.insert(skin); + } + } + } + AnimationPlayer *animation_player = Object::cast_to<AnimationPlayer>(p_node); + if (animation_player) { + List<StringName> animation_list; + animation_player->get_animation_list(&animation_list); + + for (const StringName &E : animation_list) { + Ref<Animation> animation = animation_player->get_animation(E); + p_dictionary.animations.insert(animation); + } + } + + for (int i = 0; i < p_node->get_child_count(); i++) { + Node *child = p_node->get_child(i); + _populate_scalable_nodes_collection(child, p_dictionary); + } +} + +void _apply_permanent_rotation_scale_to_node(Node *p_node) { + Transform3D transform = Object::cast_to<Node3D>(p_node)->get_transform(); + ScalableNodeCollection scalable_node_collection; + _populate_scalable_nodes_collection(p_node, scalable_node_collection); + _apply_basis_to_scalable_node_collection(scalable_node_collection, transform.basis.get_scale()); +} + Node *ResourceImporterScene::_pre_fix_node(Node *p_node, Node *p_root, HashMap<Ref<ImporterMesh>, Vector<Ref<Shape3D>>> &r_collision_map, Pair<PackedVector3Array, PackedInt32Array> *r_occluder_arrays, List<Pair<NodePath, Node *>> &r_node_renames) { // Children first. for (int i = 0; i < p_node->get_child_count(); i++) { @@ -1678,6 +1857,7 @@ void ResourceImporterScene::get_import_options(const String &p_path, List<Import script_ext_hint += "*." + E; } + r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "nodes/apply_root_scale"), true)); r_options->push_back(ImportOption(PropertyInfo(Variant::FLOAT, "nodes/root_scale", PROPERTY_HINT_RANGE, "0.001,1000,0.001"), 1.0)); r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "meshes/ensure_tangents"), true)); r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "meshes/generate_lods"), true)); @@ -1711,6 +1891,39 @@ void ResourceImporterScene::_replace_owner(Node *p_node, Node *p_scene, Node *p_ } } +Array ResourceImporterScene::_get_skinned_pose_transforms(ImporterMeshInstance3D *p_src_mesh_node) { + Array skin_pose_transform_array; + + const Ref<Skin> skin = p_src_mesh_node->get_skin(); + if (skin.is_valid()) { + NodePath skeleton_path = p_src_mesh_node->get_skeleton_path(); + const Node *node = p_src_mesh_node->get_node_or_null(skeleton_path); + const Skeleton3D *skeleton = Object::cast_to<Skeleton3D>(node); + if (skeleton) { + int bind_count = skin->get_bind_count(); + + for (int i = 0; i < bind_count; i++) { + Transform3D bind_pose = skin->get_bind_pose(i); + String bind_name = skin->get_bind_name(i); + + int bone_idx = bind_name.is_empty() ? skin->get_bind_bone(i) : skeleton->find_bone(bind_name); + ERR_FAIL_COND_V(bone_idx >= skeleton->get_bone_count(), Array()); + + Transform3D bp_global_rest; + if (bone_idx >= 0) { + bp_global_rest = skeleton->get_bone_global_pose(bone_idx); + } else { + bp_global_rest = skeleton->get_bone_global_pose(i); + } + + skin_pose_transform_array.push_back(bp_global_rest * bind_pose); + } + } + } + + return skin_pose_transform_array; +} + void ResourceImporterScene::_generate_meshes(Node *p_node, const Dictionary &p_mesh_data, bool p_generate_lods, bool p_create_shadow_meshes, LightBakeMode p_light_bake_mode, float p_lightmap_texel_size, const Vector<uint8_t> &p_src_lightmap_cache, Vector<Vector<uint8_t>> &r_lightmap_caches) { ImporterMeshInstance3D *src_mesh_node = Object::cast_to<ImporterMeshInstance3D>(p_node); if (src_mesh_node) { @@ -1827,7 +2040,8 @@ void ResourceImporterScene::_generate_meshes(Node *p_node, const Dictionary &p_m } if (generate_lods) { - src_mesh_node->get_mesh()->generate_lods(merge_angle, split_angle); + Array skin_pose_transform_array = _get_skinned_pose_transforms(src_mesh_node); + src_mesh_node->get_mesh()->generate_lods(merge_angle, split_angle, skin_pose_transform_array); } if (create_shadow_meshes) { @@ -2144,6 +2358,21 @@ Error ResourceImporterScene::import(const String &p_source_file, const String &p return err; } + bool apply_root = true; + if (p_options.has("nodes/apply_root_scale")) { + apply_root = p_options["nodes/apply_root_scale"]; + } + real_t root_scale = 1; + if (p_options.has("nodes/root_scale")) { + root_scale = p_options["nodes/root_scale"]; + } + if (Object::cast_to<Node3D>(scene)) { + Object::cast_to<Node3D>(scene)->scale(Vector3(root_scale, root_scale, root_scale)); + } + if (apply_root) { + _apply_permanent_rotation_scale_to_node(scene); + Object::cast_to<Node3D>(scene)->scale(Vector3(root_scale, root_scale, root_scale).inverse()); + } Dictionary subresources = p_options["_subresources"]; Dictionary node_data; @@ -2199,12 +2428,6 @@ Error ResourceImporterScene::import(const String &p_source_file, const String &p scene->set_script(Variant(root_script)); } - float root_scale = 1.0; - if (Object::cast_to<Node3D>(scene)) { - root_scale = p_options["nodes/root_scale"]; - Object::cast_to<Node3D>(scene)->scale(Vector3(root_scale, root_scale, root_scale)); - } - if (p_options["nodes/root_name"] != "Scene Root") { scene->set_name(p_options["nodes/root_name"]); } else { diff --git a/editor/import/resource_importer_scene.h b/editor/import/resource_importer_scene.h index da37893cc5..77bc06533c 100644 --- a/editor/import/resource_importer_scene.h +++ b/editor/import/resource_importer_scene.h @@ -34,6 +34,7 @@ #include "core/error/error_macros.h" #include "core/io/resource_importer.h" #include "core/variant/dictionary.h" +#include "scene/3d/importer_mesh_instance_3d.h" #include "scene/3d/node_3d.h" #include "scene/resources/animation.h" #include "scene/resources/mesh.h" @@ -208,6 +209,7 @@ class ResourceImporterScene : public ResourceImporter { SHAPE_TYPE_CAPSULE, }; + Array _get_skinned_pose_transforms(ImporterMeshInstance3D *p_src_mesh_node); void _replace_owner(Node *p_node, Node *p_scene, Node *p_new_owner); void _generate_meshes(Node *p_node, const Dictionary &p_mesh_data, bool p_generate_lods, bool p_create_shadow_meshes, LightBakeMode p_light_bake_mode, float p_lightmap_texel_size, const Vector<uint8_t> &p_src_lightmap_cache, Vector<Vector<uint8_t>> &r_lightmap_caches); void _add_shapes(Node *p_node, const Vector<Ref<Shape3D>> &p_shapes); diff --git a/editor/import/resource_importer_texture.cpp b/editor/import/resource_importer_texture.cpp index 17b94ec706..c06756ff0b 100644 --- a/editor/import/resource_importer_texture.cpp +++ b/editor/import/resource_importer_texture.cpp @@ -36,6 +36,8 @@ #include "core/version.h" #include "editor/editor_file_system.h" #include "editor/editor_node.h" +#include "editor/editor_scale.h" +#include "editor/editor_settings.h" void ResourceImporterTexture::_texture_reimport_roughness(const Ref<CompressedTexture2D> &p_tex, const String &p_normal_path, RS::TextureDetectRoughnessChannel p_channel) { ERR_FAIL_COND(p_tex.is_null()); @@ -233,6 +235,10 @@ void ResourceImporterTexture::get_import_options(const String &p_path, List<Impo if (p_path.get_extension() == "svg") { r_options->push_back(ImportOption(PropertyInfo(Variant::FLOAT, "svg/scale", PROPERTY_HINT_RANGE, "0.001,100,0.001"), 1.0)); + + // Editor use only, applies to SVG. + r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "editor/scale_with_editor_scale"), false)); + r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "editor/convert_colors_with_editor_theme"), false)); } } @@ -447,6 +453,14 @@ Error ResourceImporterTexture::import(const String &p_source_file, const String scale = p_options["svg/scale"]; } + // Editor-specific options. + bool use_editor_scale = p_options.has("editor/scale_with_editor_scale") && p_options["editor/scale_with_editor_scale"]; + bool convert_editor_colors = p_options.has("editor/convert_colors_with_editor_theme") && p_options["editor/convert_colors_with_editor_theme"]; + + // Start importing images. + List<Ref<Image>> images_imported; + + // Load the normal image. Ref<Image> normal_image; Image::RoughnessChannel roughness_channel = Image::ROUGHNESS_CHANNEL_R; if (mipmaps && roughness > 1 && FileAccess::exists(normal_map)) { @@ -456,88 +470,117 @@ Error ResourceImporterTexture::import(const String &p_source_file, const String } } + // Load the main image. Ref<Image> image; image.instantiate(); Error err = ImageLoader::load_image(p_source_file, image, nullptr, loader_flags, scale); if (err != OK) { return err; } + images_imported.push_back(image); - Array formats_imported; - - if (size_limit > 0 && (image->get_width() > size_limit || image->get_height() > size_limit)) { - //limit size - if (image->get_width() >= image->get_height()) { - int new_width = size_limit; - int new_height = image->get_height() * new_width / image->get_width(); - - image->resize(new_width, new_height, Image::INTERPOLATE_CUBIC); - } else { - int new_height = size_limit; - int new_width = image->get_width() * new_height / image->get_height(); + // Load the editor-only image. + Ref<Image> editor_image; + bool import_editor_image = use_editor_scale || convert_editor_colors; + if (import_editor_image) { + float editor_scale = scale; + if (use_editor_scale) { + editor_scale = scale * EDSCALE; + } - image->resize(new_width, new_height, Image::INTERPOLATE_CUBIC); + int32_t editor_loader_flags = loader_flags; + if (convert_editor_colors) { + editor_loader_flags |= ImageFormatLoader::FLAG_CONVERT_COLORS; } - if (normal == 1) { - image->normalize(); + editor_image.instantiate(); + err = ImageLoader::load_image(p_source_file, editor_image, nullptr, editor_loader_flags, editor_scale); + if (err != OK) { + WARN_PRINT("Failed to import an image resource for editor use from '" + p_source_file + "'"); + } else { + images_imported.push_back(editor_image); } } - if (fix_alpha_border) { - image->fix_alpha_edges(); - } + for (Ref<Image> &target_image : images_imported) { + // Apply the size limit. + if (size_limit > 0 && (target_image->get_width() > size_limit || target_image->get_height() > size_limit)) { + if (target_image->get_width() >= target_image->get_height()) { + int new_width = size_limit; + int new_height = target_image->get_height() * new_width / target_image->get_width(); - if (premult_alpha) { - image->premultiply_alpha(); - } + target_image->resize(new_width, new_height, Image::INTERPOLATE_CUBIC); + } else { + int new_height = size_limit; + int new_width = target_image->get_width() * new_height / target_image->get_height(); - if (normal_map_invert_y) { - // Inverting the green channel can be used to flip a normal map's direction. - // There's no standard when it comes to normal map Y direction, so this is - // sometimes needed when using a normal map exported from another program. - // See <http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates>. - const int height = image->get_height(); - const int width = image->get_width(); + target_image->resize(new_width, new_height, Image::INTERPOLATE_CUBIC); + } - for (int i = 0; i < width; i++) { - for (int j = 0; j < height; j++) { - const Color color = image->get_pixel(i, j); - image->set_pixel(i, j, Color(color.r, 1 - color.g, color.b)); + if (normal == 1) { + target_image->normalize(); } } - } - if (hdr_clamp_exposure) { - // Clamp HDR exposure following Filament's tonemapping formula. - // This can be used to reduce fireflies in environment maps or reduce the influence - // of the sun from an HDRI panorama on environment lighting (when a DirectionalLight3D is used instead). - const int height = image->get_height(); - const int width = image->get_width(); - - // These values are chosen arbitrarily and seem to produce good results with 4,096 samples. - const float linear = 4096.0; - const float compressed = 16384.0; + // Fix alpha border. + if (fix_alpha_border) { + target_image->fix_alpha_edges(); + } - for (int i = 0; i < width; i++) { - for (int j = 0; j < height; j++) { - const Color color = image->get_pixel(i, j); - const float luma = color.get_luminance(); + // Premultiply the alpha. + if (premult_alpha) { + target_image->premultiply_alpha(); + } - Color clamped_color; - if (luma <= linear) { - clamped_color = color; - } else { - clamped_color = (color / luma) * ((linear * linear - compressed * luma) / (2 * linear - compressed - luma)); + // Invert the green channel of the image to flip the normal map it contains. + if (normal_map_invert_y) { + // Inverting the green channel can be used to flip a normal map's direction. + // There's no standard when it comes to normal map Y direction, so this is + // sometimes needed when using a normal map exported from another program. + // See <http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates>. + const int height = target_image->get_height(); + const int width = target_image->get_width(); + + for (int i = 0; i < width; i++) { + for (int j = 0; j < height; j++) { + const Color color = target_image->get_pixel(i, j); + target_image->set_pixel(i, j, Color(color.r, 1 - color.g, color.b)); } + } + } - image->set_pixel(i, j, clamped_color); + // Clamp HDR exposure. + if (hdr_clamp_exposure) { + // Clamp HDR exposure following Filament's tonemapping formula. + // This can be used to reduce fireflies in environment maps or reduce the influence + // of the sun from an HDRI panorama on environment lighting (when a DirectionalLight3D is used instead). + const int height = target_image->get_height(); + const int width = target_image->get_width(); + + // These values are chosen arbitrarily and seem to produce good results with 4,096 samples. + const float linear = 4096.0; + const float compressed = 16384.0; + + for (int i = 0; i < width; i++) { + for (int j = 0; j < height; j++) { + const Color color = target_image->get_pixel(i, j); + const float luma = color.get_luminance(); + + Color clamped_color; + if (luma <= linear) { + clamped_color = color; + } else { + clamped_color = (color / luma) * ((linear * linear - compressed * luma) / (2 * linear - compressed - luma)); + } + + target_image->set_pixel(i, j, clamped_color); + } } } } if (compress_mode == COMPRESS_BASIS_UNIVERSAL && image->get_format() >= Image::FORMAT_RF) { - //basis universal does not support float formats, fall back + // Basis universal does not support float formats, fallback. compress_mode = COMPRESS_VRAM_COMPRESSED; } @@ -547,9 +590,11 @@ Error ResourceImporterTexture::import(const String &p_source_file, const String bool force_normal = normal == 1; bool srgb_friendly_pack = pack_channels == 0; + Array formats_imported; + if (compress_mode == COMPRESS_VRAM_COMPRESSED) { - //must import in all formats, in order of priority (so platform choses the best supported one. IE, etc2 over etc). - //Android, GLES 2.x + // Must import in all formats, in order of priority (so platform choses the best supported one. IE, etc2 over etc). + // Android, GLES 2.x const bool is_hdr = (image->get_format() >= Image::FORMAT_RF && image->get_format() <= Image::FORMAT_RGBE9995); bool is_ldr = (image->get_format() >= Image::FORMAT_L8 && image->get_format() <= Image::FORMAT_RGB565); @@ -557,7 +602,7 @@ Error ResourceImporterTexture::import(const String &p_source_file, const String const bool can_s3tc = ProjectSettings::get_singleton()->get("rendering/textures/vram_compression/import_s3tc"); if (can_bptc) { - //add to the list anyway + // Add to the list anyway. formats_imported.push_back("bptc"); } @@ -566,9 +611,9 @@ Error ResourceImporterTexture::import(const String &p_source_file, const String if (is_hdr && can_compress_hdr) { if (has_alpha) { - //can compress hdr, but hdr with alpha is not compressible + // Can compress HDR, but HDR with alpha is not compressible. if (hdr_compression == 2) { - //but user selected to compress hdr anyway, so force an alpha-less format. + // But user selected to compress HDR anyway, so force an alpha-less format. if (image->get_format() == Image::FORMAT_RGBAF) { image->convert(Image::FORMAT_RGBF); } else if (image->get_format() == Image::FORMAT_RGBAH) { @@ -580,7 +625,7 @@ Error ResourceImporterTexture::import(const String &p_source_file, const String } if (!can_compress_hdr) { - //fallback to RGBE99995 + // Fallback to RGBE99995. if (image->get_format() != Image::FORMAT_RGBE9995) { image->convert(Image::FORMAT_RGBE9995); } @@ -615,16 +660,31 @@ Error ResourceImporterTexture::import(const String &p_source_file, const String EditorNode::add_io_error(vformat(TTR("%s: No suitable desktop VRAM compression algorithm enabled in Project Settings (S3TC or BPTC). This texture may not display correctly on desktop platforms."), p_source_file)); } } else { - //import normally + // Import normally. _save_ctex(image, p_save_path + ".ctex", compress_mode, lossy, Image::COMPRESS_S3TC /*this is ignored */, mipmaps, stream, detect_3d, detect_roughness, detect_normal, force_normal, srgb_friendly_pack, false, mipmap_limit, normal_image, roughness_channel); } + if (editor_image.is_valid()) { + _save_ctex(editor_image, p_save_path + ".editor.ctex", compress_mode, lossy, Image::COMPRESS_S3TC /*this is ignored */, mipmaps, stream, detect_3d, detect_roughness, detect_normal, force_normal, srgb_friendly_pack, false, mipmap_limit, normal_image, roughness_channel); + } + if (r_metadata) { Dictionary metadata; metadata["vram_texture"] = compress_mode == COMPRESS_VRAM_COMPRESSED; if (formats_imported.size()) { metadata["imported_formats"] = formats_imported; } + + if (editor_image.is_valid()) { + metadata["has_editor_variant"] = true; + if (use_editor_scale) { + metadata["editor_scale"] = EDSCALE; + } + if (convert_editor_colors) { + metadata["editor_dark_theme"] = EditorSettings::get_singleton()->is_dark_theme(); + } + } + *r_metadata = metadata; } return OK; @@ -657,13 +717,22 @@ bool ResourceImporterTexture::are_import_settings_valid(const String &p_path) co //will become invalid if formats are missing to import Dictionary metadata = ResourceFormatImporter::get_singleton()->get_resource_metadata(p_path); + if (metadata.has("has_editor_variant")) { + if (metadata.has("editor_scale") && (float)metadata["editor_scale"] != EDSCALE) { + return false; + } + if (metadata.has("editor_dark_theme") && (bool)metadata["editor_dark_theme"] != EditorSettings::get_singleton()->is_dark_theme()) { + return false; + } + } + if (!metadata.has("vram_texture")) { return false; } bool vram = metadata["vram_texture"]; if (!vram) { - return true; //do not care about non vram + return true; // Do not care about non-VRAM. } Vector<String> formats_imported; diff --git a/editor/import/scene_import_settings.h b/editor/import/scene_import_settings.h index 104a7a9f7e..0e12a83116 100644 --- a/editor/import/scene_import_settings.h +++ b/editor/import/scene_import_settings.h @@ -192,7 +192,7 @@ class SceneImportSettings : public ConfirmationDialog { bool editing_animation = false; - Timer *update_view_timer; + Timer *update_view_timer = nullptr; protected: void _notification(int p_what); diff --git a/editor/inspector_dock.cpp b/editor/inspector_dock.cpp index 7af04e17c1..74fdbdebd7 100644 --- a/editor/inspector_dock.cpp +++ b/editor/inspector_dock.cpp @@ -311,7 +311,6 @@ void InspectorDock::_prepare_history() { history_menu->get_popup()->clear(); - Ref<Texture2D> base_icon = get_theme_icon(SNAME("Object"), SNAME("EditorIcons")); HashSet<ObjectID> already; for (int i = editor_history->get_history_len() - 1; i >= history_to; i--) { ObjectID id = editor_history->get_history_obj(i); @@ -325,13 +324,12 @@ void InspectorDock::_prepare_history() { already.insert(id); - Ref<Texture2D> icon = EditorNode::get_singleton()->get_object_icon(obj, ""); - if (icon.is_null()) { - icon = base_icon; - } + Ref<Texture2D> icon = EditorNode::get_singleton()->get_object_icon(obj, "Object"); String text; - if (Object::cast_to<Resource>(obj)) { + if (obj->has_method("_get_editor_name")) { + text = obj->call("_get_editor_name"); + } else if (Object::cast_to<Resource>(obj)) { Resource *r = Object::cast_to<Resource>(obj); if (r->get_path().is_resource_file()) { text = r->get_path().get_file(); @@ -349,14 +347,14 @@ void InspectorDock::_prepare_history() { } if (i == editor_history->get_history_pos() && current) { - text = "[" + text + "]"; + text += " " + TTR("(Current)"); } history_menu->get_popup()->add_icon_item(icon, text, i); } } void InspectorDock::_select_history(int p_idx) { - //push it to the top, it is not correct, but it's more useful + // Push it to the top, it is not correct, but it's more useful. ObjectID id = EditorNode::get_singleton()->get_editor_selection_history()->get_history_obj(p_idx); Object *obj = ObjectDB::get_instance(id); if (!obj) { diff --git a/editor/multi_node_edit.cpp b/editor/multi_node_edit.cpp index 70cc54668d..a386fba84d 100644 --- a/editor/multi_node_edit.cpp +++ b/editor/multi_node_edit.cpp @@ -46,7 +46,7 @@ bool MultiNodeEdit::_set_impl(const StringName &p_name, const Variant &p_value, String name = p_name; - if (name == "scripts") { // script set is intercepted at object level (check Variant Object::get() ) ,so use a different name + if (name == "scripts") { // Script set is intercepted at object level (check Variant Object::get()), so use a different name. name = "script"; } @@ -57,13 +57,9 @@ bool MultiNodeEdit::_set_impl(const StringName &p_name, const Variant &p_value, Ref<EditorUndoRedoManager> &ur = EditorNode::get_undo_redo(); - ur->create_action(TTR("MultiNode Set") + " " + String(name), UndoRedo::MERGE_ENDS); + ur->create_action(vformat(TTR("Set %s on %d nodes"), name, get_node_count()), UndoRedo::MERGE_ENDS); for (const NodePath &E : nodes) { - if (!es->has_node(E)) { - continue; - } - - Node *n = es->get_node(E); + Node *n = es->get_node_or_null(E); if (!n) { continue; } @@ -100,16 +96,12 @@ bool MultiNodeEdit::_get(const StringName &p_name, Variant &r_ret) const { } String name = p_name; - if (name == "scripts") { // script set is intercepted at object level (check Variant Object::get() ) ,so use a different name + if (name == "scripts") { // Script set is intercepted at object level (check Variant Object::get()), so use a different name. name = "script"; } for (const NodePath &E : nodes) { - if (!es->has_node(E)) { - continue; - } - - const Node *n = es->get_node(E); + const Node *n = es->get_node_or_null(E); if (!n) { continue; } @@ -137,11 +129,7 @@ void MultiNodeEdit::_get_property_list(List<PropertyInfo> *p_list) const { List<PLData *> data_list; for (const NodePath &E : nodes) { - if (!es->has_node(E)) { - continue; - } - - Node *n = es->get_node(E); + Node *n = es->get_node_or_null(E); if (!n) { continue; } @@ -151,7 +139,7 @@ void MultiNodeEdit::_get_property_list(List<PropertyInfo> *p_list) const { for (const PropertyInfo &F : plist) { if (F.name == "script") { - continue; //added later manually, since this is intercepted before being set (check Variant Object::get() ) + continue; // Added later manually, since this is intercepted before being set (check Variant Object::get()). } if (!usage.has(F.name)) { PLData pld; @@ -161,7 +149,7 @@ void MultiNodeEdit::_get_property_list(List<PropertyInfo> *p_list) const { data_list.push_back(usage.getptr(F.name)); } - // Make sure only properties with the same exact PropertyInfo data will appear + // Make sure only properties with the same exact PropertyInfo data will appear. if (usage[F.name].info == F) { usage[F.name].uses++; } @@ -179,6 +167,66 @@ void MultiNodeEdit::_get_property_list(List<PropertyInfo> *p_list) const { p_list->push_back(PropertyInfo(Variant::OBJECT, "scripts", PROPERTY_HINT_RESOURCE_TYPE, "Script")); } +String MultiNodeEdit::_get_editor_name() const { + return vformat(TTR("%s (%d Selected)"), get_edited_class_name(), get_node_count()); +} + +bool MultiNodeEdit::_property_can_revert(const StringName &p_name) const { + Node *es = EditorNode::get_singleton()->get_edited_scene(); + if (!es) { + return false; + } + + if (ClassDB::has_property(get_edited_class_name(), p_name)) { + StringName class_name; + for (const NodePath &E : nodes) { + Node *node = es->get_node_or_null(E); + if (!node) { + continue; + } + + class_name = node->get_class_name(); + } + + Variant default_value = ClassDB::class_get_default_property_value(class_name, p_name); + for (const NodePath &E : nodes) { + Node *node = es->get_node_or_null(E); + if (!node) { + continue; + } + + if (node->get(p_name) != default_value) { + // A node that doesn't have the default value has been found, so show the revert button. + return true; + } + } + + return false; + } + + // Don't show the revert button if the edited class doesn't have the property. + return false; +} + +bool MultiNodeEdit::_property_get_revert(const StringName &p_name, Variant &r_property) const { + Node *es = EditorNode::get_singleton()->get_edited_scene(); + if (!es) { + return false; + } + + for (const NodePath &E : nodes) { + Node *node = es->get_node_or_null(E); + if (!node) { + continue; + } + + r_property = ClassDB::class_get_default_property_value(node->get_class_name(), p_name); + return true; + } + + return false; +} + void MultiNodeEdit::add_node(const NodePath &p_node) { nodes.push_back(p_node); } @@ -192,9 +240,69 @@ NodePath MultiNodeEdit::get_node(int p_index) const { return nodes[p_index]; } +StringName MultiNodeEdit::get_edited_class_name() const { + Node *es = EditorNode::get_singleton()->get_edited_scene(); + if (!es) { + return SNAME("Node"); + } + + // Get the class name of the first node. + StringName class_name; + for (const NodePath &E : nodes) { + Node *node = es->get_node_or_null(E); + if (!node) { + continue; + } + + class_name = node->get_class_name(); + break; + } + + if (class_name == StringName()) { + return SNAME("Node"); + } + + bool check_again = true; + while (check_again) { + check_again = false; + + if (class_name == SNAME("Node") || class_name == StringName()) { + // All nodes inherit from Node, so no need to continue checking. + return SNAME("Node"); + } + + // Check that all nodes inherit from class_name. + for (const NodePath &E : nodes) { + Node *node = es->get_node_or_null(E); + if (!node) { + continue; + } + + const StringName node_class_name = node->get_class_name(); + if (class_name == node_class_name || ClassDB::is_parent_class(node_class_name, class_name)) { + // class_name is the same or a parent of the node's class. + continue; + } + + // class_name is not a parent of the node's class, so check again with the parent class. + class_name = ClassDB::get_parent_class(class_name); + check_again = true; + break; + } + } + + return class_name; +} + void MultiNodeEdit::set_property_field(const StringName &p_property, const Variant &p_value, const String &p_field) { _set_impl(p_property, p_value, p_field); } +void MultiNodeEdit::_bind_methods() { + ClassDB::bind_method("_hide_script_from_inspector", &MultiNodeEdit::_hide_script_from_inspector); + ClassDB::bind_method("_hide_metadata_from_inspector", &MultiNodeEdit::_hide_metadata_from_inspector); + ClassDB::bind_method("_get_editor_name", &MultiNodeEdit::_get_editor_name); +} + MultiNodeEdit::MultiNodeEdit() { } diff --git a/editor/multi_node_edit.h b/editor/multi_node_edit.h index 31678d7b01..9c0ec85e20 100644 --- a/editor/multi_node_edit.h +++ b/editor/multi_node_edit.h @@ -45,15 +45,25 @@ class MultiNodeEdit : public RefCounted { bool _set_impl(const StringName &p_name, const Variant &p_value, const String &p_field); protected: + static void _bind_methods(); + bool _set(const StringName &p_name, const Variant &p_value); bool _get(const StringName &p_name, Variant &r_ret) const; void _get_property_list(List<PropertyInfo> *p_list) const; public: + bool _hide_script_from_inspector() { return true; } + bool _hide_metadata_from_inspector() { return true; } + + bool _property_can_revert(const StringName &p_name) const; + bool _property_get_revert(const StringName &p_name, Variant &r_property) const; + String _get_editor_name() const; + void add_node(const NodePath &p_node); int get_node_count() const; NodePath get_node(int p_index) const; + StringName get_edited_class_name() const; void set_property_field(const StringName &p_property, const Variant &p_value, const String &p_field); diff --git a/editor/plugins/animation_blend_space_1d_editor.cpp b/editor/plugins/animation_blend_space_1d_editor.cpp index b79f4c90bf..0e941ad433 100644 --- a/editor/plugins/animation_blend_space_1d_editor.cpp +++ b/editor/plugins/animation_blend_space_1d_editor.cpp @@ -552,9 +552,9 @@ void AnimationNodeBlendSpace1DEditor::_notification(int p_what) { switch (p_what) { case NOTIFICATION_ENTER_TREE: case NOTIFICATION_THEME_CHANGED: { - error_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); + error_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); error_label->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); - panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); + panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); tool_blend->set_icon(get_theme_icon(SNAME("EditPivot"), SNAME("EditorIcons"))); tool_select->set_icon(get_theme_icon(SNAME("ToolSelect"), SNAME("EditorIcons"))); tool_create->set_icon(get_theme_icon(SNAME("EditKey"), SNAME("EditorIcons"))); diff --git a/editor/plugins/animation_blend_space_2d_editor.cpp b/editor/plugins/animation_blend_space_2d_editor.cpp index 1646a1cef4..f75dcdf2d6 100644 --- a/editor/plugins/animation_blend_space_2d_editor.cpp +++ b/editor/plugins/animation_blend_space_2d_editor.cpp @@ -774,9 +774,9 @@ void AnimationNodeBlendSpace2DEditor::_notification(int p_what) { switch (p_what) { case NOTIFICATION_ENTER_TREE: case NOTIFICATION_THEME_CHANGED: { - error_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); + error_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); error_label->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); - panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); + panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); tool_blend->set_icon(get_theme_icon(SNAME("EditPivot"), SNAME("EditorIcons"))); tool_select->set_icon(get_theme_icon(SNAME("ToolSelect"), SNAME("EditorIcons"))); tool_create->set_icon(get_theme_icon(SNAME("EditKey"), SNAME("EditorIcons"))); diff --git a/editor/plugins/animation_blend_tree_editor_plugin.cpp b/editor/plugins/animation_blend_tree_editor_plugin.cpp index 8dd3223b19..ca7b2d0015 100644 --- a/editor/plugins/animation_blend_tree_editor_plugin.cpp +++ b/editor/plugins/animation_blend_tree_editor_plugin.cpp @@ -101,13 +101,13 @@ void AnimationNodeBlendTreeEditor::_property_changed(const StringName &p_propert undo_redo->create_action(TTR("Parameter Changed:") + " " + String(p_property), UndoRedo::MERGE_ENDS); undo_redo->add_do_property(tree, p_property, p_value); undo_redo->add_undo_property(tree, p_property, tree->get(p_property)); - undo_redo->add_do_method(this, "_update_graph"); - undo_redo->add_undo_method(this, "_update_graph"); + undo_redo->add_do_method(this, "update_graph"); + undo_redo->add_undo_method(this, "update_graph"); undo_redo->commit_action(); updating = false; } -void AnimationNodeBlendTreeEditor::_update_graph() { +void AnimationNodeBlendTreeEditor::update_graph() { if (updating || blend_tree.is_null()) { return; } @@ -242,7 +242,7 @@ void AnimationNodeBlendTreeEditor::_update_graph() { } } - pb->set_percent_visible(false); + pb->set_show_percentage(false); pb->set_custom_minimum_size(Vector2(0, 14) * EDSCALE); animations[E] = pb; node->add_child(pb); @@ -364,8 +364,8 @@ void AnimationNodeBlendTreeEditor::_add_node(int p_idx) { to_slot = -1; } - undo_redo->add_do_method(this, "_update_graph"); - undo_redo->add_undo_method(this, "_update_graph"); + undo_redo->add_do_method(this, "update_graph"); + undo_redo->add_undo_method(this, "update_graph"); undo_redo->commit_action(); } @@ -416,8 +416,8 @@ void AnimationNodeBlendTreeEditor::_node_dragged(const Vector2 &p_from, const Ve undo_redo->create_action(TTR("Node Moved")); undo_redo->add_do_method(blend_tree.ptr(), "set_node_position", p_which, p_to / EDSCALE); undo_redo->add_undo_method(blend_tree.ptr(), "set_node_position", p_which, p_from / EDSCALE); - undo_redo->add_do_method(this, "_update_graph"); - undo_redo->add_undo_method(this, "_update_graph"); + undo_redo->add_do_method(this, "update_graph"); + undo_redo->add_undo_method(this, "update_graph"); undo_redo->commit_action(); updating = false; } @@ -437,8 +437,8 @@ void AnimationNodeBlendTreeEditor::_connection_request(const String &p_from, int undo_redo->create_action(TTR("Nodes Connected")); undo_redo->add_do_method(blend_tree.ptr(), "connect_node", p_to, p_to_index, p_from); undo_redo->add_undo_method(blend_tree.ptr(), "disconnect_node", p_to, p_to_index); - undo_redo->add_do_method(this, "_update_graph"); - undo_redo->add_undo_method(this, "_update_graph"); + undo_redo->add_do_method(this, "update_graph"); + undo_redo->add_undo_method(this, "update_graph"); undo_redo->commit_action(); } @@ -453,8 +453,8 @@ void AnimationNodeBlendTreeEditor::_disconnection_request(const String &p_from, undo_redo->create_action(TTR("Nodes Disconnected")); undo_redo->add_do_method(blend_tree.ptr(), "disconnect_node", p_to, p_to_index); undo_redo->add_undo_method(blend_tree.ptr(), "connect_node", p_to, p_to_index, p_from); - undo_redo->add_do_method(this, "_update_graph"); - undo_redo->add_undo_method(this, "_update_graph"); + undo_redo->add_do_method(this, "update_graph"); + undo_redo->add_undo_method(this, "update_graph"); undo_redo->commit_action(); updating = false; } @@ -468,8 +468,8 @@ void AnimationNodeBlendTreeEditor::_anim_selected(int p_index, Array p_options, undo_redo->create_action(TTR("Set Animation")); undo_redo->add_do_method(anim.ptr(), "set_animation", option); undo_redo->add_undo_method(anim.ptr(), "set_animation", anim->get_animation()); - undo_redo->add_do_method(this, "_update_graph"); - undo_redo->add_undo_method(this, "_update_graph"); + undo_redo->add_do_method(this, "update_graph"); + undo_redo->add_undo_method(this, "update_graph"); undo_redo->commit_action(); } @@ -491,8 +491,8 @@ void AnimationNodeBlendTreeEditor::_delete_request(const String &p_which) { } } - undo_redo->add_do_method(this, "_update_graph"); - undo_redo->add_undo_method(this, "_update_graph"); + undo_redo->add_do_method(this, "update_graph"); + undo_redo->add_undo_method(this, "update_graph"); undo_redo->commit_action(); } @@ -800,7 +800,7 @@ void AnimationNodeBlendTreeEditor::_update_editor_settings() { } void AnimationNodeBlendTreeEditor::_update_theme() { - error_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); + error_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); error_label->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); } @@ -819,7 +819,7 @@ void AnimationNodeBlendTreeEditor::_notification(int p_what) { _update_theme(); if (is_visible_in_tree()) { - _update_graph(); + update_graph(); } } break; @@ -900,13 +900,28 @@ void AnimationNodeBlendTreeEditor::_scroll_changed(const Vector2 &p_scroll) { } void AnimationNodeBlendTreeEditor::_bind_methods() { - ClassDB::bind_method("_update_graph", &AnimationNodeBlendTreeEditor::_update_graph); + ClassDB::bind_method("update_graph", &AnimationNodeBlendTreeEditor::update_graph); ClassDB::bind_method("_update_filters", &AnimationNodeBlendTreeEditor::_update_filters); } AnimationNodeBlendTreeEditor *AnimationNodeBlendTreeEditor::singleton = nullptr; +// AnimationNode's "node_changed" signal means almost update_input. +void AnimationNodeBlendTreeEditor::_node_changed(const StringName &p_node_name) { + // TODO: + // Here is executed during the commit of EditorNode::undo_redo, it is not possible to create an undo_redo action here. + // The disconnect when the number of enabled inputs decreases is done in AnimationNodeBlendTree and update_graph(). + // This means that there is no place to register undo_redo actions. + // In order to implement undo_redo correctly, we may need to implement AnimationNodeEdit such as AnimationTrackKeyEdit + // and add it to _node_selected() with EditorNode::get_singleton()->push_item(AnimationNodeEdit). + update_graph(); +} + void AnimationNodeBlendTreeEditor::_node_renamed(const String &p_text, Ref<AnimationNode> p_node) { + if (blend_tree.is_null()) { + return; + } + String prev_name = blend_tree->get_node_name(p_node); ERR_FAIL_COND(prev_name.is_empty()); GraphNode *gn = Object::cast_to<GraphNode>(graph->get_node(prev_name)); @@ -936,8 +951,8 @@ void AnimationNodeBlendTreeEditor::_node_renamed(const String &p_text, Ref<Anima undo_redo->add_undo_method(blend_tree.ptr(), "rename_node", name, prev_name); undo_redo->add_do_method(AnimationTreeEditor::get_singleton()->get_tree(), "rename_parameter", base_path + prev_name, base_path + name); undo_redo->add_undo_method(AnimationTreeEditor::get_singleton()->get_tree(), "rename_parameter", base_path + name, base_path + prev_name); - undo_redo->add_do_method(this, "_update_graph"); - undo_redo->add_undo_method(this, "_update_graph"); + undo_redo->add_do_method(this, "update_graph"); + undo_redo->add_undo_method(this, "update_graph"); undo_redo->commit_action(); updating = false; gn->set_name(new_name); @@ -975,7 +990,7 @@ void AnimationNodeBlendTreeEditor::_node_renamed(const String &p_text, Ref<Anima } } - _update_graph(); // Needed to update the signal connections with the new name. + update_graph(); // Needed to update the signal connections with the new name. } void AnimationNodeBlendTreeEditor::_node_renamed_focus_out(Node *le, Ref<AnimationNode> p_node) { @@ -992,6 +1007,7 @@ bool AnimationNodeBlendTreeEditor::can_edit(const Ref<AnimationNode> &p_node) { void AnimationNodeBlendTreeEditor::edit(const Ref<AnimationNode> &p_node) { if (blend_tree.is_valid()) { + blend_tree->disconnect("node_changed", callable_mp(this, &AnimationNodeBlendTreeEditor::_node_changed)); blend_tree->disconnect("removed_from_graph", callable_mp(this, &AnimationNodeBlendTreeEditor::_removed_from_graph)); } @@ -1004,9 +1020,10 @@ void AnimationNodeBlendTreeEditor::edit(const Ref<AnimationNode> &p_node) { } else { read_only = EditorNode::get_singleton()->is_resource_read_only(blend_tree); + blend_tree->connect("node_changed", callable_mp(this, &AnimationNodeBlendTreeEditor::_node_changed)); blend_tree->connect("removed_from_graph", callable_mp(this, &AnimationNodeBlendTreeEditor::_removed_from_graph)); - _update_graph(); + update_graph(); } add_node->set_disabled(read_only); diff --git a/editor/plugins/animation_blend_tree_editor_plugin.h b/editor/plugins/animation_blend_tree_editor_plugin.h index 30a54930a2..46e0d18c69 100644 --- a/editor/plugins/animation_blend_tree_editor_plugin.h +++ b/editor/plugins/animation_blend_tree_editor_plugin.h @@ -71,8 +71,6 @@ class AnimationNodeBlendTreeEditor : public AnimationTreeNodeEditorPlugin { int to_slot = -1; String from_node = ""; - void _update_graph(); - struct AddOption { String name; String type; @@ -95,6 +93,7 @@ class AnimationNodeBlendTreeEditor : public AnimationTreeNodeEditorPlugin { void _node_dragged(const Vector2 &p_from, const Vector2 &p_to, const StringName &p_which); void _node_renamed(const String &p_text, Ref<AnimationNode> p_node); void _node_renamed_focus_out(Node *le, Ref<AnimationNode> p_node); + void _node_changed(const StringName &p_node_name); bool updating; @@ -150,6 +149,8 @@ public: virtual bool can_edit(const Ref<AnimationNode> &p_node) override; virtual void edit(const Ref<AnimationNode> &p_node) override; + void update_graph(); + AnimationNodeBlendTreeEditor(); }; diff --git a/editor/plugins/animation_library_editor.cpp b/editor/plugins/animation_library_editor.cpp index 50ba1a71c0..2d20c0cca7 100644 --- a/editor/plugins/animation_library_editor.cpp +++ b/editor/plugins/animation_library_editor.cpp @@ -198,11 +198,17 @@ void AnimationLibraryEditor::_file_popup_selected(int p_id) { } break; case FILE_MENU_MAKE_LIBRARY_UNIQUE: { StringName lib_name = file_dialog_library; - - Ref<AnimationLibrary> ald = al->duplicate(); - - // TODO: should probably make all foreign animations assigned to this library - // unique too. + List<StringName> animation_list; + + Ref<AnimationLibrary> ald = memnew(AnimationLibrary); + al->get_animation_list(&animation_list); + for (const StringName &animation_name : animation_list) { + Ref<Animation> animation = al->get_animation(animation_name); + if (EditorNode::get_singleton()->is_resource_read_only(animation)) { + animation = animation->duplicate(); + } + ald->add_animation(animation_name, animation); + } Ref<EditorUndoRedoManager> undo_redo = EditorNode::get_singleton()->get_undo_redo(); undo_redo->create_action(vformat(TTR("Make Animation Library Unique: %s"), lib_name)); diff --git a/editor/plugins/animation_player_editor_plugin.cpp b/editor/plugins/animation_player_editor_plugin.cpp index 5ac63ce4db..5406aada09 100644 --- a/editor/plugins/animation_player_editor_plugin.cpp +++ b/editor/plugins/animation_player_editor_plugin.cpp @@ -283,26 +283,7 @@ void AnimationPlayerEditor::_animation_selected(int p_which) { Ref<Animation> anim = player->get_animation(current); { - bool animation_library_is_foreign = false; - if (!anim->get_path().is_resource_file()) { - int srpos = anim->get_path().find("::"); - if (srpos != -1) { - String base = anim->get_path().substr(0, srpos); - if (ResourceLoader::get_resource_type(base) == "PackedScene") { - if (!get_tree()->get_edited_scene_root() || get_tree()->get_edited_scene_root()->get_scene_file_path() != base) { - animation_library_is_foreign = true; - } - } else { - if (FileAccess::exists(base + ".import")) { - animation_library_is_foreign = true; - } - } - } - } else { - if (FileAccess::exists(anim->get_path() + ".import")) { - animation_library_is_foreign = true; - } - } + bool animation_library_is_foreign = EditorNode::get_singleton()->is_resource_read_only(anim); track_editor->set_animation(anim, animation_library_is_foreign); Node *root = player->get_node(player->get_root()); @@ -773,26 +754,7 @@ void AnimationPlayerEditor::_animation_edit() { if (current != String()) { Ref<Animation> anim = player->get_animation(current); - bool animation_library_is_foreign = false; - if (!anim->get_path().is_resource_file()) { - int srpos = anim->get_path().find("::"); - if (srpos != -1) { - String base = anim->get_path().substr(0, srpos); - if (ResourceLoader::get_resource_type(base) == "PackedScene") { - if (!get_tree()->get_edited_scene_root() || get_tree()->get_edited_scene_root()->get_scene_file_path() != base) { - animation_library_is_foreign = true; - } - } else { - if (FileAccess::exists(base + ".import")) { - animation_library_is_foreign = true; - } - } - } - } else { - if (FileAccess::exists(anim->get_path() + ".import")) { - animation_library_is_foreign = true; - } - } + bool animation_library_is_foreign = EditorNode::get_singleton()->is_resource_read_only(anim); track_editor->set_animation(anim, animation_library_is_foreign); @@ -866,25 +828,7 @@ void AnimationPlayerEditor::_update_player() { // Check if the global library is foreign since we want to disable options for adding/remove/renaming animations if it is. Ref<AnimationLibrary> library = player->get_animation_library(K); if (K == "") { - if (!library->get_path().is_resource_file()) { - int srpos = library->get_path().find("::"); - if (srpos != -1) { - String base = library->get_path().substr(0, srpos); - if (ResourceLoader::get_resource_type(base) == "PackedScene") { - if (!get_tree()->get_edited_scene_root() || get_tree()->get_edited_scene_root()->get_scene_file_path() != base) { - foreign_global_anim_lib = true; - } - } else { - if (FileAccess::exists(base + ".import")) { - foreign_global_anim_lib = true; - } - } - } - } else { - if (FileAccess::exists(library->get_path() + ".import")) { - foreign_global_anim_lib = true; - } - } + foreign_global_anim_lib = EditorNode::get_singleton()->is_resource_read_only(library); } List<StringName> animlist; @@ -950,26 +894,7 @@ void AnimationPlayerEditor::_update_player() { String current = animation->get_item_text(animation->get_selected()); Ref<Animation> anim = player->get_animation(current); - bool animation_library_is_foreign = false; - if (!anim->get_path().is_resource_file()) { - int srpos = anim->get_path().find("::"); - if (srpos != -1) { - String base = anim->get_path().substr(0, srpos); - if (ResourceLoader::get_resource_type(base) == "PackedScene") { - if (!get_tree()->get_edited_scene_root() || get_tree()->get_edited_scene_root()->get_scene_file_path() != base) { - animation_library_is_foreign = true; - } - } else { - if (FileAccess::exists(base + ".import")) { - animation_library_is_foreign = true; - } - } - } - } else { - if (FileAccess::exists(anim->get_path() + ".import")) { - animation_library_is_foreign = true; - } - } + bool animation_library_is_foreign = EditorNode::get_singleton()->is_resource_read_only(anim); track_editor->set_animation(anim, animation_library_is_foreign); Node *root = player->get_node(player->get_root()); diff --git a/editor/plugins/animation_state_machine_editor.cpp b/editor/plugins/animation_state_machine_editor.cpp index 2809eb01cd..461326a47b 100644 --- a/editor/plugins/animation_state_machine_editor.cpp +++ b/editor/plugins/animation_state_machine_editor.cpp @@ -267,6 +267,7 @@ void AnimationNodeStateMachineEditor::_state_machine_gui_input(const Ref<InputEv for (int i = node_rects.size() - 1; i >= 0; i--) { //inverse to draw order if (node_rects[i].node.has_point(mb->get_position())) { //select node since nothing else was selected connecting = true; + connection_follows_cursor = true; connecting_from = node_rects[i].node_name; connecting_to = mb->get_position(); connecting_to_node = StringName(); @@ -296,6 +297,7 @@ void AnimationNodeStateMachineEditor::_state_machine_gui_input(const Ref<InputEv _open_menu(mb->get_position()); } connecting_to_node = StringName(); + connection_follows_cursor = false; state_machine_draw->queue_redraw(); } @@ -332,7 +334,7 @@ void AnimationNodeStateMachineEditor::_state_machine_gui_input(const Ref<InputEv } // Move mouse while connecting - if (mm.is_valid() && connecting && !read_only) { + if (mm.is_valid() && connecting && connection_follows_cursor && !read_only) { connecting_to = mm->get_position(); connecting_to_node = StringName(); state_machine_draw->queue_redraw(); @@ -1023,11 +1025,9 @@ void AnimationNodeStateMachineEditor::_add_menu_type(int p_index) { } updating = true; - undo_redo->create_action(TTR("Add Node")); + undo_redo->create_action(TTR("Add Node and Transition")); undo_redo->add_do_method(state_machine.ptr(), "add_node", name, node, add_node_pos); undo_redo->add_undo_method(state_machine.ptr(), "remove_node", name); - undo_redo->add_do_method(this, "_update_graph"); - undo_redo->add_undo_method(this, "_update_graph"); connecting_to_node = name; _add_transition(true); undo_redo->commit_action(); @@ -1051,11 +1051,9 @@ void AnimationNodeStateMachineEditor::_add_animation_type(int p_index) { } updating = true; - undo_redo->create_action(TTR("Add Node")); + undo_redo->create_action(TTR("Add Node and Transition")); undo_redo->add_do_method(state_machine.ptr(), "add_node", name, anim, add_node_pos); undo_redo->add_undo_method(state_machine.ptr(), "remove_node", name); - undo_redo->add_do_method(this, "_update_graph"); - undo_redo->add_undo_method(this, "_update_graph"); connecting_to_node = name; _add_transition(true); undo_redo->commit_action(); @@ -1083,16 +1081,16 @@ void AnimationNodeStateMachineEditor::_add_transition(const bool p_nested_action if (!p_nested_action) { updating = true; + undo_redo->create_action(TTR("Add Transition")); } - undo_redo->create_action(TTR("Add Transition")); undo_redo->add_do_method(state_machine.ptr(), "add_transition", connecting_from, connecting_to_node, tr); undo_redo->add_undo_method(state_machine.ptr(), "remove_transition", connecting_from, connecting_to_node); undo_redo->add_do_method(this, "_update_graph"); undo_redo->add_undo_method(this, "_update_graph"); - undo_redo->commit_action(); if (!p_nested_action) { + undo_redo->commit_action(); updating = false; } @@ -1553,9 +1551,9 @@ void AnimationNodeStateMachineEditor::_notification(int p_what) { case NOTIFICATION_THEME_CHANGED: case NOTIFICATION_LAYOUT_DIRECTION_CHANGED: case NOTIFICATION_TRANSLATION_CHANGED: { - error_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); + error_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); error_label->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); - panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); + panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); tool_select->set_icon(get_theme_icon(SNAME("ToolSelect"), SNAME("EditorIcons"))); tool_create->set_icon(get_theme_icon(SNAME("ToolAddNode"), SNAME("EditorIcons"))); diff --git a/editor/plugins/animation_state_machine_editor.h b/editor/plugins/animation_state_machine_editor.h index 3a59e94a5f..d0828a5f52 100644 --- a/editor/plugins/animation_state_machine_editor.h +++ b/editor/plugins/animation_state_machine_editor.h @@ -100,8 +100,8 @@ class AnimationNodeStateMachineEditor : public AnimationTreeNodeEditorPlugin { Vector2 add_node_pos; - ConfirmationDialog *delete_window; - Tree *delete_tree; + ConfirmationDialog *delete_window = nullptr; + Tree *delete_tree = nullptr; bool box_selecting = false; Point2 box_selecting_from; @@ -117,6 +117,7 @@ class AnimationNodeStateMachineEditor : public AnimationTreeNodeEditorPlugin { StringName snap_y; bool connecting = false; + bool connection_follows_cursor = false; StringName connecting_from; Vector2 connecting_to; StringName connecting_to_node; diff --git a/editor/plugins/animation_tree_editor_plugin.cpp b/editor/plugins/animation_tree_editor_plugin.cpp index ed231c446b..1de4fbaabc 100644 --- a/editor/plugins/animation_tree_editor_plugin.cpp +++ b/editor/plugins/animation_tree_editor_plugin.cpp @@ -50,10 +50,18 @@ #include "scene/scene_string_names.h" void AnimationTreeEditor::edit(AnimationTree *p_tree) { + if (p_tree && !p_tree->is_connected("animation_player_changed", callable_mp(this, &AnimationTreeEditor::_animation_list_changed))) { + p_tree->connect("animation_player_changed", callable_mp(this, &AnimationTreeEditor::_animation_list_changed), CONNECT_DEFERRED); + } + if (tree == p_tree) { return; } + if (tree && tree->is_connected("animation_player_changed", callable_mp(this, &AnimationTreeEditor::_animation_list_changed))) { + tree->disconnect("animation_player_changed", callable_mp(this, &AnimationTreeEditor::_animation_list_changed)); + } + tree = p_tree; Vector<String> path; @@ -73,6 +81,13 @@ void AnimationTreeEditor::_path_button_pressed(int p_path) { } } +void AnimationTreeEditor::_animation_list_changed() { + AnimationNodeBlendTreeEditor *bte = AnimationNodeBlendTreeEditor::get_singleton(); + if (bte) { + bte->update_graph(); + } +} + void AnimationTreeEditor::_update_path() { while (path_hb->get_child_count() > 1) { memdelete(path_hb->get_child(1)); diff --git a/editor/plugins/animation_tree_editor_plugin.h b/editor/plugins/animation_tree_editor_plugin.h index a33d97f62f..9ef9fff8cd 100644 --- a/editor/plugins/animation_tree_editor_plugin.h +++ b/editor/plugins/animation_tree_editor_plugin.h @@ -65,6 +65,7 @@ class AnimationTreeEditor : public VBoxContainer { ObjectID current_root; void _path_button_pressed(int p_path); + void _animation_list_changed(); static Vector<String> get_animation_list(); diff --git a/editor/plugins/asset_library_editor_plugin.cpp b/editor/plugins/asset_library_editor_plugin.cpp index 41383edafe..3c9486cdaa 100644 --- a/editor/plugins/asset_library_editor_plugin.cpp +++ b/editor/plugins/asset_library_editor_plugin.cpp @@ -32,7 +32,7 @@ #include "core/input/input.h" #include "core/io/json.h" -#include "core/io/stream_peer_ssl.h" +#include "core/io/stream_peer_tls.h" #include "core/os/keyboard.h" #include "core/version.h" #include "editor/editor_file_dialog.h" @@ -101,10 +101,7 @@ void EditorAssetLibraryItem::_bind_methods() { EditorAssetLibraryItem::EditorAssetLibraryItem() { Ref<StyleBoxEmpty> border; border.instantiate(); - border->set_default_margin(SIDE_LEFT, 5 * EDSCALE); - border->set_default_margin(SIDE_RIGHT, 5 * EDSCALE); - border->set_default_margin(SIDE_BOTTOM, 5 * EDSCALE); - border->set_default_margin(SIDE_TOP, 5 * EDSCALE); + border->set_default_margin_all(5 * EDSCALE); add_theme_style_override("panel", border); HBoxContainer *hb = memnew(HBoxContainer); @@ -324,7 +321,7 @@ void EditorAssetLibraryItemDownload::_http_download_completed(int p_status, int status->set_text(TTR("Can't connect.")); } break; case HTTPRequest::RESULT_CANT_CONNECT: - case HTTPRequest::RESULT_SSL_HANDSHAKE_ERROR: { + case HTTPRequest::RESULT_TLS_HANDSHAKE_ERROR: { error_text = TTR("Can't connect to host:") + " " + host; status->set_text(TTR("Can't connect.")); } break; @@ -577,24 +574,26 @@ void EditorAssetLibrary::_notification(int p_what) { switch (p_what) { case NOTIFICATION_READY: { add_theme_style_override("panel", get_theme_stylebox(SNAME("bg"), SNAME("AssetLib"))); - error_label->raise(); + error_label->move_to_front(); } break; case NOTIFICATION_ENTER_TREE: case NOTIFICATION_THEME_CHANGED: { error_tr->set_texture(get_theme_icon(SNAME("Error"), SNAME("EditorIcons"))); filter->set_right_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); - library_scroll_bg->add_theme_style_override("panel", get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); - downloads_scroll->add_theme_style_override("bg", get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); + library_scroll_bg->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); + downloads_scroll->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); error_label->add_theme_color_override("color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); } break; case NOTIFICATION_VISIBILITY_CHANGED: { if (is_visible()) { +#ifndef ANDROID_ENABLED // Focus the search box automatically when switching to the Templates tab (in the Project Manager) // or switching to the AssetLib tab (in the editor). // The Project Manager's project filter box is automatically focused in the project manager code. filter->grab_focus(); +#endif if (initial_loading) { _repository_changed(0); // Update when shown for the first time. @@ -649,7 +648,7 @@ void EditorAssetLibrary::shortcut_input(const Ref<InputEvent> &p_event) { const Ref<InputEventKey> key = p_event; if (key.is_valid() && key->is_pressed()) { - if (key->get_keycode_with_modifiers() == (KeyModifierMask::CMD | Key::F) && is_visible_in_tree()) { + if (key->is_match(InputEventKey::create_reference(KeyModifierMask::CMD_OR_CTRL | Key::F)) && is_visible_in_tree()) { filter->grab_focus(); filter->select_all(); accept_event(); @@ -1100,7 +1099,7 @@ void EditorAssetLibrary::_http_request_completed(int p_status, int p_code, const case HTTPRequest::RESULT_CHUNKED_BODY_SIZE_MISMATCH: { error_label->set_text(TTR("Connection error, please try again.")); } break; - case HTTPRequest::RESULT_SSL_HANDSHAKE_ERROR: + case HTTPRequest::RESULT_TLS_HANDSHAKE_ERROR: case HTTPRequest::RESULT_CANT_CONNECT: { error_label->set_text(TTR("Can't connect to host:") + " " + host); } break; @@ -1508,10 +1507,7 @@ EditorAssetLibrary::EditorAssetLibrary(bool p_templates_only) { Ref<StyleBoxEmpty> border2; border2.instantiate(); - border2->set_default_margin(SIDE_LEFT, 15 * EDSCALE); - border2->set_default_margin(SIDE_RIGHT, 35 * EDSCALE); - border2->set_default_margin(SIDE_BOTTOM, 15 * EDSCALE); - border2->set_default_margin(SIDE_TOP, 15 * EDSCALE); + border2->set_default_margin_individual(15 * EDSCALE, 15 * EDSCALE, 35 * EDSCALE, 15 * EDSCALE); PanelContainer *library_vb_border = memnew(PanelContainer); library_scroll->add_child(library_vb_border); @@ -1600,7 +1596,7 @@ bool AssetLibraryEditorPlugin::is_available() { // directly from GitHub which does not set CORS. return false; #else - return StreamPeerSSL::is_available(); + return StreamPeerTLS::is_available(); #endif } @@ -1615,7 +1611,7 @@ void AssetLibraryEditorPlugin::make_visible(bool p_visible) { AssetLibraryEditorPlugin::AssetLibraryEditorPlugin() { addon_library = memnew(EditorAssetLibrary); addon_library->set_v_size_flags(Control::SIZE_EXPAND_FILL); - EditorNode::get_singleton()->get_main_control()->add_child(addon_library); + EditorNode::get_singleton()->get_main_screen_control()->add_child(addon_library); addon_library->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT); addon_library->hide(); } diff --git a/editor/plugins/bone_map_editor_plugin.h b/editor/plugins/bone_map_editor_plugin.h index 0541ce6eac..55261ab477 100644 --- a/editor/plugins/bone_map_editor_plugin.h +++ b/editor/plugins/bone_map_editor_plugin.h @@ -62,7 +62,7 @@ private: bool selected = false; bool require = false; - TextureRect *circle; + TextureRect *circle = nullptr; void fetch_textures(); @@ -87,8 +87,8 @@ class BoneMapperItem : public VBoxContainer { Ref<BoneMap> bone_map; - EditorPropertyText *skeleton_bone_selector; - Button *picker_button; + EditorPropertyText *skeleton_bone_selector = nullptr; + Button *picker_button = nullptr; void _update_property(); void _open_picker(); @@ -135,24 +135,24 @@ public: class BoneMapper : public VBoxContainer { GDCLASS(BoneMapper, VBoxContainer); - Skeleton3D *skeleton; + Skeleton3D *skeleton = nullptr; Ref<BoneMap> bone_map; - EditorPropertyResource *profile_selector; + EditorPropertyResource *profile_selector = nullptr; Vector<BoneMapperItem *> bone_mapper_items; - Button *clear_mapping_button; + Button *clear_mapping_button = nullptr; - VBoxContainer *mapper_item_vbox; + VBoxContainer *mapper_item_vbox = nullptr; int current_group_idx = 0; int current_bone_idx = -1; - AspectRatioContainer *bone_mapper_field; - EditorPropertyEnum *profile_group_selector; - ColorRect *profile_bg; - TextureRect *profile_texture; + AspectRatioContainer *bone_mapper_field = nullptr; + EditorPropertyEnum *profile_group_selector = nullptr; + ColorRect *profile_bg = nullptr; + TextureRect *profile_texture = nullptr; Vector<BoneMapperButton *> bone_mapper_buttons; void create_editor(); @@ -201,9 +201,9 @@ public: class BoneMapEditor : public VBoxContainer { GDCLASS(BoneMapEditor, VBoxContainer); - Skeleton3D *skeleton; + Skeleton3D *skeleton = nullptr; Ref<BoneMap> bone_map; - BoneMapper *bone_mapper; + BoneMapper *bone_mapper = nullptr; void fetch_objects(); void clear_editors(); @@ -219,7 +219,7 @@ public: class EditorInspectorPluginBoneMap : public EditorInspectorPlugin { GDCLASS(EditorInspectorPluginBoneMap, EditorInspectorPlugin); - BoneMapEditor *editor; + BoneMapEditor *editor = nullptr; public: virtual bool can_handle(Object *p_object) override; diff --git a/editor/plugins/camera_3d_editor_plugin.cpp b/editor/plugins/camera_3d_editor_plugin.cpp index 141837244a..1aedb3b4ce 100644 --- a/editor/plugins/camera_3d_editor_plugin.cpp +++ b/editor/plugins/camera_3d_editor_plugin.cpp @@ -98,7 +98,7 @@ void Camera3DEditorPlugin::make_visible(bool p_visible) { Camera3DEditorPlugin::Camera3DEditorPlugin() { /* camera_editor = memnew( CameraEditor ); - EditorNode::get_singleton()->get_main_control()->add_child(camera_editor); + EditorNode::get_singleton()->get_main_screen_control()->add_child(camera_editor); camera_editor->set_anchor(SIDE_LEFT,Control::ANCHOR_END); camera_editor->set_anchor(SIDE_RIGHT,Control::ANCHOR_END); diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index c4a32d6d4b..070834b33b 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -1394,7 +1394,7 @@ bool CanvasItemEditor::_gui_input_rotate(const Ref<InputEvent> &p_event) { // Start rotation if (drag_type == DRAG_NONE) { if (b.is_valid() && b->get_button_index() == MouseButton::LEFT && b->is_pressed()) { - if ((b->is_command_pressed() && !b->is_alt_pressed() && tool == TOOL_SELECT) || tool == TOOL_ROTATE) { + if ((b->is_command_or_control_pressed() && !b->is_alt_pressed() && tool == TOOL_SELECT) || tool == TOOL_ROTATE) { List<CanvasItem *> selection = _get_edited_canvas_items(); // Remove not movable nodes @@ -3959,10 +3959,8 @@ void CanvasItemEditor::_notification(int p_what) { case NOTIFICATION_ENTER_TREE: { select_sb->set_texture(get_theme_icon(SNAME("EditorRect2D"), SNAME("EditorIcons"))); - for (int i = 0; i < 4; i++) { - select_sb->set_margin_size(Side(i), 4); - select_sb->set_default_margin(Side(i), 4); - } + select_sb->set_margin_size_all(4); + select_sb->set_default_margin_all(4); AnimationPlayerEditor::get_singleton()->get_track_editor()->connect("visibility_changed", callable_mp(this, &CanvasItemEditor::_keying_changed)); _keying_changed(); @@ -5045,7 +5043,7 @@ CanvasItemEditor::CanvasItemEditor() { { int32_t(KeyModifierMask::SHIFT | Key::KEY_1), int32_t(KeyModifierMask::SHIFT | Key::KP_1) }); ED_SHORTCUT_ARRAY("canvas_item_editor/zoom_100_percent", TTR("Zoom to 100%"), - { int32_t(Key::KEY_1), int32_t(KeyModifierMask::CMD | Key::KEY_0), int32_t(Key::KP_1), int32_t(KeyModifierMask::CMD | Key::KP_0) }); + { int32_t(Key::KEY_1), int32_t(KeyModifierMask::CMD_OR_CTRL | Key::KEY_0), int32_t(Key::KP_1), int32_t(KeyModifierMask::CMD_OR_CTRL | Key::KP_0) }); ED_SHORTCUT_ARRAY("canvas_item_editor/zoom_200_percent", TTR("Zoom to 200%"), { int32_t(Key::KEY_2), int32_t(Key::KP_2) }); @@ -5104,7 +5102,7 @@ CanvasItemEditor::CanvasItemEditor() { 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_text(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.")); + select_button->set_tooltip_text(keycode_get_string((Key)KeyModifierMask::CMD_OR_CTRL) + TTR("Drag: Rotate selected node around pivot.") + "\n" + TTR("Alt+Drag: Move selected node.") + "\n" + keycode_get_string((Key)KeyModifierMask::CMD_OR_CTRL) + 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_OR_CTRL) + TTR("RMB: Add node at position clicked.")); main_menu_hbox->add_child(memnew(VSeparator)); @@ -5229,7 +5227,7 @@ CanvasItemEditor::CanvasItemEditor() { lock_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_popup_callback).bind(LOCK_SELECTED)); lock_button->set_tooltip_text(TTR("Lock selected node, preventing selection and movement.")); // Define the shortcut globally (without a context) so that it works if the Scene tree dock is currently focused. - lock_button->set_shortcut(ED_SHORTCUT("editor/lock_selected_nodes", TTR("Lock Selected Node(s)"), KeyModifierMask::CMD | Key::L)); + lock_button->set_shortcut(ED_SHORTCUT("editor/lock_selected_nodes", TTR("Lock Selected Node(s)"), KeyModifierMask::CMD_OR_CTRL | Key::L)); unlock_button = memnew(Button); unlock_button->set_flat(true); @@ -5237,7 +5235,7 @@ CanvasItemEditor::CanvasItemEditor() { unlock_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_popup_callback).bind(UNLOCK_SELECTED)); unlock_button->set_tooltip_text(TTR("Unlock selected node, allowing selection and movement.")); // Define the shortcut globally (without a context) so that it works if the Scene tree dock is currently focused. - unlock_button->set_shortcut(ED_SHORTCUT("editor/unlock_selected_nodes", TTR("Unlock Selected Node(s)"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::L)); + unlock_button->set_shortcut(ED_SHORTCUT("editor/unlock_selected_nodes", TTR("Unlock Selected Node(s)"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::L)); group_button = memnew(Button); group_button->set_flat(true); @@ -5245,7 +5243,7 @@ CanvasItemEditor::CanvasItemEditor() { group_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_popup_callback).bind(GROUP_SELECTED)); group_button->set_tooltip_text(TTR("Make selected node's children not selectable.")); // Define the shortcut globally (without a context) so that it works if the Scene tree dock is currently focused. - group_button->set_shortcut(ED_SHORTCUT("editor/group_selected_nodes", TTR("Group Selected Node(s)"), KeyModifierMask::CMD | Key::G)); + group_button->set_shortcut(ED_SHORTCUT("editor/group_selected_nodes", TTR("Group Selected Node(s)"), KeyModifierMask::CMD_OR_CTRL | Key::G)); ungroup_button = memnew(Button); ungroup_button->set_flat(true); @@ -5253,7 +5251,7 @@ CanvasItemEditor::CanvasItemEditor() { ungroup_button->connect("pressed", callable_mp(this, &CanvasItemEditor::_popup_callback).bind(UNGROUP_SELECTED)); ungroup_button->set_tooltip_text(TTR("Make selected node's children selectable.")); // Define the shortcut globally (without a context) so that it works if the Scene tree dock is currently focused. - ungroup_button->set_shortcut(ED_SHORTCUT("editor/ungroup_selected_nodes", TTR("Ungroup Selected Node(s)"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::G)); + ungroup_button->set_shortcut(ED_SHORTCUT("editor/ungroup_selected_nodes", TTR("Ungroup Selected Node(s)"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::G)); main_menu_hbox->add_child(memnew(VSeparator)); @@ -5267,7 +5265,7 @@ CanvasItemEditor::CanvasItemEditor() { p->set_hide_on_checkable_item_selection(false); p->add_shortcut(ED_SHORTCUT("canvas_item_editor/skeleton_show_bones", TTR("Show Bones")), SKELETON_SHOW_BONES); p->add_separator(); - p->add_shortcut(ED_SHORTCUT("canvas_item_editor/skeleton_make_bones", TTR("Make Bone2D Node(s) from Node(s)"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::B), SKELETON_MAKE_BONES); + p->add_shortcut(ED_SHORTCUT("canvas_item_editor/skeleton_make_bones", TTR("Make Bone2D Node(s) from Node(s)"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::B), SKELETON_MAKE_BONES); p->connect("id_pressed", callable_mp(this, &CanvasItemEditor::_popup_callback)); main_menu_hbox->add_child(memnew(VSeparator)); @@ -5301,7 +5299,7 @@ CanvasItemEditor::CanvasItemEditor() { grid_menu->add_radio_check_item(TTR("Show When Snapping"), GRID_VISIBILITY_SHOW_WHEN_SNAPPING); grid_menu->add_radio_check_item(TTR("Hide"), GRID_VISIBILITY_HIDE); grid_menu->add_separator(); - grid_menu->add_shortcut(ED_SHORTCUT("canvas_item_editor/toggle_grid", TTR("Toggle Grid"), KeyModifierMask::CMD | Key::APOSTROPHE)); + grid_menu->add_shortcut(ED_SHORTCUT("canvas_item_editor/toggle_grid", TTR("Toggle Grid"), KeyModifierMask::CMD_OR_CTRL | Key::APOSTROPHE)); p->add_child(grid_menu); p->add_submenu_item(TTR("Grid"), "GridMenu"); @@ -5318,7 +5316,7 @@ CanvasItemEditor::CanvasItemEditor() { p->add_shortcut(ED_SHORTCUT("canvas_item_editor/frame_selection", TTR("Frame Selection"), KeyModifierMask::SHIFT | Key::F), VIEW_FRAME_TO_SELECTION); p->add_shortcut(ED_SHORTCUT("canvas_item_editor/clear_guides", TTR("Clear Guides")), CLEAR_GUIDES); p->add_separator(); - p->add_check_shortcut(ED_SHORTCUT("canvas_item_editor/preview_canvas_scale", TTR("Preview Canvas Scale"), KeyModifierMask::SHIFT | KeyModifierMask::CMD | Key::P), PREVIEW_CANVAS_SCALE); + p->add_check_shortcut(ED_SHORTCUT("canvas_item_editor/preview_canvas_scale", TTR("Preview Canvas Scale"), KeyModifierMask::SHIFT | KeyModifierMask::CMD_OR_CTRL | Key::P), PREVIEW_CANVAS_SCALE); main_menu_hbox->add_child(memnew(VSeparator)); @@ -5388,7 +5386,7 @@ CanvasItemEditor::CanvasItemEditor() { p = animation_menu->get_popup(); p->add_shortcut(ED_GET_SHORTCUT("canvas_item_editor/anim_insert_key"), ANIM_INSERT_KEY); - p->add_shortcut(ED_SHORTCUT("canvas_item_editor/anim_insert_key_existing_tracks", TTR("Insert Key (Existing Tracks)"), KeyModifierMask::CMD + Key::INSERT), ANIM_INSERT_KEY_EXISTING); + p->add_shortcut(ED_SHORTCUT("canvas_item_editor/anim_insert_key_existing_tracks", TTR("Insert Key (Existing Tracks)"), KeyModifierMask::CMD_OR_CTRL + Key::INSERT), ANIM_INSERT_KEY_EXISTING); p->add_separator(); p->add_shortcut(ED_SHORTCUT("canvas_item_editor/anim_copy_pose", TTR("Copy Pose")), ANIM_COPY_POSE); p->add_shortcut(ED_SHORTCUT("canvas_item_editor/anim_paste_pose", TTR("Paste Pose")), ANIM_PASTE_POSE); @@ -5459,7 +5457,7 @@ void CanvasItemEditorPlugin::set_state(const Dictionary &p_state) { CanvasItemEditorPlugin::CanvasItemEditorPlugin() { canvas_item_editor = memnew(CanvasItemEditor); canvas_item_editor->set_v_size_flags(Control::SIZE_EXPAND_FILL); - EditorNode::get_singleton()->get_main_control()->add_child(canvas_item_editor); + EditorNode::get_singleton()->get_main_screen_control()->add_child(canvas_item_editor); canvas_item_editor->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT); canvas_item_editor->hide(); } diff --git a/editor/plugins/cast_2d_editor_plugin.h b/editor/plugins/cast_2d_editor_plugin.h index 85ff497bc7..ceed9b9111 100644 --- a/editor/plugins/cast_2d_editor_plugin.h +++ b/editor/plugins/cast_2d_editor_plugin.h @@ -42,7 +42,7 @@ class Cast2DEditor : public Control { Ref<EditorUndoRedoManager> undo_redo; CanvasItemEditor *canvas_item_editor = nullptr; - Node2D *node; + Node2D *node = nullptr; bool pressed = false; Point2 original_target_position; diff --git a/editor/plugins/control_editor_plugin.h b/editor/plugins/control_editor_plugin.h index 584d05aab0..22267cbc04 100644 --- a/editor/plugins/control_editor_plugin.h +++ b/editor/plugins/control_editor_plugin.h @@ -186,7 +186,7 @@ public: class SizeFlagPresetPicker : public ControlEditorPresetPicker { GDCLASS(SizeFlagPresetPicker, ControlEditorPresetPicker); - CheckBox *expand_button; + CheckBox *expand_button = nullptr; bool vertical = false; diff --git a/editor/plugins/cpu_particles_3d_editor_plugin.cpp b/editor/plugins/cpu_particles_3d_editor_plugin.cpp index 775c2dbb2a..ad12b8bef0 100644 --- a/editor/plugins/cpu_particles_3d_editor_plugin.cpp +++ b/editor/plugins/cpu_particles_3d_editor_plugin.cpp @@ -126,7 +126,7 @@ void CPUParticles3DEditorPlugin::make_visible(bool p_visible) { CPUParticles3DEditorPlugin::CPUParticles3DEditorPlugin() { particles_editor = memnew(CPUParticles3DEditor); - EditorNode::get_singleton()->get_main_control()->add_child(particles_editor); + EditorNode::get_singleton()->get_main_screen_control()->add_child(particles_editor); particles_editor->hide(); } diff --git a/editor/plugins/curve_editor_plugin.cpp b/editor/plugins/curve_editor_plugin.cpp index 0e84381279..8d1df0b32c 100644 --- a/editor/plugins/curve_editor_plugin.cpp +++ b/editor/plugins/curve_editor_plugin.cpp @@ -640,7 +640,7 @@ void CurveEditor::_draw() { // Background Vector2 view_size = get_rect().size; - draw_style_box(get_theme_stylebox(SNAME("bg"), SNAME("Tree")), Rect2(Point2(), view_size)); + draw_style_box(get_theme_stylebox(SNAME("panel"), SNAME("Tree")), Rect2(Point2(), view_size)); // Grid diff --git a/editor/plugins/editor_preview_plugins.cpp b/editor/plugins/editor_preview_plugins.cpp index 0ec36736bd..59b8f31720 100644 --- a/editor/plugins/editor_preview_plugins.cpp +++ b/editor/plugins/editor_preview_plugins.cpp @@ -307,7 +307,7 @@ Ref<Texture2D> EditorMaterialPreviewPlugin::generate(const Ref<Resource> &p_from if (material->get_shader_mode() == Shader::MODE_SPATIAL) { RS::get_singleton()->mesh_surface_set_material(sphere, 0, material->get_rid()); - RS::get_singleton()->connect(SNAME("frame_pre_draw"), callable_mp(const_cast<EditorMaterialPreviewPlugin *>(this), &EditorMaterialPreviewPlugin::_generate_frame_started), Object::CONNECT_ONESHOT); + RS::get_singleton()->connect(SNAME("frame_pre_draw"), callable_mp(const_cast<EditorMaterialPreviewPlugin *>(this), &EditorMaterialPreviewPlugin::_generate_frame_started), Object::CONNECT_ONE_SHOT); preview_done.wait(); @@ -709,7 +709,7 @@ Ref<Texture2D> EditorMeshPreviewPlugin::generate(const Ref<Resource> &p_from, co xform.origin.z -= rot_aabb.size.z * 2; RS::get_singleton()->instance_set_transform(mesh_instance, xform); - RS::get_singleton()->connect(SNAME("frame_pre_draw"), callable_mp(const_cast<EditorMeshPreviewPlugin *>(this), &EditorMeshPreviewPlugin::_generate_frame_started), Object::CONNECT_ONESHOT); + RS::get_singleton()->connect(SNAME("frame_pre_draw"), callable_mp(const_cast<EditorMeshPreviewPlugin *>(this), &EditorMeshPreviewPlugin::_generate_frame_started), Object::CONNECT_ONE_SHOT); preview_done.wait(); @@ -826,7 +826,7 @@ Ref<Texture2D> EditorFontPreviewPlugin::generate_from_path(const String &p_path, const float fg = c.get_luminance() < 0.5 ? 1.0 : 0.0; sampled_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), Object::CONNECT_ONESHOT); + RS::get_singleton()->connect(SNAME("frame_pre_draw"), callable_mp(const_cast<EditorFontPreviewPlugin *>(this), &EditorFontPreviewPlugin::_generate_frame_started), Object::CONNECT_ONE_SHOT); preview_done.wait(); diff --git a/editor/plugins/gpu_particles_3d_editor_plugin.cpp b/editor/plugins/gpu_particles_3d_editor_plugin.cpp index ebc92bf531..d91cbb6571 100644 --- a/editor/plugins/gpu_particles_3d_editor_plugin.cpp +++ b/editor/plugins/gpu_particles_3d_editor_plugin.cpp @@ -454,7 +454,7 @@ void GPUParticles3DEditorPlugin::make_visible(bool p_visible) { GPUParticles3DEditorPlugin::GPUParticles3DEditorPlugin() { particles_editor = memnew(GPUParticles3DEditor); - EditorNode::get_singleton()->get_main_control()->add_child(particles_editor); + EditorNode::get_singleton()->get_main_screen_control()->add_child(particles_editor); particles_editor->hide(); } diff --git a/editor/plugins/material_editor_plugin.cpp b/editor/plugins/material_editor_plugin.cpp index 76d05624d6..fe7713f175 100644 --- a/editor/plugins/material_editor_plugin.cpp +++ b/editor/plugins/material_editor_plugin.cpp @@ -40,6 +40,19 @@ #include "scene/resources/particle_process_material.h" #include "scene/resources/sky_material.h" +void MaterialEditor::gui_input(const Ref<InputEvent> &p_event) { + ERR_FAIL_COND(p_event.is_null()); + + Ref<InputEventMouseMotion> mm = p_event; + if (mm.is_valid() && (mm->get_button_mask() & MouseButton::MASK_LEFT) != MouseButton::NONE) { + rot.x -= mm->get_relative().y * 0.01; + rot.y -= mm->get_relative().x * 0.01; + + rot.x = CLAMP(rot.x, -Math_PI / 2, Math_PI / 2); + _update_rotation(); + } +} + void MaterialEditor::_update_theme_item_cache() { Control::_update_theme_item_cache(); @@ -77,6 +90,13 @@ void MaterialEditor::_notification(int p_what) { } } +void MaterialEditor::_update_rotation() { + Transform3D t; + t.basis.rotate(Vector3(0, 1, 0), -rot.y); + t.basis.rotate(Vector3(1, 0, 0), -rot.x); + rotation->set_transform(t); +} + void MaterialEditor::edit(Ref<Material> p_material, const Ref<Environment> &p_env) { material = p_material; camera->set_environment(p_env); @@ -102,6 +122,10 @@ void MaterialEditor::edit(Ref<Material> p_material, const Ref<Environment> &p_en } else { hide(); } + + rot.x = Math::deg_to_rad(-15.0); + rot.y = Math::deg_to_rad(30.0); + _update_rotation(); } void MaterialEditor::_button_pressed(Node *p_button) { @@ -130,9 +154,6 @@ void MaterialEditor::_button_pressed(Node *p_button) { } } -void MaterialEditor::_bind_methods() { -} - MaterialEditor::MaterialEditor() { // canvas item @@ -163,7 +184,7 @@ MaterialEditor::MaterialEditor() { viewport->set_msaa_3d(Viewport::MSAA_4X); camera = memnew(Camera3D); - camera->set_transform(Transform3D(Basis(), Vector3(0, 0, 3))); + camera->set_transform(Transform3D(Basis(), Vector3(0, 0, 1.1))); // Use low field of view so the sphere/box is fully encompassed within the preview, // without much distortion. camera->set_perspective(20, 0.1, 10); @@ -183,18 +204,17 @@ MaterialEditor::MaterialEditor() { light2->set_color(Color(0.7, 0.7, 0.7)); viewport->add_child(light2); + rotation = memnew(Node3D); + viewport->add_child(rotation); + sphere_instance = memnew(MeshInstance3D); - viewport->add_child(sphere_instance); + rotation->add_child(sphere_instance); box_instance = memnew(MeshInstance3D); - viewport->add_child(box_instance); - - Transform3D box_xform; - box_xform.basis.rotate(Vector3(1, 0, 0), Math::deg_to_rad(25.0)); - box_xform.basis = box_xform.basis * Basis().rotated(Vector3(0, 1, 0), Math::deg_to_rad(-25.0)); - box_xform.basis.scale(Vector3(0.7, 0.7, 0.7)); - box_xform.origin.y = 0.05; - box_instance->set_transform(box_xform); + rotation->add_child(box_instance); + + box_instance->set_transform(Transform3D() * 0.25); + sphere_instance->set_transform(Transform3D() * 0.375); sphere_mesh.instantiate(); sphere_instance->set_mesh(sphere_mesh); diff --git a/editor/plugins/material_editor_plugin.h b/editor/plugins/material_editor_plugin.h index 7ce6deee65..8e64434d8b 100644 --- a/editor/plugins/material_editor_plugin.h +++ b/editor/plugins/material_editor_plugin.h @@ -45,11 +45,14 @@ class SubViewportContainer; class MaterialEditor : public Control { GDCLASS(MaterialEditor, Control); + Vector2 rot = Vector2(); + HBoxContainer *layout_2d = nullptr; ColorRect *rect_instance = nullptr; SubViewportContainer *vc = nullptr; SubViewport *viewport = nullptr; + Node3D *rotation = nullptr; MeshInstance3D *sphere_instance = nullptr; MeshInstance3D *box_instance = nullptr; DirectionalLight3D *light1 = nullptr; @@ -87,7 +90,8 @@ class MaterialEditor : public Control { protected: virtual void _update_theme_item_cache() override; void _notification(int p_what); - static void _bind_methods(); + void gui_input(const Ref<InputEvent> &p_event) override; + void _update_rotation(); public: void edit(Ref<Material> p_material, const Ref<Environment> &p_env); diff --git a/editor/plugins/mesh_instance_3d_editor_plugin.cpp b/editor/plugins/mesh_instance_3d_editor_plugin.cpp index 7bd406b869..c502d47669 100644 --- a/editor/plugins/mesh_instance_3d_editor_plugin.cpp +++ b/editor/plugins/mesh_instance_3d_editor_plugin.cpp @@ -567,7 +567,7 @@ void MeshInstance3DEditorPlugin::make_visible(bool p_visible) { MeshInstance3DEditorPlugin::MeshInstance3DEditorPlugin() { mesh_editor = memnew(MeshInstance3DEditor); - EditorNode::get_singleton()->get_main_control()->add_child(mesh_editor); + EditorNode::get_singleton()->get_main_screen_control()->add_child(mesh_editor); mesh_editor->options->hide(); } diff --git a/editor/plugins/mesh_library_editor_plugin.cpp b/editor/plugins/mesh_library_editor_plugin.cpp index 319f6ee9de..420ebe5942 100644 --- a/editor/plugins/mesh_library_editor_plugin.cpp +++ b/editor/plugins/mesh_library_editor_plugin.cpp @@ -319,7 +319,7 @@ void MeshLibraryEditorPlugin::make_visible(bool p_visible) { MeshLibraryEditorPlugin::MeshLibraryEditorPlugin() { mesh_library_editor = memnew(MeshLibraryEditor); - EditorNode::get_singleton()->get_main_control()->add_child(mesh_library_editor); + EditorNode::get_singleton()->get_main_screen_control()->add_child(mesh_library_editor); mesh_library_editor->set_anchors_and_offsets_preset(Control::PRESET_TOP_WIDE); mesh_library_editor->set_end(Point2(0, 22)); mesh_library_editor->hide(); diff --git a/editor/plugins/multimesh_editor_plugin.cpp b/editor/plugins/multimesh_editor_plugin.cpp index fc4dc5bc2f..b0e206b020 100644 --- a/editor/plugins/multimesh_editor_plugin.cpp +++ b/editor/plugins/multimesh_editor_plugin.cpp @@ -379,7 +379,7 @@ void MultiMeshEditorPlugin::make_visible(bool p_visible) { MultiMeshEditorPlugin::MultiMeshEditorPlugin() { multimesh_editor = memnew(MultiMeshEditor); - EditorNode::get_singleton()->get_main_control()->add_child(multimesh_editor); + EditorNode::get_singleton()->get_main_screen_control()->add_child(multimesh_editor); multimesh_editor->options->hide(); } diff --git a/editor/plugins/navigation_link_2d_editor_plugin.h b/editor/plugins/navigation_link_2d_editor_plugin.h index 1c1251bec7..0a3d9b8810 100644 --- a/editor/plugins/navigation_link_2d_editor_plugin.h +++ b/editor/plugins/navigation_link_2d_editor_plugin.h @@ -42,7 +42,7 @@ class NavigationLink2DEditor : public Control { Ref<EditorUndoRedoManager> undo_redo; CanvasItemEditor *canvas_item_editor = nullptr; - NavigationLink2D *node; + NavigationLink2D *node = nullptr; bool start_grabbed = false; Vector2 original_start_location; diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp index 03cf9abed9..33aad0ac61 100644 --- a/editor/plugins/node_3d_editor_plugin.cpp +++ b/editor/plugins/node_3d_editor_plugin.cpp @@ -1360,8 +1360,8 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) { if (discard == EditorPlugin::AFTER_GUI_INPUT_STOP) { return; } - if (discard == EditorPlugin::AFTER_GUI_INPUT_DESELECT) { - after = EditorPlugin::AFTER_GUI_INPUT_DESELECT; + if (discard == EditorPlugin::AFTER_GUI_INPUT_CUSTOM) { + after = EditorPlugin::AFTER_GUI_INPUT_CUSTOM; } } } @@ -1373,8 +1373,8 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) { if (discard == EditorPlugin::AFTER_GUI_INPUT_STOP) { return; } - if (discard == EditorPlugin::AFTER_GUI_INPUT_DESELECT) { - after = EditorPlugin::AFTER_GUI_INPUT_DESELECT; + if (discard == EditorPlugin::AFTER_GUI_INPUT_CUSTOM) { + after = EditorPlugin::AFTER_GUI_INPUT_CUSTOM; } } } @@ -1586,7 +1586,7 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) { clicked = ObjectID(); - if ((spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_SELECT && b->is_command_pressed()) || spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_ROTATE) { + if ((spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_SELECT && b->is_command_or_control_pressed()) || spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_ROTATE) { begin_transform(TRANSFORM_ROTATE, false); break; } @@ -1601,7 +1601,7 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) { break; } - if (after != EditorPlugin::AFTER_GUI_INPUT_DESELECT) { + if (after != EditorPlugin::AFTER_GUI_INPUT_CUSTOM) { //clicking is always deferred to either move or release clicked = _select_ray(b->get_position()); selection_in_progress = true; @@ -1622,7 +1622,7 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) { break; } - if (after != EditorPlugin::AFTER_GUI_INPUT_DESELECT) { + if (after != EditorPlugin::AFTER_GUI_INPUT_CUSTOM) { selection_in_progress = false; if (clicked.is_valid()) { @@ -2624,14 +2624,14 @@ void Node3DEditorViewport::_notification(int p_what) { cpu_time_label->add_theme_color_override( "font_color", frame_time_gradient->get_color_at_offset( - Math::range_lerp(cpu_time, 0, 30, 0, 1))); + Math::remap(cpu_time, 0, 30, 0, 1))); gpu_time_label->set_text(vformat(TTR("GPU Time: %s ms"), rtos(gpu_time).pad_decimals(2))); // Middle point is at 15 ms. gpu_time_label->add_theme_color_override( "font_color", frame_time_gradient->get_color_at_offset( - Math::range_lerp(gpu_time, 0, 30, 0, 1))); + Math::remap(gpu_time, 0, 30, 0, 1))); const double fps = 1000.0 / gpu_time; fps_label->set_text(vformat(TTR("FPS: %d"), fps)); @@ -2639,7 +2639,7 @@ void Node3DEditorViewport::_notification(int p_what) { fps_label->add_theme_color_override( "font_color", frame_time_gradient->get_color_at_offset( - Math::range_lerp(fps, 110, 10, 0, 1))); + Math::remap(fps, 110, 10, 0, 1))); } bool show_cinema = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_CINEMATIC_PREVIEW)); @@ -4817,7 +4817,7 @@ Node3DEditorViewport::Node3DEditorViewport(Node3DEditor *p_spatial_editor, int p preview_camera = memnew(CheckBox); preview_camera->set_text(TTR("Preview")); - preview_camera->set_shortcut(ED_SHORTCUT("spatial_editor/toggle_camera_preview", TTR("Toggle Camera Preview"), KeyModifierMask::CMD | Key::P)); + preview_camera->set_shortcut(ED_SHORTCUT("spatial_editor/toggle_camera_preview", TTR("Toggle Camera Preview"), KeyModifierMask::CMD_OR_CTRL | Key::P)); vbox->add_child(preview_camera); preview_camera->set_h_size_flags(0); preview_camera->hide(); @@ -5516,8 +5516,8 @@ Dictionary Node3DEditor::get_state() const { pd["sun_color"] = sun_color->get_pick_color(); pd["sun_energy"] = sun_energy->get_value(); - pd["sun_disabled"] = sun_button->is_pressed(); - pd["environ_disabled"] = environ_button->is_pressed(); + pd["sun_enabled"] = sun_button->is_pressed(); + pd["environ_enabled"] = environ_button->is_pressed(); d["preview_sun_env"] = pd; } @@ -5648,8 +5648,8 @@ void Node3DEditor::set_state(const Dictionary &p_state) { sun_color->set_pick_color(pd["sun_color"]); sun_energy->set_value(pd["sun_energy"]); - sun_button->set_pressed(pd["sun_disabled"]); - environ_button->set_pressed(pd["environ_disabled"]); + sun_button->set_pressed(pd["sun_enabled"]); + environ_button->set_pressed(pd["environ_enabled"]); sun_environ_updating = false; @@ -5657,8 +5657,8 @@ void Node3DEditor::set_state(const Dictionary &p_state) { _update_preview_environment(); } else { _load_default_preview_settings(); - sun_button->set_pressed(false); - environ_button->set_pressed(false); + sun_button->set_pressed(true); + environ_button->set_pressed(true); _preview_settings_changed(); _update_preview_environment(); } @@ -7159,8 +7159,8 @@ void Node3DEditor::_update_theme() { view_menu->get_popup()->set_item_icon(view_menu->get_popup()->get_item_index(MENU_VIEW_USE_3_VIEWPORTS_ALT), get_theme_icon(SNAME("Panels3Alt"), SNAME("EditorIcons"))); view_menu->get_popup()->set_item_icon(view_menu->get_popup()->get_item_index(MENU_VIEW_USE_4_VIEWPORTS), get_theme_icon(SNAME("Panels4"), SNAME("EditorIcons"))); - sun_button->set_icon(get_theme_icon(SNAME("DirectionalLight3D"), SNAME("EditorIcons"))); - environ_button->set_icon(get_theme_icon(SNAME("WorldEnvironment"), SNAME("EditorIcons"))); + sun_button->set_icon(get_theme_icon(SNAME("PreviewSun"), SNAME("EditorIcons"))); + environ_button->set_icon(get_theme_icon(SNAME("PreviewEnvironment"), SNAME("EditorIcons"))); sun_environ_settings->set_icon(get_theme_icon(SNAME("GuiTabMenuHl"), SNAME("EditorIcons"))); sun_title->add_theme_font_override("font", get_theme_font(SNAME("title_font"), SNAME("Window"))); @@ -7636,7 +7636,7 @@ void Node3DEditor::_load_default_preview_settings() { } void Node3DEditor::_update_preview_environment() { - bool disable_light = directional_light_count > 0 || sun_button->is_pressed(); + bool disable_light = directional_light_count > 0 || !sun_button->is_pressed(); sun_button->set_disabled(directional_light_count > 0); @@ -7645,6 +7645,7 @@ void Node3DEditor::_update_preview_environment() { preview_sun->get_parent()->remove_child(preview_sun); sun_state->show(); sun_vb->hide(); + preview_sun_dangling = true; } if (directional_light_count > 0) { @@ -7658,13 +7659,14 @@ void Node3DEditor::_update_preview_environment() { add_child(preview_sun, true); sun_state->hide(); sun_vb->show(); + preview_sun_dangling = false; } } sun_angle_altitude->set_value(-Math::rad_to_deg(sun_rotation.x)); sun_angle_azimuth->set_value(180.0 - Math::rad_to_deg(sun_rotation.y)); - bool disable_env = world_env_count > 0 || environ_button->is_pressed(); + bool disable_env = world_env_count > 0 || !environ_button->is_pressed(); environ_button->set_disabled(world_env_count > 0); @@ -7673,6 +7675,7 @@ void Node3DEditor::_update_preview_environment() { preview_environment->get_parent()->remove_child(preview_environment); environ_state->show(); environ_vb->hide(); + preview_env_dangling = true; } if (world_env_count > 0) { environ_state->set_text(TTR("Scene contains\nWorldEnvironment.\nPreview disabled.")); @@ -7685,6 +7688,7 @@ void Node3DEditor::_update_preview_environment() { add_child(preview_environment); environ_state->hide(); environ_vb->show(); + preview_env_dangling = false; } } } @@ -7751,7 +7755,7 @@ Node3DEditor::Node3DEditor() { tool_button[TOOL_MODE_SELECT]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed).bind(MENU_TOOL_SELECT)); tool_button[TOOL_MODE_SELECT]->set_shortcut(ED_SHORTCUT("spatial_editor/tool_select", TTR("Select Mode"), Key::Q)); tool_button[TOOL_MODE_SELECT]->set_shortcut_context(this); - tool_button[TOOL_MODE_SELECT]->set_tooltip_text(keycode_get_string((Key)KeyModifierMask::CMD) + TTR("Drag: Rotate selected node around pivot.") + "\n" + TTR("Alt+RMB: Show list of all nodes at position clicked, including locked.")); + tool_button[TOOL_MODE_SELECT]->set_tooltip_text(keycode_get_string((Key)KeyModifierMask::CMD_OR_CTRL) + TTR("Drag: Rotate selected node around pivot.") + "\n" + TTR("Alt+RMB: Show list of all nodes at position clicked, including locked.")); main_menu_hbox->add_child(memnew(VSeparator)); tool_button[TOOL_MODE_MOVE] = memnew(Button); @@ -7794,7 +7798,7 @@ Node3DEditor::Node3DEditor() { tool_button[TOOL_LOCK_SELECTED]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed).bind(MENU_LOCK_SELECTED)); tool_button[TOOL_LOCK_SELECTED]->set_tooltip_text(TTR("Lock selected node, preventing selection and movement.")); // Define the shortcut globally (without a context) so that it works if the Scene tree dock is currently focused. - tool_button[TOOL_LOCK_SELECTED]->set_shortcut(ED_SHORTCUT("editor/lock_selected_nodes", TTR("Lock Selected Node(s)"), KeyModifierMask::CMD | Key::L)); + tool_button[TOOL_LOCK_SELECTED]->set_shortcut(ED_SHORTCUT("editor/lock_selected_nodes", TTR("Lock Selected Node(s)"), KeyModifierMask::CMD_OR_CTRL | Key::L)); tool_button[TOOL_UNLOCK_SELECTED] = memnew(Button); main_menu_hbox->add_child(tool_button[TOOL_UNLOCK_SELECTED]); @@ -7802,7 +7806,7 @@ Node3DEditor::Node3DEditor() { tool_button[TOOL_UNLOCK_SELECTED]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed).bind(MENU_UNLOCK_SELECTED)); tool_button[TOOL_UNLOCK_SELECTED]->set_tooltip_text(TTR("Unlock selected node, allowing selection and movement.")); // Define the shortcut globally (without a context) so that it works if the Scene tree dock is currently focused. - tool_button[TOOL_UNLOCK_SELECTED]->set_shortcut(ED_SHORTCUT("editor/unlock_selected_nodes", TTR("Unlock Selected Node(s)"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::L)); + tool_button[TOOL_UNLOCK_SELECTED]->set_shortcut(ED_SHORTCUT("editor/unlock_selected_nodes", TTR("Unlock Selected Node(s)"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::L)); tool_button[TOOL_GROUP_SELECTED] = memnew(Button); main_menu_hbox->add_child(tool_button[TOOL_GROUP_SELECTED]); @@ -7810,7 +7814,7 @@ Node3DEditor::Node3DEditor() { tool_button[TOOL_GROUP_SELECTED]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed).bind(MENU_GROUP_SELECTED)); tool_button[TOOL_GROUP_SELECTED]->set_tooltip_text(TTR("Make selected node's children not selectable.")); // Define the shortcut globally (without a context) so that it works if the Scene tree dock is currently focused. - tool_button[TOOL_GROUP_SELECTED]->set_shortcut(ED_SHORTCUT("editor/group_selected_nodes", TTR("Group Selected Node(s)"), KeyModifierMask::CMD | Key::G)); + tool_button[TOOL_GROUP_SELECTED]->set_shortcut(ED_SHORTCUT("editor/group_selected_nodes", TTR("Group Selected Node(s)"), KeyModifierMask::CMD_OR_CTRL | Key::G)); tool_button[TOOL_UNGROUP_SELECTED] = memnew(Button); main_menu_hbox->add_child(tool_button[TOOL_UNGROUP_SELECTED]); @@ -7818,7 +7822,7 @@ Node3DEditor::Node3DEditor() { tool_button[TOOL_UNGROUP_SELECTED]->connect("pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed).bind(MENU_UNGROUP_SELECTED)); tool_button[TOOL_UNGROUP_SELECTED]->set_tooltip_text(TTR("Make selected node's children selectable.")); // Define the shortcut globally (without a context) so that it works if the Scene tree dock is currently focused. - tool_button[TOOL_UNGROUP_SELECTED]->set_shortcut(ED_SHORTCUT("editor/ungroup_selected_nodes", TTR("Ungroup Selected Node(s)"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::G)); + tool_button[TOOL_UNGROUP_SELECTED]->set_shortcut(ED_SHORTCUT("editor/ungroup_selected_nodes", TTR("Ungroup Selected Node(s)"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::G)); main_menu_hbox->add_child(memnew(VSeparator)); @@ -7854,7 +7858,8 @@ Node3DEditor::Node3DEditor() { sun_button->set_toggle_mode(true); sun_button->set_flat(true); sun_button->connect("pressed", callable_mp(this, &Node3DEditor::_update_preview_environment), CONNECT_DEFERRED); - sun_button->set_disabled(true); + // Preview is enabled by default - ensure this applies on editor startup when there is no state yet. + sun_button->set_pressed(true); main_menu_hbox->add_child(sun_button); @@ -7863,7 +7868,8 @@ Node3DEditor::Node3DEditor() { environ_button->set_toggle_mode(true); environ_button->set_flat(true); environ_button->connect("pressed", callable_mp(this, &Node3DEditor::_update_preview_environment), CONNECT_DEFERRED); - environ_button->set_disabled(true); + // Preview is enabled by default - ensure this applies on editor startup when there is no state yet. + environ_button->set_pressed(true); main_menu_hbox->add_child(environ_button); @@ -7895,12 +7901,12 @@ Node3DEditor::Node3DEditor() { ED_SHORTCUT("spatial_editor/insert_anim_key", TTR("Insert Animation Key"), Key::K); ED_SHORTCUT("spatial_editor/focus_origin", TTR("Focus Origin"), Key::O); ED_SHORTCUT("spatial_editor/focus_selection", TTR("Focus Selection"), Key::F); - ED_SHORTCUT("spatial_editor/align_transform_with_view", TTR("Align Transform with View"), KeyModifierMask::ALT + KeyModifierMask::CMD + Key::M); - ED_SHORTCUT("spatial_editor/align_rotation_with_view", TTR("Align Rotation with View"), KeyModifierMask::ALT + KeyModifierMask::CMD + Key::F); + ED_SHORTCUT("spatial_editor/align_transform_with_view", TTR("Align Transform with View"), KeyModifierMask::ALT + KeyModifierMask::CMD_OR_CTRL + Key::M); + ED_SHORTCUT("spatial_editor/align_rotation_with_view", TTR("Align Rotation with View"), KeyModifierMask::ALT + KeyModifierMask::CMD_OR_CTRL + Key::F); ED_SHORTCUT("spatial_editor/freelook_toggle", TTR("Toggle Freelook"), KeyModifierMask::SHIFT + Key::F); - ED_SHORTCUT("spatial_editor/decrease_fov", TTR("Decrease Field of View"), KeyModifierMask::CMD + Key::EQUAL); // Usually direct access key for `KEY_PLUS`. - ED_SHORTCUT("spatial_editor/increase_fov", TTR("Increase Field of View"), KeyModifierMask::CMD + Key::MINUS); - ED_SHORTCUT("spatial_editor/reset_fov", TTR("Reset Field of View to Default"), KeyModifierMask::CMD + Key::KEY_0); + ED_SHORTCUT("spatial_editor/decrease_fov", TTR("Decrease Field of View"), KeyModifierMask::CMD_OR_CTRL + Key::EQUAL); // Usually direct access key for `KEY_PLUS`. + ED_SHORTCUT("spatial_editor/increase_fov", TTR("Increase Field of View"), KeyModifierMask::CMD_OR_CTRL + Key::MINUS); + ED_SHORTCUT("spatial_editor/reset_fov", TTR("Reset Field of View to Default"), KeyModifierMask::CMD_OR_CTRL + Key::KEY_0); PopupMenu *p; @@ -7940,12 +7946,12 @@ Node3DEditor::Node3DEditor() { accept = memnew(AcceptDialog); EditorNode::get_singleton()->get_gui_base()->add_child(accept); - p->add_radio_check_shortcut(ED_SHORTCUT("spatial_editor/1_viewport", TTR("1 Viewport"), KeyModifierMask::CMD + Key::KEY_1), MENU_VIEW_USE_1_VIEWPORT); - p->add_radio_check_shortcut(ED_SHORTCUT("spatial_editor/2_viewports", TTR("2 Viewports"), KeyModifierMask::CMD + Key::KEY_2), MENU_VIEW_USE_2_VIEWPORTS); - p->add_radio_check_shortcut(ED_SHORTCUT("spatial_editor/2_viewports_alt", TTR("2 Viewports (Alt)"), KeyModifierMask::ALT + KeyModifierMask::CMD + Key::KEY_2), MENU_VIEW_USE_2_VIEWPORTS_ALT); - p->add_radio_check_shortcut(ED_SHORTCUT("spatial_editor/3_viewports", TTR("3 Viewports"), KeyModifierMask::CMD + Key::KEY_3), MENU_VIEW_USE_3_VIEWPORTS); - p->add_radio_check_shortcut(ED_SHORTCUT("spatial_editor/3_viewports_alt", TTR("3 Viewports (Alt)"), KeyModifierMask::ALT + KeyModifierMask::CMD + Key::KEY_3), MENU_VIEW_USE_3_VIEWPORTS_ALT); - p->add_radio_check_shortcut(ED_SHORTCUT("spatial_editor/4_viewports", TTR("4 Viewports"), KeyModifierMask::CMD + Key::KEY_4), MENU_VIEW_USE_4_VIEWPORTS); + p->add_radio_check_shortcut(ED_SHORTCUT("spatial_editor/1_viewport", TTR("1 Viewport"), KeyModifierMask::CMD_OR_CTRL + Key::KEY_1), MENU_VIEW_USE_1_VIEWPORT); + p->add_radio_check_shortcut(ED_SHORTCUT("spatial_editor/2_viewports", TTR("2 Viewports"), KeyModifierMask::CMD_OR_CTRL + Key::KEY_2), MENU_VIEW_USE_2_VIEWPORTS); + p->add_radio_check_shortcut(ED_SHORTCUT("spatial_editor/2_viewports_alt", TTR("2 Viewports (Alt)"), KeyModifierMask::ALT + KeyModifierMask::CMD_OR_CTRL + Key::KEY_2), MENU_VIEW_USE_2_VIEWPORTS_ALT); + p->add_radio_check_shortcut(ED_SHORTCUT("spatial_editor/3_viewports", TTR("3 Viewports"), KeyModifierMask::CMD_OR_CTRL + Key::KEY_3), MENU_VIEW_USE_3_VIEWPORTS); + p->add_radio_check_shortcut(ED_SHORTCUT("spatial_editor/3_viewports_alt", TTR("3 Viewports (Alt)"), KeyModifierMask::ALT + KeyModifierMask::CMD_OR_CTRL + Key::KEY_3), MENU_VIEW_USE_3_VIEWPORTS_ALT); + p->add_radio_check_shortcut(ED_SHORTCUT("spatial_editor/4_viewports", TTR("4 Viewports"), KeyModifierMask::CMD_OR_CTRL + Key::KEY_4), MENU_VIEW_USE_4_VIEWPORTS); p->add_separator(); p->add_submenu_item(TTR("Gizmos"), "GizmosMenu"); @@ -8148,7 +8154,7 @@ Node3DEditor::Node3DEditor() { CenterContainer *sun_direction_center = memnew(CenterContainer); sun_direction = memnew(Control); - sun_direction->set_custom_minimum_size(Size2i(128, 128) * EDSCALE); + sun_direction->set_custom_minimum_size(Size2(128, 128) * EDSCALE); sun_direction_center->add_child(sun_direction); sun_vb->add_margin_child(TTR("Sun Direction"), sun_direction_center); sun_direction->connect("gui_input", callable_mp(this, &Node3DEditor::_sun_direction_input)); @@ -8329,6 +8335,12 @@ void fragment() { } Node3DEditor::~Node3DEditor() { memdelete(preview_node); + if (preview_sun_dangling && preview_sun) { + memdelete(preview_sun); + } + if (preview_env_dangling && preview_environment) { + memdelete(preview_environment); + } } void Node3DEditorPlugin::make_visible(bool p_visible) { @@ -8449,7 +8461,7 @@ void Node3DEditor::remove_gizmo_plugin(Ref<EditorNode3DGizmoPlugin> p_plugin) { Node3DEditorPlugin::Node3DEditorPlugin() { spatial_editor = memnew(Node3DEditor); spatial_editor->set_v_size_flags(Control::SIZE_EXPAND_FILL); - EditorNode::get_singleton()->get_main_control()->add_child(spatial_editor); + EditorNode::get_singleton()->get_main_screen_control()->add_child(spatial_editor); spatial_editor->hide(); } diff --git a/editor/plugins/node_3d_editor_plugin.h b/editor/plugins/node_3d_editor_plugin.h index 580cb878ce..c76f534c22 100644 --- a/editor/plugins/node_3d_editor_plugin.h +++ b/editor/plugins/node_3d_editor_plugin.h @@ -763,7 +763,9 @@ private: Button *sun_environ_settings = nullptr; DirectionalLight3D *preview_sun = nullptr; + bool preview_sun_dangling = false; WorldEnvironment *preview_environment = nullptr; + bool preview_env_dangling = false; Ref<Environment> environment; Ref<CameraAttributesPhysical> camera_attributes; Ref<ProceduralSkyMaterial> sky_material; diff --git a/editor/plugins/path_2d_editor_plugin.cpp b/editor/plugins/path_2d_editor_plugin.cpp index dc6dfd81c2..c8bd4c1d05 100644 --- a/editor/plugins/path_2d_editor_plugin.cpp +++ b/editor/plugins/path_2d_editor_plugin.cpp @@ -150,7 +150,7 @@ bool Path2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) { } // Check for point creation. - if (mb->is_pressed() && mb->get_button_index() == MouseButton::LEFT && ((mb->is_command_pressed() && mode == MODE_EDIT) || mode == MODE_CREATE)) { + if (mb->is_pressed() && mb->get_button_index() == MouseButton::LEFT && ((mb->is_command_or_control_pressed() && mode == MODE_EDIT) || mode == MODE_CREATE)) { Ref<Curve2D> curve = node->get_curve(); undo_redo->create_action(TTR("Add Point to Curve")); @@ -537,7 +537,7 @@ Path2DEditor::Path2DEditor() { curve_edit->set_flat(true); curve_edit->set_toggle_mode(true); curve_edit->set_focus_mode(Control::FOCUS_NONE); - curve_edit->set_tooltip_text(TTR("Select Points") + "\n" + TTR("Shift+Drag: Select Control Points") + "\n" + keycode_get_string((Key)KeyModifierMask::CMD) + TTR("Click: Add Point") + "\n" + TTR("Left Click: Split Segment (in curve)") + "\n" + TTR("Right Click: Delete Point")); + curve_edit->set_tooltip_text(TTR("Select Points") + "\n" + TTR("Shift+Drag: Select Control Points") + "\n" + keycode_get_string((Key)KeyModifierMask::CMD_OR_CTRL) + TTR("Click: Add Point") + "\n" + TTR("Left Click: Split Segment (in curve)") + "\n" + TTR("Right Click: Delete Point")); curve_edit->connect("pressed", callable_mp(this, &Path2DEditor::_mode_selected).bind(MODE_EDIT)); base_hb->add_child(curve_edit); diff --git a/editor/plugins/path_3d_editor_plugin.cpp b/editor/plugins/path_3d_editor_plugin.cpp index 1029b06638..adfaf11264 100644 --- a/editor/plugins/path_3d_editor_plugin.cpp +++ b/editor/plugins/path_3d_editor_plugin.cpp @@ -597,7 +597,7 @@ Path3DEditorPlugin::Path3DEditorPlugin() { curve_edit->set_toggle_mode(true); curve_edit->hide(); curve_edit->set_focus_mode(Control::FOCUS_NONE); - curve_edit->set_tooltip_text(TTR("Select Points") + "\n" + TTR("Shift+Drag: Select Control Points") + "\n" + keycode_get_string((Key)KeyModifierMask::CMD) + TTR("Click: Add Point") + "\n" + TTR("Right Click: Delete Point")); + curve_edit->set_tooltip_text(TTR("Select Points") + "\n" + TTR("Shift+Drag: Select Control Points") + "\n" + keycode_get_string((Key)KeyModifierMask::CMD_OR_CTRL) + TTR("Click: Add Point") + "\n" + TTR("Right Click: Delete Point")); Node3DEditor::get_singleton()->add_control_to_menu_panel(curve_edit); curve_create = memnew(Button); diff --git a/editor/plugins/polygon_2d_editor_plugin.cpp b/editor/plugins/polygon_2d_editor_plugin.cpp index a652d1d12f..58a3a07c43 100644 --- a/editor/plugins/polygon_2d_editor_plugin.cpp +++ b/editor/plugins/polygon_2d_editor_plugin.cpp @@ -94,8 +94,8 @@ void Polygon2DEditor::_notification(int p_what) { [[fallthrough]]; } case NOTIFICATION_THEME_CHANGED: { - uv_edit_draw->add_theme_style_override("panel", get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); - bone_scroll->add_theme_style_override("bg", get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); + uv_edit_draw->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); + bone_scroll->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); } break; case NOTIFICATION_VISIBILITY_CHANGED: { @@ -627,11 +627,11 @@ void Polygon2DEditor::_uv_input(const Ref<InputEvent> &p_input) { } if (uv_move_current == UV_MODE_EDIT_POINT) { - if (mb->is_shift_pressed() && mb->is_command_pressed()) { + if (mb->is_shift_pressed() && mb->is_command_or_control_pressed()) { uv_move_current = UV_MODE_SCALE; } else if (mb->is_shift_pressed()) { uv_move_current = UV_MODE_MOVE; - } else if (mb->is_command_pressed()) { + } else if (mb->is_command_or_control_pressed()) { uv_move_current = UV_MODE_ROTATE; } } diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp index ad114e022f..0a111aeb49 100644 --- a/editor/plugins/script_editor_plugin.cpp +++ b/editor/plugins/script_editor_plugin.cpp @@ -882,7 +882,7 @@ void ScriptEditor::_queue_close_tabs() { // Maybe there are unsaved changes. if (se->is_unsaved()) { _ask_close_current_unsaved_tab(se); - erase_tab_confirm->connect(SceneStringNames::get_singleton()->visibility_changed, callable_mp(this, &ScriptEditor::_queue_close_tabs), CONNECT_ONESHOT); + erase_tab_confirm->connect(SceneStringNames::get_singleton()->visibility_changed, callable_mp(this, &ScriptEditor::_queue_close_tabs), CONNECT_ONE_SHOT); break; } } @@ -3363,15 +3363,15 @@ void ScriptEditor::_update_selected_editor_menu() { EditorHelp *eh = Object::cast_to<EditorHelp>(tab_container->get_current_tab_control()); script_search_menu->get_popup()->clear(); if (eh) { - script_search_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/find", TTR("Find..."), KeyModifierMask::CMD | Key::F), HELP_SEARCH_FIND); + script_search_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/find", TTR("Find..."), KeyModifierMask::CMD_OR_CTRL | Key::F), HELP_SEARCH_FIND); script_search_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/find_next", TTR("Find Next"), Key::F3), HELP_SEARCH_FIND_NEXT); script_search_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/find_previous", TTR("Find Previous"), KeyModifierMask::SHIFT | Key::F3), HELP_SEARCH_FIND_PREVIOUS); script_search_menu->get_popup()->add_separator(); - script_search_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/find_in_files", TTR("Find in Files"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::F), SEARCH_IN_FILES); + script_search_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/find_in_files", TTR("Find in Files"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::F), SEARCH_IN_FILES); script_search_menu->show(); } else { if (tab_container->get_tab_count() == 0) { - script_search_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/find_in_files", TTR("Find in Files"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::F), SEARCH_IN_FILES); + script_search_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/find_in_files", TTR("Find in Files"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::F), SEARCH_IN_FILES); script_search_menu->show(); } else { script_search_menu->hide(); @@ -3757,8 +3757,8 @@ ScriptEditor::ScriptEditor() { ED_SHORTCUT("script_editor/window_move_up", TTR("Move Up"), KeyModifierMask::SHIFT | KeyModifierMask::ALT | Key::UP); ED_SHORTCUT("script_editor/window_move_down", TTR("Move Down"), KeyModifierMask::SHIFT | KeyModifierMask::ALT | Key::DOWN); // FIXME: These should be `Key::GREATER` and `Key::LESS` but those don't work. - ED_SHORTCUT("script_editor/next_script", TTR("Next Script"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::PERIOD); - ED_SHORTCUT("script_editor/prev_script", TTR("Previous Script"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::COMMA); + ED_SHORTCUT("script_editor/next_script", TTR("Next Script"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::PERIOD); + ED_SHORTCUT("script_editor/prev_script", TTR("Previous Script"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::COMMA); set_process_input(true); set_process_shortcut_input(true); @@ -3768,10 +3768,10 @@ ScriptEditor::ScriptEditor() { file_menu->set_shortcut_context(this); menu_hb->add_child(file_menu); - file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/new", TTR("New Script..."), KeyModifierMask::CMD | Key::N), FILE_NEW); - file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/new_textfile", TTR("New Text File..."), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::N), FILE_NEW_TEXTFILE); + file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/new", TTR("New Script..."), KeyModifierMask::CMD_OR_CTRL | Key::N), FILE_NEW); + file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/new_textfile", TTR("New Text File..."), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::N), FILE_NEW_TEXTFILE); file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/open", TTR("Open...")), FILE_OPEN); - file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/reopen_closed_script", TTR("Reopen Closed Script"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::T), FILE_REOPEN_CLOSED); + file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/reopen_closed_script", TTR("Reopen Closed Script"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::T), FILE_REOPEN_CLOSED); file_menu->get_popup()->add_submenu_item(TTR("Open Recent"), "RecentScripts", FILE_OPEN_RECENT); recent_scripts = memnew(PopupMenu); @@ -3781,11 +3781,11 @@ ScriptEditor::ScriptEditor() { _update_recent_scripts(); file_menu->get_popup()->add_separator(); - file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/save", TTR("Save"), KeyModifierMask::ALT | KeyModifierMask::CMD | Key::S), FILE_SAVE); + file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/save", TTR("Save"), KeyModifierMask::ALT | KeyModifierMask::CMD_OR_CTRL | Key::S), FILE_SAVE); file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/save_as", TTR("Save As...")), FILE_SAVE_AS); file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/save_all", TTR("Save All"), KeyModifierMask::SHIFT | KeyModifierMask::ALT | Key::S), FILE_SAVE_ALL); file_menu->get_popup()->add_separator(); - file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/reload_script_soft", TTR("Soft Reload Tool Script"), KeyModifierMask::CMD | KeyModifierMask::ALT | Key::R), FILE_TOOL_RELOAD_SOFT); + file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/reload_script_soft", TTR("Soft Reload Tool Script"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::ALT | Key::R), FILE_TOOL_RELOAD_SOFT); file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/copy_path", TTR("Copy Script Path")), FILE_COPY_PATH); file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/show_in_file_system", TTR("Show in FileSystem")), SHOW_IN_FILE_SYSTEM); file_menu->get_popup()->add_separator(); @@ -3808,16 +3808,16 @@ ScriptEditor::ScriptEditor() { theme_submenu->add_shortcut(ED_SHORTCUT("script_editor/save_theme_as", TTR("Save Theme As...")), THEME_SAVE_AS); file_menu->get_popup()->add_separator(); - file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/close_file", TTR("Close"), KeyModifierMask::CMD | Key::W), FILE_CLOSE); + file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/close_file", TTR("Close"), KeyModifierMask::CMD_OR_CTRL | Key::W), FILE_CLOSE); file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/close_all", TTR("Close All")), CLOSE_ALL); file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/close_other_tabs", TTR("Close Other Tabs")), CLOSE_OTHER_TABS); file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/close_docs", TTR("Close Docs")), CLOSE_DOCS); file_menu->get_popup()->add_separator(); - file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/run_file", TTR("Run"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::X), FILE_RUN); + file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/run_file", TTR("Run"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::X), FILE_RUN); file_menu->get_popup()->add_separator(); - file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/toggle_scripts_panel", TTR("Toggle Scripts Panel"), KeyModifierMask::CMD | Key::BACKSLASH), TOGGLE_SCRIPTS_PANEL); + file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/toggle_scripts_panel", TTR("Toggle Scripts Panel"), KeyModifierMask::CMD_OR_CTRL | Key::BACKSLASH), TOGGLE_SCRIPTS_PANEL); file_menu->get_popup()->connect("id_pressed", callable_mp(this, &ScriptEditor::_menu_option)); file_menu->get_popup()->connect("about_to_popup", callable_mp(this, &ScriptEditor::_prepare_file_menu)); @@ -4049,7 +4049,7 @@ void ScriptEditorPlugin::edited_scene_changed() { ScriptEditorPlugin::ScriptEditorPlugin() { script_editor = memnew(ScriptEditor); - EditorNode::get_singleton()->get_main_control()->add_child(script_editor); + EditorNode::get_singleton()->get_main_screen_control()->add_child(script_editor); script_editor->set_v_size_flags(Control::SIZE_EXPAND_FILL); script_editor->hide(); @@ -4070,7 +4070,7 @@ ScriptEditorPlugin::ScriptEditorPlugin() { EDITOR_DEF("text_editor/external/exec_flags", "{file}"); EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::STRING, "text_editor/external/exec_flags", PROPERTY_HINT_PLACEHOLDER_TEXT, "Call flags with placeholders: {project}, {file}, {col}, {line}.")); - ED_SHORTCUT("script_editor/reopen_closed_script", TTR("Reopen Closed Script"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::T); + ED_SHORTCUT("script_editor/reopen_closed_script", TTR("Reopen Closed Script"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::T); ED_SHORTCUT("script_editor/clear_recent", TTR("Clear Recent Scripts")); } diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp index fff956a05e..42dcfb8b1f 100644 --- a/editor/plugins/script_text_editor.cpp +++ b/editor/plugins/script_text_editor.cpp @@ -340,7 +340,9 @@ void ScriptTextEditor::set_edit_state(const Variant &p_state) { } if (editor_enabled) { +#ifndef ANDROID_ENABLED ensure_focus(); +#endif } } @@ -2070,58 +2072,58 @@ static ScriptEditorBase *create_editor(const Ref<Resource> &p_resource) { void ScriptTextEditor::register_editor() { ED_SHORTCUT("script_text_editor/move_up", TTR("Move Up"), KeyModifierMask::ALT | Key::UP); ED_SHORTCUT("script_text_editor/move_down", TTR("Move Down"), KeyModifierMask::ALT | Key::DOWN); - ED_SHORTCUT("script_text_editor/delete_line", TTR("Delete Line"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::K); + ED_SHORTCUT("script_text_editor/delete_line", TTR("Delete Line"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::K); // Leave these at zero, same can be accomplished with tab/shift-tab, including selection. // The next/previous in history shortcut in this case makes a lot more sense. ED_SHORTCUT("script_text_editor/indent_left", TTR("Indent Left"), Key::NONE); ED_SHORTCUT("script_text_editor/indent_right", TTR("Indent Right"), Key::NONE); - ED_SHORTCUT("script_text_editor/toggle_comment", TTR("Toggle Comment"), KeyModifierMask::CMD | Key::K); + ED_SHORTCUT("script_text_editor/toggle_comment", TTR("Toggle Comment"), KeyModifierMask::CMD_OR_CTRL | Key::K); ED_SHORTCUT("script_text_editor/toggle_fold_line", TTR("Fold/Unfold Line"), KeyModifierMask::ALT | Key::F); ED_SHORTCUT("script_text_editor/fold_all_lines", TTR("Fold All Lines"), Key::NONE); ED_SHORTCUT("script_text_editor/unfold_all_lines", TTR("Unfold All Lines"), Key::NONE); - ED_SHORTCUT("script_text_editor/duplicate_selection", TTR("Duplicate Selection"), KeyModifierMask::SHIFT | KeyModifierMask::CMD | Key::D); - ED_SHORTCUT_OVERRIDE("script_text_editor/duplicate_selection", "macos", KeyModifierMask::SHIFT | KeyModifierMask::CMD | Key::C); - ED_SHORTCUT("script_text_editor/evaluate_selection", TTR("Evaluate Selection"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::E); - ED_SHORTCUT("script_text_editor/trim_trailing_whitespace", TTR("Trim Trailing Whitespace"), KeyModifierMask::CMD | KeyModifierMask::ALT | Key::T); - ED_SHORTCUT("script_text_editor/convert_indent_to_spaces", TTR("Convert Indent to Spaces"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::Y); - ED_SHORTCUT("script_text_editor/convert_indent_to_tabs", TTR("Convert Indent to Tabs"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::I); - ED_SHORTCUT("script_text_editor/auto_indent", TTR("Auto Indent"), KeyModifierMask::CMD | Key::I); + ED_SHORTCUT("script_text_editor/duplicate_selection", TTR("Duplicate Selection"), KeyModifierMask::SHIFT | KeyModifierMask::CTRL | Key::D); + ED_SHORTCUT_OVERRIDE("script_text_editor/duplicate_selection", "macos", KeyModifierMask::SHIFT | KeyModifierMask::META | Key::C); + ED_SHORTCUT("script_text_editor/evaluate_selection", TTR("Evaluate Selection"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::E); + ED_SHORTCUT("script_text_editor/trim_trailing_whitespace", TTR("Trim Trailing Whitespace"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::ALT | Key::T); + ED_SHORTCUT("script_text_editor/convert_indent_to_spaces", TTR("Convert Indent to Spaces"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::Y); + ED_SHORTCUT("script_text_editor/convert_indent_to_tabs", TTR("Convert Indent to Tabs"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::I); + ED_SHORTCUT("script_text_editor/auto_indent", TTR("Auto Indent"), KeyModifierMask::CMD_OR_CTRL | Key::I); - ED_SHORTCUT_AND_COMMAND("script_text_editor/find", TTR("Find..."), KeyModifierMask::CMD | Key::F); + ED_SHORTCUT_AND_COMMAND("script_text_editor/find", TTR("Find..."), KeyModifierMask::CMD_OR_CTRL | Key::F); ED_SHORTCUT("script_text_editor/find_next", TTR("Find Next"), Key::F3); - ED_SHORTCUT_OVERRIDE("script_text_editor/find_next", "macos", KeyModifierMask::CMD | Key::G); + ED_SHORTCUT_OVERRIDE("script_text_editor/find_next", "macos", KeyModifierMask::META | Key::G); ED_SHORTCUT("script_text_editor/find_previous", TTR("Find Previous"), KeyModifierMask::SHIFT | Key::F3); - ED_SHORTCUT_OVERRIDE("script_text_editor/find_previous", "macos", KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::G); + ED_SHORTCUT_OVERRIDE("script_text_editor/find_previous", "macos", KeyModifierMask::META | KeyModifierMask::SHIFT | Key::G); - ED_SHORTCUT_AND_COMMAND("script_text_editor/replace", TTR("Replace..."), KeyModifierMask::CMD | Key::R); - ED_SHORTCUT_OVERRIDE("script_text_editor/replace", "macos", KeyModifierMask::ALT | KeyModifierMask::CMD | Key::F); + ED_SHORTCUT_AND_COMMAND("script_text_editor/replace", TTR("Replace..."), KeyModifierMask::CTRL | Key::R); + ED_SHORTCUT_OVERRIDE("script_text_editor/replace", "macos", KeyModifierMask::ALT | KeyModifierMask::META | Key::F); - ED_SHORTCUT("script_text_editor/find_in_files", TTR("Find in Files..."), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::F); - ED_SHORTCUT("script_text_editor/replace_in_files", TTR("Replace in Files..."), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::R); + ED_SHORTCUT("script_text_editor/find_in_files", TTR("Find in Files..."), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::F); + ED_SHORTCUT("script_text_editor/replace_in_files", TTR("Replace in Files..."), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::R); ED_SHORTCUT("script_text_editor/contextual_help", TTR("Contextual Help"), KeyModifierMask::ALT | Key::F1); ED_SHORTCUT_OVERRIDE("script_text_editor/contextual_help", "macos", KeyModifierMask::ALT | KeyModifierMask::SHIFT | Key::SPACE); - ED_SHORTCUT("script_text_editor/toggle_bookmark", TTR("Toggle Bookmark"), KeyModifierMask::CMD | KeyModifierMask::ALT | Key::B); - ED_SHORTCUT("script_text_editor/goto_next_bookmark", TTR("Go to Next Bookmark"), KeyModifierMask::CMD | Key::B); - ED_SHORTCUT("script_text_editor/goto_previous_bookmark", TTR("Go to Previous Bookmark"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::B); + ED_SHORTCUT("script_text_editor/toggle_bookmark", TTR("Toggle Bookmark"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::ALT | Key::B); + ED_SHORTCUT("script_text_editor/goto_next_bookmark", TTR("Go to Next Bookmark"), KeyModifierMask::CMD_OR_CTRL | Key::B); + ED_SHORTCUT("script_text_editor/goto_previous_bookmark", TTR("Go to Previous Bookmark"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::B); ED_SHORTCUT("script_text_editor/remove_all_bookmarks", TTR("Remove All Bookmarks"), Key::NONE); - ED_SHORTCUT("script_text_editor/goto_function", TTR("Go to Function..."), KeyModifierMask::ALT | KeyModifierMask::CMD | Key::F); - ED_SHORTCUT_OVERRIDE("script_text_editor/goto_function", "macos", KeyModifierMask::CTRL | KeyModifierMask::CMD | Key::J); + ED_SHORTCUT("script_text_editor/goto_function", TTR("Go to Function..."), KeyModifierMask::ALT | KeyModifierMask::CTRL | Key::F); + ED_SHORTCUT_OVERRIDE("script_text_editor/goto_function", "macos", KeyModifierMask::CTRL | KeyModifierMask::META | Key::J); - ED_SHORTCUT("script_text_editor/goto_line", TTR("Go to Line..."), KeyModifierMask::CMD | Key::L); + ED_SHORTCUT("script_text_editor/goto_line", TTR("Go to Line..."), KeyModifierMask::CMD_OR_CTRL | Key::L); ED_SHORTCUT("script_text_editor/toggle_breakpoint", TTR("Toggle Breakpoint"), Key::F9); - ED_SHORTCUT_OVERRIDE("script_text_editor/toggle_breakpoint", "macos", KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::B); + ED_SHORTCUT_OVERRIDE("script_text_editor/toggle_breakpoint", "macos", KeyModifierMask::META | KeyModifierMask::SHIFT | Key::B); - ED_SHORTCUT("script_text_editor/remove_all_breakpoints", TTR("Remove All Breakpoints"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::F9); - ED_SHORTCUT("script_text_editor/goto_next_breakpoint", TTR("Go to Next Breakpoint"), KeyModifierMask::CMD | Key::PERIOD); - ED_SHORTCUT("script_text_editor/goto_previous_breakpoint", TTR("Go to Previous Breakpoint"), KeyModifierMask::CMD | Key::COMMA); + ED_SHORTCUT("script_text_editor/remove_all_breakpoints", TTR("Remove All Breakpoints"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::F9); + ED_SHORTCUT("script_text_editor/goto_next_breakpoint", TTR("Go to Next Breakpoint"), KeyModifierMask::CMD_OR_CTRL | Key::PERIOD); + ED_SHORTCUT("script_text_editor/goto_previous_breakpoint", TTR("Go to Previous Breakpoint"), KeyModifierMask::CMD_OR_CTRL | Key::COMMA); ScriptEditor::register_create_script_editor_function(create_editor); } diff --git a/editor/plugins/shader_editor_plugin.cpp b/editor/plugins/shader_editor_plugin.cpp index 246bc4b183..815a61f8ac 100644 --- a/editor/plugins/shader_editor_plugin.cpp +++ b/editor/plugins/shader_editor_plugin.cpp @@ -1366,6 +1366,7 @@ void ShaderEditorPlugin::_shader_selected(int p_index) { edited_shaders[p_index].shader_editor->validate_script(); } shader_tabs->set_current_tab(p_index); + shader_list->select(p_index); } void ShaderEditorPlugin::_shader_list_clicked(int p_item, Vector2 p_local_mouse_pos, MouseButton p_mouse_button_index) { diff --git a/editor/plugins/shader_editor_plugin.h b/editor/plugins/shader_editor_plugin.h index afd38ef71a..f48b2fc70e 100644 --- a/editor/plugins/shader_editor_plugin.h +++ b/editor/plugins/shader_editor_plugin.h @@ -115,8 +115,8 @@ public: ShaderTextEditor(); }; -class ShaderEditor : public PanelContainer { - GDCLASS(ShaderEditor, PanelContainer); +class ShaderEditor : public MarginContainer { + GDCLASS(ShaderEditor, MarginContainer); enum { EDIT_UNDO, diff --git a/editor/plugins/skeleton_2d_editor_plugin.cpp b/editor/plugins/skeleton_2d_editor_plugin.cpp index 3dc068a72a..dbad81d743 100644 --- a/editor/plugins/skeleton_2d_editor_plugin.cpp +++ b/editor/plugins/skeleton_2d_editor_plugin.cpp @@ -131,7 +131,7 @@ void Skeleton2DEditorPlugin::make_visible(bool p_visible) { Skeleton2DEditorPlugin::Skeleton2DEditorPlugin() { sprite_editor = memnew(Skeleton2DEditor); - EditorNode::get_singleton()->get_main_control()->add_child(sprite_editor); + EditorNode::get_singleton()->get_main_screen_control()->add_child(sprite_editor); make_visible(false); //sprite_editor->options->hide(); diff --git a/editor/plugins/skeleton_3d_editor_plugin.cpp b/editor/plugins/skeleton_3d_editor_plugin.cpp index 15ae4ffcff..2478ac9514 100644 --- a/editor/plugins/skeleton_3d_editor_plugin.cpp +++ b/editor/plugins/skeleton_3d_editor_plugin.cpp @@ -785,7 +785,7 @@ void Skeleton3DEditor::create_editors() { key_insert_all_button->set_focus_mode(FOCUS_NONE); key_insert_all_button->connect("pressed", callable_mp(this, &Skeleton3DEditor::insert_keys).bind(true)); key_insert_all_button->set_tooltip_text(TTR("Insert key of all bone poses.")); - key_insert_all_button->set_shortcut(ED_SHORTCUT("skeleton_3d_editor/insert_key_of_all_bones", TTR("Insert Key (All Bones)"), KeyModifierMask::CMD + Key::INSERT)); + key_insert_all_button->set_shortcut(ED_SHORTCUT("skeleton_3d_editor/insert_key_of_all_bones", TTR("Insert Key (All Bones)"), KeyModifierMask::CMD_OR_CTRL + Key::INSERT)); animation_hb->add_child(key_insert_all_button); // Bone tree. @@ -835,7 +835,7 @@ void Skeleton3DEditor::_notification(int p_what) { skeleton->connect("show_rest_only_changed", callable_mp(this, &Skeleton3DEditor::_update_gizmo_visible)); #endif - get_tree()->connect("node_removed", callable_mp(this, &Skeleton3DEditor::_node_removed), Object::CONNECT_ONESHOT); + get_tree()->connect("node_removed", callable_mp(this, &Skeleton3DEditor::_node_removed), Object::CONNECT_ONE_SHOT); } break; case NOTIFICATION_READY: { // Will trigger NOTIFICATION_THEME_CHANGED, but won't cause any loops if called here. @@ -852,6 +852,20 @@ void Skeleton3DEditor::_notification(int p_what) { update_joint_tree(); } break; + case NOTIFICATION_PREDELETE: { + if (skeleton) { + select_bone(-1); // Requires that the joint_tree has not been deleted. +#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)); + skeleton->disconnect("pose_updated", callable_mp(this, &Skeleton3DEditor::_draw_gizmo)); + skeleton->disconnect("pose_updated", callable_mp(this, &Skeleton3DEditor::_update_properties)); + skeleton->set_transform_gizmo_visible(true); +#endif + handles_mesh_instance->get_parent()->remove_child(handles_mesh_instance); + } + edit_mode_toggled(false); + } break; } } @@ -1066,18 +1080,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)); - skeleton->disconnect("pose_updated", callable_mp(this, &Skeleton3DEditor::_draw_gizmo)); - skeleton->disconnect("pose_updated", callable_mp(this, &Skeleton3DEditor::_update_properties)); - skeleton->set_transform_gizmo_visible(true); -#endif - handles_mesh_instance->get_parent()->remove_child(handles_mesh_instance); - } - edit_mode_toggled(false); + singleton = nullptr; handles_mesh_instance->queue_delete(); @@ -1128,7 +1131,7 @@ Skeleton3DEditorPlugin::Skeleton3DEditorPlugin() { EditorPlugin::AfterGUIInput Skeleton3DEditorPlugin::forward_spatial_gui_input(Camera3D *p_camera, const Ref<InputEvent> &p_event) { Skeleton3DEditor *se = Skeleton3DEditor::get_singleton(); Node3DEditor *ne = Node3DEditor::get_singleton(); - if (se->is_edit_mode()) { + if (se && se->is_edit_mode()) { const Ref<InputEventMouseButton> mb = p_event; if (mb.is_valid() && mb->get_button_index() == MouseButton::LEFT) { if (ne->get_tool_mode() != Node3DEditor::TOOL_MODE_SELECT) { @@ -1140,7 +1143,7 @@ EditorPlugin::AfterGUIInput Skeleton3DEditorPlugin::forward_spatial_gui_input(Ca se->update_bone_original(); } } - return EditorPlugin::AFTER_GUI_INPUT_DESELECT; + return EditorPlugin::AFTER_GUI_INPUT_CUSTOM; } return EditorPlugin::AFTER_GUI_INPUT_PASS; } diff --git a/editor/plugins/sprite_2d_editor_plugin.cpp b/editor/plugins/sprite_2d_editor_plugin.cpp index 615fd5dba9..b78b70cd5c 100644 --- a/editor/plugins/sprite_2d_editor_plugin.cpp +++ b/editor/plugins/sprite_2d_editor_plugin.cpp @@ -604,7 +604,7 @@ void Sprite2DEditorPlugin::make_visible(bool p_visible) { Sprite2DEditorPlugin::Sprite2DEditorPlugin() { sprite_editor = memnew(Sprite2DEditor); - EditorNode::get_singleton()->get_main_control()->add_child(sprite_editor); + EditorNode::get_singleton()->get_main_screen_control()->add_child(sprite_editor); make_visible(false); //sprite_editor->options->hide(); diff --git a/editor/plugins/sprite_frames_editor_plugin.cpp b/editor/plugins/sprite_frames_editor_plugin.cpp index 9508835442..d0a1ddafa1 100644 --- a/editor/plugins/sprite_frames_editor_plugin.cpp +++ b/editor/plugins/sprite_frames_editor_plugin.cpp @@ -428,7 +428,7 @@ void SpriteFramesEditor::_notification(int p_what) { split_sheet_zoom_out->set_icon(get_theme_icon(SNAME("ZoomLess"), SNAME("EditorIcons"))); split_sheet_zoom_reset->set_icon(get_theme_icon(SNAME("ZoomReset"), SNAME("EditorIcons"))); split_sheet_zoom_in->set_icon(get_theme_icon(SNAME("ZoomMore"), SNAME("EditorIcons"))); - split_sheet_scroll->add_theme_style_override("bg", get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); + split_sheet_scroll->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); } break; case NOTIFICATION_READY: { @@ -984,11 +984,17 @@ void SpriteFramesEditor::_update_library(bool p_skip_selector) { } void SpriteFramesEditor::edit(SpriteFrames *p_frames) { - if (frames == p_frames) { + bool new_read_only_state = false; + if (p_frames) { + new_read_only_state = EditorNode::get_singleton()->is_resource_read_only(p_frames); + } + + if (frames == p_frames && new_read_only_state == read_only) { return; } frames = p_frames; + read_only = new_read_only_state; if (p_frames) { if (!p_frames->has_animation(edited_anim)) { @@ -1009,6 +1015,20 @@ void SpriteFramesEditor::edit(SpriteFrames *p_frames) { } else { hide(); } + + new_anim->set_disabled(read_only); + remove_anim->set_disabled(read_only); + anim_speed->set_editable(!read_only); + anim_loop->set_disabled(read_only); + load->set_disabled(read_only); + load_sheet->set_disabled(read_only); + copy->set_disabled(read_only); + paste->set_disabled(read_only); + empty->set_disabled(read_only); + empty2->set_disabled(read_only); + move_up->set_disabled(read_only); + move_down->set_disabled(read_only); + _delete->set_disabled(read_only); } void SpriteFramesEditor::set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo) { @@ -1016,6 +1036,10 @@ void SpriteFramesEditor::set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo) { } Variant SpriteFramesEditor::get_drag_data_fw(const Point2 &p_point, Control *p_from) { + if (read_only) { + return false; + } + if (!frames->has_animation(edited_anim)) { return false; } @@ -1038,6 +1062,10 @@ Variant SpriteFramesEditor::get_drag_data_fw(const Point2 &p_point, Control *p_f } bool SpriteFramesEditor::can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const { + if (read_only) { + return false; + } + Dictionary d = p_data; if (!d.has("type")) { @@ -1169,6 +1197,7 @@ SpriteFramesEditor::SpriteFramesEditor() { remove_anim->set_flat(true); remove_anim->set_tooltip_text(TTR("Remove Animation")); hbc_animlist->add_child(remove_anim); + remove_anim->set_disabled(true); remove_anim->connect("pressed", callable_mp(this, &SpriteFramesEditor::_animation_remove)); anim_search_box = memnew(LineEdit); diff --git a/editor/plugins/sprite_frames_editor_plugin.h b/editor/plugins/sprite_frames_editor_plugin.h index f2530b732f..092f556c63 100644 --- a/editor/plugins/sprite_frames_editor_plugin.h +++ b/editor/plugins/sprite_frames_editor_plugin.h @@ -57,6 +57,8 @@ class SpriteFramesEditor : public HSplitContainer { }; int dominant_param = PARAM_FRAME_COUNT; + bool read_only = false; + Button *load = nullptr; Button *load_sheet = nullptr; Button *_delete = nullptr; diff --git a/editor/plugins/texture_region_editor_plugin.cpp b/editor/plugins/texture_region_editor_plugin.cpp index f0e3619060..8e04391a94 100644 --- a/editor/plugins/texture_region_editor_plugin.cpp +++ b/editor/plugins/texture_region_editor_plugin.cpp @@ -823,7 +823,7 @@ void TextureRegionEditor::_notification(int p_what) { switch (p_what) { case NOTIFICATION_ENTER_TREE: case NOTIFICATION_THEME_CHANGED: { - edit_draw->add_theme_style_override("panel", get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); + edit_draw->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); } break; case NOTIFICATION_READY: { zoom_out->set_icon(get_theme_icon(SNAME("ZoomLess"), SNAME("EditorIcons"))); diff --git a/editor/plugins/theme_editor_plugin.cpp b/editor/plugins/theme_editor_plugin.cpp index f6acd8ceda..1fb9b42449 100644 --- a/editor/plugins/theme_editor_plugin.cpp +++ b/editor/plugins/theme_editor_plugin.cpp @@ -1186,7 +1186,7 @@ ThemeItemImportTree::ThemeItemImportTree() { void ThemeItemEditorDialog::ok_pressed() { if (import_default_theme_items->has_selected_items() || import_editor_theme_items->has_selected_items() || import_other_theme_items->has_selected_items()) { confirm_closing_dialog->set_text(TTR("Import Items tab has some items selected. Selection will be lost upon closing this window.\nClose anyway?")); - confirm_closing_dialog->popup_centered(Size2i(380, 120) * EDSCALE); + confirm_closing_dialog->popup_centered(Size2(380, 120) * EDSCALE); return; } diff --git a/editor/plugins/tiles/atlas_merging_dialog.cpp b/editor/plugins/tiles/atlas_merging_dialog.cpp index de4f3f7989..d7e08db954 100644 --- a/editor/plugins/tiles/atlas_merging_dialog.cpp +++ b/editor/plugins/tiles/atlas_merging_dialog.cpp @@ -269,7 +269,7 @@ AtlasMergingDialog::AtlasMergingDialog() { // Atlas sources item list. atlas_merging_atlases_list = memnew(ItemList); - atlas_merging_atlases_list->set_fixed_icon_size(Size2i(60, 60) * EDSCALE); + atlas_merging_atlases_list->set_fixed_icon_size(Size2(60, 60) * EDSCALE); atlas_merging_atlases_list->set_h_size_flags(Control::SIZE_EXPAND_FILL); atlas_merging_atlases_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); atlas_merging_atlases_list->set_texture_filter(CanvasItem::TEXTURE_FILTER_NEAREST); diff --git a/editor/plugins/tiles/tile_data_editors.cpp b/editor/plugins/tiles/tile_data_editors.cpp index 1dce41e4c7..4d54001b94 100644 --- a/editor/plugins/tiles/tile_data_editors.cpp +++ b/editor/plugins/tiles/tile_data_editors.cpp @@ -40,6 +40,10 @@ #include "editor/editor_scale.h" #include "editor/editor_undo_redo_manager.h" +#ifdef DEBUG_ENABLED +#include "servers/navigation_server_3d.h" +#endif // DEBUG_ENABLED + void TileDataEditor::_tile_set_changed_plan_update() { _tile_set_changed_update_needed = true; call_deferred(SNAME("_tile_set_changed_deferred_update")); @@ -2674,7 +2678,9 @@ void TileDataNavigationEditor::_tile_set_changed() { void TileDataNavigationEditor::_notification(int p_what) { switch (p_what) { case NOTIFICATION_ENTER_TREE: { - polygon_editor->set_polygons_color(get_tree()->get_debug_navigation_color()); +#ifdef DEBUG_ENABLED + polygon_editor->set_polygons_color(NavigationServer3D::get_singleton()->get_debug_navigation_geometry_face_color()); +#endif // DEBUG_ENABLED } break; } } @@ -2701,7 +2707,10 @@ void TileDataNavigationEditor::draw_over_tile(CanvasItem *p_canvas_item, Transfo return; } - Color color = p_canvas_item->get_tree()->get_debug_navigation_color(); + Color color = Color(0.5, 1.0, 1.0, 1.0); +#ifdef DEBUG_ENABLED + color = NavigationServer3D::get_singleton()->get_debug_navigation_geometry_face_color(); +#endif // DEBUG_ENABLED if (p_selected) { Color grid_color = EditorSettings::get_singleton()->get("editors/tiles_editor/grid_color"); Color selection_color = Color().from_hsv(Math::fposmod(grid_color.get_h() + 0.5, 1.0), grid_color.get_s(), grid_color.get_v(), 1.0); diff --git a/editor/plugins/tiles/tile_map_editor.cpp b/editor/plugins/tiles/tile_map_editor.cpp index ec406ef9ba..79230891f1 100644 --- a/editor/plugins/tiles/tile_map_editor.cpp +++ b/editor/plugins/tiles/tile_map_editor.cpp @@ -577,7 +577,7 @@ bool TileMapEditorTilesPlugin::forward_canvas_gui_input(const Ref<InputEvent> &p _fix_invalid_tiles_in_tile_map_selection(); } break; case DRAG_TYPE_BUCKET: { - Vector<Vector2i> line = TileMapEditor::get_line(tile_map, tile_map->world_to_map(drag_last_mouse_pos), tile_map->world_to_map(mpos)); + Vector<Vector2i> line = TileMapEditor::get_line(tile_map, tile_map->local_to_map(drag_last_mouse_pos), tile_map->local_to_map(mpos)); for (int i = 0; i < line.size(); i++) { if (!drag_modified.has(line[i])) { HashMap<Vector2i, TileMapCell> to_draw = _draw_bucket_fill(line[i], bucket_contiguous_checkbox->is_pressed(), drag_erasing); @@ -624,7 +624,7 @@ bool TileMapEditorTilesPlugin::forward_canvas_gui_input(const Ref<InputEvent> &p } } 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()) { + if (tile_map_selection.has(tile_map->local_to_map(drag_start_mouse_pos)) && !mb->is_shift_pressed()) { // Move the selection _update_selection_pattern_from_tilemap_selection(); // Make sure the pattern is up to date before moving. drag_type = DRAG_TYPE_MOVE; @@ -673,7 +673,7 @@ bool TileMapEditorTilesPlugin::forward_canvas_gui_input(const Ref<InputEvent> &p drag_type = DRAG_TYPE_BUCKET; drag_start_mouse_pos = mpos; drag_modified.clear(); - Vector<Vector2i> line = TileMapEditor::get_line(tile_map, tile_map->world_to_map(drag_last_mouse_pos), tile_map->world_to_map(mpos)); + Vector<Vector2i> line = TileMapEditor::get_line(tile_map, tile_map->local_to_map(drag_last_mouse_pos), tile_map->local_to_map(mpos)); for (int i = 0; i < line.size(); i++) { if (!drag_modified.has(line[i])) { HashMap<Vector2i, TileMapCell> to_draw = _draw_bucket_fill(line[i], bucket_contiguous_checkbox->is_pressed(), drag_erasing); @@ -752,14 +752,14 @@ void TileMapEditorTilesPlugin::forward_canvas_draw_over_viewport(Control *p_over if (drag_type == DRAG_TYPE_PICK) { // Draw the area being picked. - Rect2i rect = Rect2i(tile_map->world_to_map(drag_start_mouse_pos), tile_map->world_to_map(drag_last_mouse_pos) - tile_map->world_to_map(drag_start_mouse_pos)).abs(); + Rect2i rect = Rect2i(tile_map->local_to_map(drag_start_mouse_pos), tile_map->local_to_map(drag_last_mouse_pos) - tile_map->local_to_map(drag_start_mouse_pos)).abs(); rect.size += Vector2i(1, 1); for (int x = rect.position.x; x < rect.get_end().x; x++) { for (int y = rect.position.y; y < rect.get_end().y; y++) { Vector2i coords = Vector2i(x, y); if (tile_map->get_cell_source_id(tile_map_layer, coords) != TileSet::INVALID_SOURCE) { Transform2D tile_xform; - tile_xform.set_origin(tile_map->map_to_world(coords)); + tile_xform.set_origin(tile_map->map_to_local(coords)); tile_xform.set_scale(tile_shape_size); tile_set->draw_tile_shape(p_overlay, xform * tile_xform, Color(1.0, 1.0, 1.0), false); } @@ -767,7 +767,7 @@ void TileMapEditorTilesPlugin::forward_canvas_draw_over_viewport(Control *p_over } } else if (drag_type == DRAG_TYPE_SELECT) { // Draw the area being selected. - Rect2i rect = Rect2i(tile_map->world_to_map(drag_start_mouse_pos), tile_map->world_to_map(drag_last_mouse_pos) - tile_map->world_to_map(drag_start_mouse_pos)).abs(); + Rect2i rect = Rect2i(tile_map->local_to_map(drag_start_mouse_pos), tile_map->local_to_map(drag_last_mouse_pos) - tile_map->local_to_map(drag_start_mouse_pos)).abs(); rect.size += Vector2i(1, 1); RBSet<Vector2i> to_draw; for (int x = rect.position.x; x < rect.get_end().x; x++) { @@ -789,8 +789,8 @@ void TileMapEditorTilesPlugin::forward_canvas_draw_over_viewport(Control *p_over for (const Vector2i &E : tile_map_selection) { top_left = top_left.min(E); } - Vector2i offset = drag_start_mouse_pos - tile_map->map_to_world(top_left); - offset = tile_map->world_to_map(drag_last_mouse_pos - offset) - tile_map->world_to_map(drag_start_mouse_pos - offset); + Vector2i offset = drag_start_mouse_pos - tile_map->map_to_local(top_left); + offset = tile_map->local_to_map(drag_last_mouse_pos - offset) - tile_map->local_to_map(drag_start_mouse_pos - offset); TypedArray<Vector2i> selection_used_cells = selection_pattern->get_used_cells(); for (int i = 0; i < selection_used_cells.size(); i++) { @@ -803,7 +803,7 @@ void TileMapEditorTilesPlugin::forward_canvas_draw_over_viewport(Control *p_over Vector2 mouse_offset = (Vector2(tile_map_clipboard->get_size()) / 2.0 - Vector2(0.5, 0.5)) * tile_set->get_tile_size(); TypedArray<Vector2i> clipboard_used_cells = tile_map_clipboard->get_used_cells(); for (int i = 0; i < clipboard_used_cells.size(); i++) { - Vector2i coords = tile_map->map_pattern(tile_map->world_to_map(drag_last_mouse_pos - mouse_offset), clipboard_used_cells[i], tile_map_clipboard); + Vector2i coords = tile_map->map_pattern(tile_map->local_to_map(drag_last_mouse_pos - mouse_offset), clipboard_used_cells[i], tile_map_clipboard); preview[coords] = TileMapCell(tile_map_clipboard->get_cell_source_id(clipboard_used_cells[i]), tile_map_clipboard->get_cell_atlas_coords(clipboard_used_cells[i]), tile_map_clipboard->get_cell_alternative_tile(clipboard_used_cells[i])); } } else if (!picker_button->is_pressed() && !(drag_type == DRAG_TYPE_NONE && Input::get_singleton()->is_key_pressed(Key::CTRL) && !Input::get_singleton()->is_key_pressed(Key::SHIFT))) { @@ -824,11 +824,11 @@ void TileMapEditorTilesPlugin::forward_canvas_draw_over_viewport(Control *p_over } } else if (drag_type == DRAG_TYPE_RECT) { // Preview for a rect pattern. - preview = _draw_rect(tile_map->world_to_map(drag_start_mouse_pos), tile_map->world_to_map(drag_last_mouse_pos), drag_erasing); + preview = _draw_rect(tile_map->local_to_map(drag_start_mouse_pos), tile_map->local_to_map(drag_last_mouse_pos), drag_erasing); expand_grid = true; } else if (tool_buttons_group->get_pressed_button() == bucket_tool_button && drag_type == DRAG_TYPE_NONE) { // Preview for a fill pattern. - preview = _draw_bucket_fill(tile_map->world_to_map(drag_last_mouse_pos), bucket_contiguous_checkbox->is_pressed(), erase_button->is_pressed()); + preview = _draw_bucket_fill(tile_map->local_to_map(drag_last_mouse_pos), bucket_contiguous_checkbox->is_pressed(), erase_button->is_pressed()); } // Expand the grid if needed @@ -861,7 +861,7 @@ void TileMapEditorTilesPlugin::forward_canvas_draw_over_viewport(Control *p_over float opacity = CLAMP(MIN(left_opacity, MIN(right_opacity, MIN(top_opacity, bottom_opacity))) + 0.1, 0.0f, 1.0f); Transform2D tile_xform; - tile_xform.set_origin(tile_map->map_to_world(Vector2(x, y))); + tile_xform.set_origin(tile_map->map_to_local(Vector2(x, y))); tile_xform.set_scale(tile_shape_size); Color color = grid_color; color.a = color.a * opacity; @@ -874,7 +874,7 @@ void TileMapEditorTilesPlugin::forward_canvas_draw_over_viewport(Control *p_over // Draw the preview. for (const KeyValue<Vector2i, TileMapCell> &E : preview) { Transform2D tile_xform; - tile_xform.set_origin(tile_map->map_to_world(E.key)); + tile_xform.set_origin(tile_map->map_to_local(E.key)); tile_xform.set_scale(tile_set->get_tile_size()); if (!(drag_erasing || erase_button->is_pressed()) && random_tile_toggle->is_pressed()) { tile_set->draw_tile_shape(p_overlay, xform * tile_xform, Color(1.0, 1.0, 1.0, 0.5), true); @@ -899,9 +899,9 @@ void TileMapEditorTilesPlugin::forward_canvas_draw_over_viewport(Control *p_over bool transpose = tile_data->get_transpose(); if (transpose) { - dest_rect.position = (tile_map->map_to_world(E.key) - Vector2(dest_rect.size.y, dest_rect.size.x) / 2 - tile_offset); + dest_rect.position = (tile_map->map_to_local(E.key) - Vector2(dest_rect.size.y, dest_rect.size.x) / 2 - tile_offset); } else { - dest_rect.position = (tile_map->map_to_world(E.key) - dest_rect.size / 2 - tile_offset); + dest_rect.position = (tile_map->map_to_local(E.key) - dest_rect.size / 2 - tile_offset); } dest_rect = xform.xform(dest_rect); @@ -1012,7 +1012,7 @@ HashMap<Vector2i, TileMapCell> TileMapEditorTilesPlugin::_draw_line(Vector2 p_st // Paint the tiles on the tile map. if (!p_erase && random_tile_toggle->is_pressed()) { // Paint a random tile. - Vector<Vector2i> line = TileMapEditor::get_line(tile_map, tile_map->world_to_map(p_from_mouse_pos), tile_map->world_to_map(p_to_mouse_pos)); + Vector<Vector2i> line = TileMapEditor::get_line(tile_map, tile_map->local_to_map(p_from_mouse_pos), tile_map->local_to_map(p_to_mouse_pos)); for (int i = 0; i < line.size(); i++) { output.insert(line[i], _pick_random_tile(pattern)); } @@ -1020,9 +1020,9 @@ HashMap<Vector2i, TileMapCell> TileMapEditorTilesPlugin::_draw_line(Vector2 p_st // Paint the pattern. // If we paint several tiles, we virtually move the mouse as if it was in the center of the "brush" Vector2 mouse_offset = (Vector2(pattern->get_size()) / 2.0 - Vector2(0.5, 0.5)) * tile_set->get_tile_size(); - Vector2i last_hovered_cell = tile_map->world_to_map(p_from_mouse_pos - mouse_offset); - Vector2i new_hovered_cell = tile_map->world_to_map(p_to_mouse_pos - mouse_offset); - Vector2i drag_start_cell = tile_map->world_to_map(p_start_drag_mouse_pos - mouse_offset); + Vector2i last_hovered_cell = tile_map->local_to_map(p_from_mouse_pos - mouse_offset); + Vector2i new_hovered_cell = tile_map->local_to_map(p_to_mouse_pos - mouse_offset); + Vector2i drag_start_cell = tile_map->local_to_map(p_start_drag_mouse_pos - mouse_offset); TypedArray<Vector2i> used_cells = pattern->get_used_cells(); Vector2i offset = Vector2i(Math::posmod(drag_start_cell.x, pattern->get_size().x), Math::posmod(drag_start_cell.y, pattern->get_size().y)); // Note: no posmodv for Vector2i for now. Meh.s @@ -1172,7 +1172,7 @@ HashMap<Vector2i, TileMapCell> TileMapEditorTilesPlugin::_draw_bucket_fill(Vecto TypedArray<Vector2i> to_check; if (source_cell.source_id == TileSet::INVALID_SOURCE) { Rect2i rect = tile_map->get_used_rect(); - if (rect.has_no_area()) { + if (!rect.has_area()) { rect = Rect2i(p_coords, Vector2i(1, 1)); } for (int x = boundaries.position.x; x < boundaries.get_end().x; x++) { @@ -1241,7 +1241,7 @@ void TileMapEditorTilesPlugin::_stop_dragging() { if (!Input::get_singleton()->is_key_pressed(Key::SHIFT) && !Input::get_singleton()->is_key_pressed(Key::CTRL)) { tile_map_selection.clear(); } - Rect2i rect = Rect2i(tile_map->world_to_map(drag_start_mouse_pos), tile_map->world_to_map(mpos) - tile_map->world_to_map(drag_start_mouse_pos)).abs(); + Rect2i rect = Rect2i(tile_map->local_to_map(drag_start_mouse_pos), tile_map->local_to_map(mpos) - tile_map->local_to_map(drag_start_mouse_pos)).abs(); for (int x = rect.position.x; x <= rect.get_end().x; x++) { for (int y = rect.position.y; y <= rect.get_end().y; y++) { Vector2i coords = Vector2i(x, y); @@ -1287,8 +1287,8 @@ void TileMapEditorTilesPlugin::_stop_dragging() { } // Get the offset from the mouse. - Vector2i offset = drag_start_mouse_pos - tile_map->map_to_world(top_left); - offset = tile_map->world_to_map(mpos - offset) - tile_map->world_to_map(drag_start_mouse_pos - offset); + Vector2i offset = drag_start_mouse_pos - tile_map->map_to_local(top_left); + offset = tile_map->local_to_map(mpos - offset) - tile_map->local_to_map(drag_start_mouse_pos - offset); TypedArray<Vector2i> selection_used_cells = selection_pattern->get_used_cells(); @@ -1334,7 +1334,7 @@ void TileMapEditorTilesPlugin::_stop_dragging() { } } break; case DRAG_TYPE_PICK: { - Rect2i rect = Rect2i(tile_map->world_to_map(drag_start_mouse_pos), tile_map->world_to_map(mpos) - tile_map->world_to_map(drag_start_mouse_pos)).abs(); + Rect2i rect = Rect2i(tile_map->local_to_map(drag_start_mouse_pos), tile_map->local_to_map(mpos) - tile_map->local_to_map(drag_start_mouse_pos)).abs(); rect.size += Vector2i(1, 1); int picked_source = -1; @@ -1359,11 +1359,11 @@ void TileMapEditorTilesPlugin::_stop_dragging() { for (int i = 0; i < sources_list->get_item_count(); i++) { if (int(sources_list->get_item_metadata(i)) == picked_source) { sources_list->set_current(i); + TilesEditorPlugin::get_singleton()->set_sources_lists_current(i); break; } } sources_list->ensure_current_is_visible(); - TilesEditorPlugin::get_singleton()->set_sources_lists_current(picked_source); } Ref<TileMapPattern> new_selection_pattern = tile_map->get_pattern(tile_map_layer, coords_array); @@ -1394,7 +1394,7 @@ void TileMapEditorTilesPlugin::_stop_dragging() { undo_redo->commit_action(); } break; case DRAG_TYPE_RECT: { - HashMap<Vector2i, TileMapCell> to_draw = _draw_rect(tile_map->world_to_map(drag_start_mouse_pos), tile_map->world_to_map(mpos), drag_erasing); + HashMap<Vector2i, TileMapCell> to_draw = _draw_rect(tile_map->local_to_map(drag_start_mouse_pos), tile_map->local_to_map(mpos), drag_erasing); undo_redo->create_action(TTR("Paint tiles")); for (const KeyValue<Vector2i, TileMapCell> &E : to_draw) { if (!drag_erasing && E.value.source_id == TileSet::INVALID_SOURCE) { @@ -1418,7 +1418,7 @@ void TileMapEditorTilesPlugin::_stop_dragging() { undo_redo->create_action(TTR("Paste tiles")); TypedArray<Vector2i> used_cells = tile_map_clipboard->get_used_cells(); for (int i = 0; i < used_cells.size(); i++) { - Vector2i coords = tile_map->map_pattern(tile_map->world_to_map(mpos - mouse_offset), used_cells[i], tile_map_clipboard); + Vector2i coords = tile_map->map_pattern(tile_map->local_to_map(mpos - mouse_offset), used_cells[i], tile_map_clipboard); undo_redo->add_do_method(tile_map, "set_cell", tile_map_layer, coords, tile_map_clipboard->get_cell_source_id(used_cells[i]), tile_map_clipboard->get_cell_atlas_coords(used_cells[i]), tile_map_clipboard->get_cell_alternative_tile(used_cells[i])); undo_redo->add_undo_method(tile_map, "set_cell", tile_map_layer, coords, tile_map->get_cell_source_id(tile_map_layer, coords), tile_map->get_cell_atlas_coords(tile_map_layer, coords), tile_map->get_cell_alternative_tile(tile_map_layer, coords)); } @@ -2020,9 +2020,9 @@ TileMapEditorTilesPlugin::TileMapEditorTilesPlugin() { ->connect("mouse_exited", callable_mp(this, &TileMapEditorTilesPlugin::_mouse_exited_viewport)); // --- Shortcuts --- - ED_SHORTCUT("tiles_editor/cut", TTR("Cut"), KeyModifierMask::CMD | Key::X); - ED_SHORTCUT("tiles_editor/copy", TTR("Copy"), KeyModifierMask::CMD | Key::C); - ED_SHORTCUT("tiles_editor/paste", TTR("Paste"), KeyModifierMask::CMD | Key::V); + ED_SHORTCUT("tiles_editor/cut", TTR("Cut"), KeyModifierMask::CMD_OR_CTRL | Key::X); + ED_SHORTCUT("tiles_editor/copy", TTR("Copy"), KeyModifierMask::CMD_OR_CTRL | Key::C); + ED_SHORTCUT("tiles_editor/paste", TTR("Paste"), KeyModifierMask::CMD_OR_CTRL | Key::V); ED_SHORTCUT("tiles_editor/cancel", TTR("Cancel"), Key::ESCAPE); ED_SHORTCUT("tiles_editor/delete", TTR("Delete"), Key::KEY_DELETE); @@ -2170,7 +2170,7 @@ TileMapEditorTilesPlugin::TileMapEditorTilesPlugin() { split_container_left_side->set_h_size_flags(Control::SIZE_EXPAND_FILL); split_container_left_side->set_v_size_flags(Control::SIZE_EXPAND_FILL); split_container_left_side->set_stretch_ratio(0.25); - split_container_left_side->set_custom_minimum_size(Size2i(70, 0) * EDSCALE); + split_container_left_side->set_custom_minimum_size(Size2(70, 0) * EDSCALE); atlas_sources_split_container->add_child(split_container_left_side); HBoxContainer *sources_bottom_actions = memnew(HBoxContainer); @@ -2190,11 +2190,11 @@ TileMapEditorTilesPlugin::TileMapEditorTilesPlugin() { sources_bottom_actions->add_child(source_sort_button); sources_list = memnew(ItemList); - sources_list->set_fixed_icon_size(Size2i(60, 60) * EDSCALE); + sources_list->set_fixed_icon_size(Size2(60, 60) * EDSCALE); sources_list->set_h_size_flags(Control::SIZE_EXPAND_FILL); sources_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); sources_list->set_stretch_ratio(0.25); - sources_list->set_custom_minimum_size(Size2i(70, 0) * EDSCALE); + sources_list->set_custom_minimum_size(Size2(70, 0) * EDSCALE); sources_list->set_texture_filter(CanvasItem::TEXTURE_FILTER_NEAREST); sources_list->connect("item_selected", callable_mp(this, &TileMapEditorTilesPlugin::_update_fix_selected_and_hovered).unbind(1)); sources_list->connect("item_selected", callable_mp(this, &TileMapEditorTilesPlugin::_update_source_display).unbind(1)); @@ -2558,7 +2558,7 @@ RBSet<Vector2i> TileMapEditorTerrainsPlugin::_get_cells_for_bucket_fill(Vector2i TypedArray<Vector2i> to_check; if (source_cell.source_id == TileSet::INVALID_SOURCE) { Rect2i rect = tile_map->get_used_rect(); - if (rect.has_no_area()) { + if (!rect.has_area()) { rect = Rect2i(p_coords, Vector2i(1, 1)); } for (int x = boundaries.position.x; x < boundaries.get_end().x; x++) { @@ -2640,7 +2640,7 @@ void TileMapEditorTerrainsPlugin::_stop_dragging() { switch (drag_type) { case DRAG_TYPE_PICK: { - Vector2i coords = tile_map->world_to_map(mpos); + Vector2i coords = tile_map->local_to_map(mpos); TileMapCell cell = tile_map->get_cell(tile_map_layer, coords); TileData *tile_data = nullptr; @@ -2714,7 +2714,7 @@ void TileMapEditorTerrainsPlugin::_stop_dragging() { undo_redo->commit_action(false); } break; case DRAG_TYPE_LINE: { - HashMap<Vector2i, TileMapCell> to_draw = _draw_line(tile_map->world_to_map(drag_start_mouse_pos), tile_map->world_to_map(mpos), drag_erasing); + HashMap<Vector2i, TileMapCell> to_draw = _draw_line(tile_map->local_to_map(drag_start_mouse_pos), tile_map->local_to_map(mpos), drag_erasing); undo_redo->create_action(TTR("Paint terrain")); for (const KeyValue<Vector2i, TileMapCell> &E : to_draw) { if (!drag_erasing && E.value.source_id == TileSet::INVALID_SOURCE) { @@ -2726,7 +2726,7 @@ void TileMapEditorTerrainsPlugin::_stop_dragging() { undo_redo->commit_action(); } break; case DRAG_TYPE_RECT: { - HashMap<Vector2i, TileMapCell> to_draw = _draw_rect(tile_map->world_to_map(drag_start_mouse_pos), tile_map->world_to_map(mpos), drag_erasing); + HashMap<Vector2i, TileMapCell> to_draw = _draw_rect(tile_map->local_to_map(drag_start_mouse_pos), tile_map->local_to_map(mpos), drag_erasing); undo_redo->create_action(TTR("Paint terrain")); for (const KeyValue<Vector2i, TileMapCell> &E : to_draw) { if (!drag_erasing && E.value.source_id == TileSet::INVALID_SOURCE) { @@ -2836,7 +2836,7 @@ bool TileMapEditorTerrainsPlugin::forward_canvas_gui_input(const Ref<InputEvent> switch (drag_type) { case DRAG_TYPE_PAINT: { if (selected_terrain_set >= 0) { - HashMap<Vector2i, TileMapCell> to_draw = _draw_line(tile_map->world_to_map(drag_last_mouse_pos), tile_map->world_to_map(mpos), drag_erasing); + HashMap<Vector2i, TileMapCell> to_draw = _draw_line(tile_map->local_to_map(drag_last_mouse_pos), tile_map->local_to_map(mpos), drag_erasing); for (const KeyValue<Vector2i, TileMapCell> &E : to_draw) { if (!drag_modified.has(E.key)) { drag_modified[E.key] = tile_map->get_cell(tile_map_layer, E.key); @@ -2880,7 +2880,7 @@ bool TileMapEditorTerrainsPlugin::forward_canvas_gui_input(const Ref<InputEvent> drag_start_mouse_pos = mpos; drag_modified.clear(); - Vector2i cell = tile_map->world_to_map(mpos); + Vector2i cell = tile_map->local_to_map(mpos); HashMap<Vector2i, TileMapCell> to_draw = _draw_line(cell, cell, drag_erasing); for (const KeyValue<Vector2i, TileMapCell> &E : to_draw) { drag_modified[E.key] = tile_map->get_cell(tile_map_layer, E.key); @@ -2907,7 +2907,7 @@ bool TileMapEditorTerrainsPlugin::forward_canvas_gui_input(const Ref<InputEvent> drag_type = DRAG_TYPE_BUCKET; drag_start_mouse_pos = mpos; drag_modified.clear(); - Vector<Vector2i> line = TileMapEditor::get_line(tile_map, tile_map->world_to_map(drag_last_mouse_pos), tile_map->world_to_map(mpos)); + Vector<Vector2i> line = TileMapEditor::get_line(tile_map, tile_map->local_to_map(drag_last_mouse_pos), tile_map->local_to_map(mpos)); for (int i = 0; i < line.size(); i++) { if (!drag_modified.has(line[i])) { HashMap<Vector2i, TileMapCell> to_draw = _draw_bucket_fill(line[i], bucket_contiguous_checkbox->is_pressed(), drag_erasing); @@ -2971,10 +2971,10 @@ void TileMapEditorTerrainsPlugin::forward_canvas_draw_over_viewport(Control *p_o if (drag_type == DRAG_TYPE_PICK) { // Draw the area being picked. - Vector2i coords = tile_map->world_to_map(drag_last_mouse_pos); + Vector2i coords = tile_map->local_to_map(drag_last_mouse_pos); if (tile_map->get_cell_source_id(tile_map_layer, coords) != TileSet::INVALID_SOURCE) { Transform2D tile_xform; - tile_xform.set_origin(tile_map->map_to_world(coords)); + tile_xform.set_origin(tile_map->map_to_local(coords)); tile_xform.set_scale(tile_shape_size); tile_set->draw_tile_shape(p_overlay, xform * tile_xform, Color(1.0, 1.0, 1.0), false); } @@ -2982,15 +2982,15 @@ void TileMapEditorTerrainsPlugin::forward_canvas_draw_over_viewport(Control *p_o bool expand_grid = false; if (tool_buttons_group->get_pressed_button() == paint_tool_button && drag_type == DRAG_TYPE_NONE) { // Preview for a single tile. - preview.insert(tile_map->world_to_map(drag_last_mouse_pos)); + preview.insert(tile_map->local_to_map(drag_last_mouse_pos)); expand_grid = true; } else if (tool_buttons_group->get_pressed_button() == line_tool_button || drag_type == DRAG_TYPE_LINE) { if (drag_type == DRAG_TYPE_NONE) { // Preview for a single tile. - preview.insert(tile_map->world_to_map(drag_last_mouse_pos)); + preview.insert(tile_map->local_to_map(drag_last_mouse_pos)); } else if (drag_type == DRAG_TYPE_LINE) { // Preview for a line. - Vector<Vector2i> line = TileMapEditor::get_line(tile_map, tile_map->world_to_map(drag_start_mouse_pos), tile_map->world_to_map(drag_last_mouse_pos)); + Vector<Vector2i> line = TileMapEditor::get_line(tile_map, tile_map->local_to_map(drag_start_mouse_pos), tile_map->local_to_map(drag_last_mouse_pos)); for (int i = 0; i < line.size(); i++) { preview.insert(line[i]); } @@ -2999,8 +2999,8 @@ void TileMapEditorTerrainsPlugin::forward_canvas_draw_over_viewport(Control *p_o } else if (drag_type == DRAG_TYPE_RECT) { // Preview for a rect. Rect2i rect; - rect.set_position(tile_map->world_to_map(drag_start_mouse_pos)); - rect.set_end(tile_map->world_to_map(drag_last_mouse_pos)); + rect.set_position(tile_map->local_to_map(drag_start_mouse_pos)); + rect.set_end(tile_map->local_to_map(drag_last_mouse_pos)); rect = rect.abs(); HashMap<Vector2i, TileSet::TerrainsPattern> to_draw; @@ -3012,7 +3012,7 @@ void TileMapEditorTerrainsPlugin::forward_canvas_draw_over_viewport(Control *p_o expand_grid = true; } else if (tool_buttons_group->get_pressed_button() == bucket_tool_button && drag_type == DRAG_TYPE_NONE) { // Preview for a fill. - preview = _get_cells_for_bucket_fill(tile_map->world_to_map(drag_last_mouse_pos), bucket_contiguous_checkbox->is_pressed()); + preview = _get_cells_for_bucket_fill(tile_map->local_to_map(drag_last_mouse_pos), bucket_contiguous_checkbox->is_pressed()); } // Expand the grid if needed @@ -3045,7 +3045,7 @@ void TileMapEditorTerrainsPlugin::forward_canvas_draw_over_viewport(Control *p_o float opacity = CLAMP(MIN(left_opacity, MIN(right_opacity, MIN(top_opacity, bottom_opacity))) + 0.1, 0.0f, 1.0f); Transform2D tile_xform; - tile_xform.set_origin(tile_map->map_to_world(Vector2(x, y))); + tile_xform.set_origin(tile_map->map_to_local(Vector2(x, y))); tile_xform.set_scale(tile_shape_size); Color color = grid_color; color.a = color.a * opacity; @@ -3058,7 +3058,7 @@ void TileMapEditorTerrainsPlugin::forward_canvas_draw_over_viewport(Control *p_o // Draw the preview. for (const Vector2i &E : preview) { Transform2D tile_xform; - tile_xform.set_origin(tile_map->map_to_world(E)); + tile_xform.set_origin(tile_map->map_to_local(E)); tile_xform.set_scale(tile_set->get_tile_size()); if (drag_erasing || erase_button->is_pressed()) { tile_set->draw_tile_shape(p_overlay, xform * tile_xform, Color(0.0, 0.0, 0.0, 0.5), true); @@ -3323,7 +3323,7 @@ TileMapEditorTerrainsPlugin::TileMapEditorTerrainsPlugin() { terrains_tree = memnew(Tree); terrains_tree->set_h_size_flags(Control::SIZE_EXPAND_FILL); terrains_tree->set_stretch_ratio(0.25); - terrains_tree->set_custom_minimum_size(Size2i(70, 0) * EDSCALE); + terrains_tree->set_custom_minimum_size(Size2(70, 0) * EDSCALE); terrains_tree->set_texture_filter(CanvasItem::TEXTURE_FILTER_NEAREST); terrains_tree->set_hide_root(true); terrains_tree->connect("item_selected", callable_mp(this, &TileMapEditorTerrainsPlugin::_update_tiles_list)); @@ -3677,6 +3677,7 @@ void TileMapEditor::_update_layers_selection() { tile_map_layer = -1; } tile_map->set_selected_layer(toggle_highlight_selected_layer_button->is_pressed() ? tile_map_layer : -1); + tileset_changed_needs_update = false; // Update is not needed here and actually causes problems. layers_selection_button->clear(); if (tile_map->get_layers_count() > 0) { @@ -3838,7 +3839,7 @@ void TileMapEditor::forward_canvas_draw_over_viewport(Control *p_overlay) { // Draw the scaled tile. Transform2D tile_xform; - tile_xform.set_origin(tile_map->map_to_world(coords)); + tile_xform.set_origin(tile_map->map_to_local(coords)); tile_xform.set_scale(tile_shape_size); tile_set->draw_tile_shape(p_overlay, xform * tile_xform, color, true, warning_pattern_texture); } @@ -3848,7 +3849,7 @@ void TileMapEditor::forward_canvas_draw_over_viewport(Control *p_overlay) { 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]); - Rect2 rect = Rect2(xform.xform(tile_map->map_to_world(coords)) - (icon_size * xform.get_scale() / 2), icon_size * xform.get_scale()); + Rect2 rect = Rect2(xform.xform(tile_map->map_to_local(coords)) - (icon_size * xform.get_scale() / 2), icon_size * xform.get_scale()); p_overlay->draw_texture_rect(missing_tile_texture, rect); } } @@ -3861,10 +3862,10 @@ void TileMapEditor::forward_canvas_draw_over_viewport(Control *p_overlay) { // Determine the drawn area. Size2 screen_size = p_overlay->get_size(); Rect2i screen_rect; - screen_rect.position = tile_map->world_to_map(xform_inv.xform(Vector2())); - screen_rect.expand_to(tile_map->world_to_map(xform_inv.xform(Vector2(0, screen_size.height)))); - screen_rect.expand_to(tile_map->world_to_map(xform_inv.xform(Vector2(screen_size.width, 0)))); - screen_rect.expand_to(tile_map->world_to_map(xform_inv.xform(screen_size))); + screen_rect.position = tile_map->local_to_map(xform_inv.xform(Vector2())); + screen_rect.expand_to(tile_map->local_to_map(xform_inv.xform(Vector2(0, screen_size.height)))); + screen_rect.expand_to(tile_map->local_to_map(xform_inv.xform(Vector2(screen_size.width, 0)))); + screen_rect.expand_to(tile_map->local_to_map(xform_inv.xform(screen_size))); screen_rect = screen_rect.grow(1); Rect2i tilemap_used_rect = tile_map->get_used_rect(); @@ -3897,7 +3898,7 @@ void TileMapEditor::forward_canvas_draw_over_viewport(Control *p_overlay) { float opacity = CLAMP(MIN(left_opacity, MIN(right_opacity, MIN(top_opacity, bottom_opacity))) + 0.1, 0.0f, 1.0f); Transform2D tile_xform; - tile_xform.set_origin(tile_map->map_to_world(Vector2(x, y))); + tile_xform.set_origin(tile_map->map_to_local(Vector2(x, y))); tile_xform.set_scale(tile_shape_size); Color color = grid_color; color.a = color.a * opacity; @@ -3910,7 +3911,7 @@ void TileMapEditor::forward_canvas_draw_over_viewport(Control *p_overlay) { /*Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label")); for (int x = displayed_rect.position.x; x < (displayed_rect.position.x + displayed_rect.size.x); x++) { for (int y = displayed_rect.position.y; y < (displayed_rect.position.y + displayed_rect.size.y); y++) { - p_overlay->draw_string(font, xform.xform(tile_map->map_to_world(Vector2(x, y))) + Vector2i(-tile_shape_size.x / 2, 0), vformat("%s", Vector2(x, y))); + p_overlay->draw_string(font, xform.xform(tile_map->map_to_local(Vector2(x, y))) + Vector2i(-tile_shape_size.x / 2, 0), vformat("%s", Vector2(x, y))); } }*/ diff --git a/editor/plugins/tiles/tile_set_atlas_source_editor.cpp b/editor/plugins/tiles/tile_set_atlas_source_editor.cpp index 2aea020902..228e475083 100644 --- a/editor/plugins/tiles/tile_set_atlas_source_editor.cpp +++ b/editor/plugins/tiles/tile_set_atlas_source_editor.cpp @@ -2342,7 +2342,7 @@ TileSetAtlasSourceEditor::TileSetAtlasSourceEditor() { // Middle panel. ScrollContainer *middle_panel = memnew(ScrollContainer); middle_panel->set_horizontal_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED); - middle_panel->set_custom_minimum_size(Size2i(200, 0) * EDSCALE); + middle_panel->set_custom_minimum_size(Size2(200, 0) * EDSCALE); split_container_right_side->add_child(middle_panel); VBoxContainer *middle_vbox_container = memnew(VBoxContainer); diff --git a/editor/plugins/tiles/tile_set_editor.cpp b/editor/plugins/tiles/tile_set_editor.cpp index dca17475e0..80a8318bbb 100644 --- a/editor/plugins/tiles/tile_set_editor.cpp +++ b/editor/plugins/tiles/tile_set_editor.cpp @@ -690,7 +690,7 @@ TileSetEditor::TileSetEditor() { split_container_left_side->set_h_size_flags(SIZE_EXPAND_FILL); split_container_left_side->set_v_size_flags(SIZE_EXPAND_FILL); split_container_left_side->set_stretch_ratio(0.25); - split_container_left_side->set_custom_minimum_size(Size2i(70, 0) * EDSCALE); + split_container_left_side->set_custom_minimum_size(Size2(70, 0) * EDSCALE); split_container->add_child(split_container_left_side); source_sort_button = memnew(MenuButton); @@ -706,7 +706,7 @@ TileSetEditor::TileSetEditor() { p->set_item_checked(TilesEditorPlugin::SOURCE_SORT_ID, true); sources_list = memnew(ItemList); - sources_list->set_fixed_icon_size(Size2i(60, 60) * EDSCALE); + sources_list->set_fixed_icon_size(Size2(60, 60) * EDSCALE); sources_list->set_h_size_flags(SIZE_EXPAND_FILL); sources_list->set_v_size_flags(SIZE_EXPAND_FILL); sources_list->connect("item_selected", callable_mp(this, &TileSetEditor::_source_selected)); 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 9a4b14616f..f7622e68ab 100644 --- a/editor/plugins/tiles/tile_set_scenes_collection_source_editor.cpp +++ b/editor/plugins/tiles/tile_set_scenes_collection_source_editor.cpp @@ -463,7 +463,7 @@ TileSetScenesCollectionSourceEditor::TileSetScenesCollectionSourceEditor() { // Middle panel. ScrollContainer *middle_panel = memnew(ScrollContainer); middle_panel->set_horizontal_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED); - middle_panel->set_custom_minimum_size(Size2i(200, 0) * EDSCALE); + middle_panel->set_custom_minimum_size(Size2(200, 0) * EDSCALE); split_container_right_side->add_child(middle_panel); VBoxContainer *middle_vbox_container = memnew(VBoxContainer); diff --git a/editor/plugins/tiles/tiles_editor_plugin.cpp b/editor/plugins/tiles/tiles_editor_plugin.cpp index b5134f6893..17115519e2 100644 --- a/editor/plugins/tiles/tiles_editor_plugin.cpp +++ b/editor/plugins/tiles/tiles_editor_plugin.cpp @@ -91,10 +91,10 @@ void TilesEditorPlugin::_thread() { TypedArray<Vector2i> used_cells = tile_map->get_used_cells(0); Rect2 encompassing_rect = Rect2(); - encompassing_rect.set_position(tile_map->map_to_world(used_cells[0])); + encompassing_rect.set_position(tile_map->map_to_local(used_cells[0])); for (int i = 0; i < used_cells.size(); i++) { Vector2i cell = used_cells[i]; - Vector2 world_pos = tile_map->map_to_world(cell); + Vector2 world_pos = tile_map->map_to_local(cell); encompassing_rect.expand_to(world_pos); // Texture. @@ -116,7 +116,7 @@ void TilesEditorPlugin::_thread() { // Add the viewport at the last moment to avoid rendering too early. EditorNode::get_singleton()->add_child(viewport); - RS::get_singleton()->connect(SNAME("frame_pre_draw"), callable_mp(const_cast<TilesEditorPlugin *>(this), &TilesEditorPlugin::_preview_frame_started), Object::CONNECT_ONESHOT); + RS::get_singleton()->connect(SNAME("frame_pre_draw"), callable_mp(const_cast<TilesEditorPlugin *>(this), &TilesEditorPlugin::_preview_frame_started), Object::CONNECT_ONE_SHOT); pattern_preview_done.wait(); diff --git a/editor/plugins/version_control_editor_plugin.cpp b/editor/plugins/version_control_editor_plugin.cpp index fba760d57f..336ce9e4c8 100644 --- a/editor/plugins/version_control_editor_plugin.cpp +++ b/editor/plugins/version_control_editor_plugin.cpp @@ -1124,6 +1124,8 @@ VersionControlEditorPlugin::VersionControlEditorPlugin() { set_up_password->connect(SNAME("text_changed"), callable_mp(this, &VersionControlEditorPlugin::_update_set_up_warning)); set_up_password_input->add_child(set_up_password); + const String home_dir = OS::get_singleton()->has_environment("HOME") ? OS::get_singleton()->get_environment("HOME") : OS::get_singleton()->get_system_dir(OS::SYSTEM_DIR_DOCUMENTS); + HBoxContainer *set_up_ssh_public_key_input = memnew(HBoxContainer); set_up_ssh_public_key_input->set_h_size_flags(Control::SIZE_EXPAND_FILL); set_up_settings_vbc->add_child(set_up_ssh_public_key_input); @@ -1147,10 +1149,7 @@ VersionControlEditorPlugin::VersionControlEditorPlugin() { set_up_ssh_public_key_file_dialog->set_access(FileDialog::ACCESS_FILESYSTEM); set_up_ssh_public_key_file_dialog->set_file_mode(FileDialog::FILE_MODE_OPEN_FILE); set_up_ssh_public_key_file_dialog->set_show_hidden_files(true); - // TODO: Make this start at the user's home folder - Ref<DirAccess> d = DirAccess::open(OS::get_singleton()->get_system_dir(OS::SYSTEM_DIR_DOCUMENTS)); - d->change_dir("../"); - set_up_ssh_public_key_file_dialog->set_current_dir(d->get_current_dir()); + set_up_ssh_public_key_file_dialog->set_current_dir(home_dir); set_up_ssh_public_key_file_dialog->connect(SNAME("file_selected"), callable_mp(this, &VersionControlEditorPlugin::_ssh_public_key_selected)); set_up_ssh_public_key_input_hbc->add_child(set_up_ssh_public_key_file_dialog); @@ -1183,8 +1182,7 @@ VersionControlEditorPlugin::VersionControlEditorPlugin() { set_up_ssh_private_key_file_dialog->set_access(FileDialog::ACCESS_FILESYSTEM); set_up_ssh_private_key_file_dialog->set_file_mode(FileDialog::FILE_MODE_OPEN_FILE); set_up_ssh_private_key_file_dialog->set_show_hidden_files(true); - // TODO: Make this start at the user's home folder - set_up_ssh_private_key_file_dialog->set_current_dir(d->get_current_dir()); + set_up_ssh_private_key_file_dialog->set_current_dir(home_dir); set_up_ssh_private_key_file_dialog->connect("file_selected", callable_mp(this, &VersionControlEditorPlugin::_ssh_private_key_selected)); set_up_ssh_private_key_input_hbc->add_child(set_up_ssh_private_key_file_dialog); @@ -1319,7 +1317,7 @@ VersionControlEditorPlugin::VersionControlEditorPlugin() { commit_message->connect(SNAME("gui_input"), callable_mp(this, &VersionControlEditorPlugin::_commit_message_gui_input)); commit_area->add_child(commit_message); - ED_SHORTCUT("version_control/commit", TTR("Commit"), KeyModifierMask::CMD | Key::ENTER); + ED_SHORTCUT("version_control/commit", TTR("Commit"), KeyModifierMask::CMD_OR_CTRL | Key::ENTER); commit_button = memnew(Button); commit_button->set_text(TTR("Commit Changes")); diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp index 804db726a2..ee8148f00a 100644 --- a/editor/plugins/visual_shader_editor_plugin.cpp +++ b/editor/plugins/visual_shader_editor_plugin.cpp @@ -5058,56 +5058,56 @@ VisualShaderEditor::VisualShaderEditor() { // COLOR - add_options.push_back(AddOption("ColorFunc", "Color", "Common", "VisualShaderNodeColorFunc", TTR("Color function."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("ColorOp", "Color", "Common", "VisualShaderNodeColorOp", TTR("Color operator."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - - add_options.push_back(AddOption("Grayscale", "Color", "Functions", "VisualShaderNodeColorFunc", TTR("Grayscale function."), { VisualShaderNodeColorFunc::FUNC_GRAYSCALE }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("HSV2RGB", "Color", "Functions", "VisualShaderNodeColorFunc", TTR("Converts HSV vector to RGB equivalent."), { VisualShaderNodeColorFunc::FUNC_HSV2RGB, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("RGB2HSV", "Color", "Functions", "VisualShaderNodeColorFunc", TTR("Converts RGB vector to HSV equivalent."), { VisualShaderNodeColorFunc::FUNC_RGB2HSV, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Sepia", "Color", "Functions", "VisualShaderNodeColorFunc", TTR("Sepia function."), { VisualShaderNodeColorFunc::FUNC_SEPIA }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - - add_options.push_back(AddOption("Burn", "Color", "Operators", "VisualShaderNodeColorOp", TTR("Burn operator."), { VisualShaderNodeColorOp::OP_BURN }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Darken", "Color", "Operators", "VisualShaderNodeColorOp", TTR("Darken operator."), { VisualShaderNodeColorOp::OP_DARKEN }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Difference", "Color", "Operators", "VisualShaderNodeColorOp", TTR("Difference operator."), { VisualShaderNodeColorOp::OP_DIFFERENCE }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Dodge", "Color", "Operators", "VisualShaderNodeColorOp", TTR("Dodge operator."), { VisualShaderNodeColorOp::OP_DODGE }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("HardLight", "Color", "Operators", "VisualShaderNodeColorOp", TTR("HardLight operator."), { VisualShaderNodeColorOp::OP_HARD_LIGHT }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Lighten", "Color", "Operators", "VisualShaderNodeColorOp", TTR("Lighten operator."), { VisualShaderNodeColorOp::OP_LIGHTEN }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Overlay", "Color", "Operators", "VisualShaderNodeColorOp", TTR("Overlay operator."), { VisualShaderNodeColorOp::OP_OVERLAY }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Screen", "Color", "Operators", "VisualShaderNodeColorOp", TTR("Screen operator."), { VisualShaderNodeColorOp::OP_SCREEN }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("SoftLight", "Color", "Operators", "VisualShaderNodeColorOp", TTR("SoftLight operator."), { VisualShaderNodeColorOp::OP_SOFT_LIGHT }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - - add_options.push_back(AddOption("ColorConstant", "Color", "Variables", "VisualShaderNodeColorConstant", TTR("Color constant."), {}, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("ColorParameter", "Color", "Variables", "VisualShaderNodeColorParameter", TTR("Color parameter."), {}, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("ColorFunc", "Color/Common", "VisualShaderNodeColorFunc", TTR("Color function."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("ColorOp", "Color/Common", "VisualShaderNodeColorOp", TTR("Color operator."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + + add_options.push_back(AddOption("Grayscale", "Color/Functions", "VisualShaderNodeColorFunc", TTR("Grayscale function."), { VisualShaderNodeColorFunc::FUNC_GRAYSCALE }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("HSV2RGB", "Color/Functions", "VisualShaderNodeColorFunc", TTR("Converts HSV vector to RGB equivalent."), { VisualShaderNodeColorFunc::FUNC_HSV2RGB, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("RGB2HSV", "Color/Functions", "VisualShaderNodeColorFunc", TTR("Converts RGB vector to HSV equivalent."), { VisualShaderNodeColorFunc::FUNC_RGB2HSV, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Sepia", "Color/Functions", "VisualShaderNodeColorFunc", TTR("Sepia function."), { VisualShaderNodeColorFunc::FUNC_SEPIA }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + + add_options.push_back(AddOption("Burn", "Color/Operators", "VisualShaderNodeColorOp", TTR("Burn operator."), { VisualShaderNodeColorOp::OP_BURN }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Darken", "Color/Operators", "VisualShaderNodeColorOp", TTR("Darken operator."), { VisualShaderNodeColorOp::OP_DARKEN }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Difference", "Color/Operators", "VisualShaderNodeColorOp", TTR("Difference operator."), { VisualShaderNodeColorOp::OP_DIFFERENCE }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Dodge", "Color/Operators", "VisualShaderNodeColorOp", TTR("Dodge operator."), { VisualShaderNodeColorOp::OP_DODGE }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("HardLight", "Color/Operators", "VisualShaderNodeColorOp", TTR("HardLight operator."), { VisualShaderNodeColorOp::OP_HARD_LIGHT }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Lighten", "Color/Operators", "VisualShaderNodeColorOp", TTR("Lighten operator."), { VisualShaderNodeColorOp::OP_LIGHTEN }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Overlay", "Color/Operators", "VisualShaderNodeColorOp", TTR("Overlay operator."), { VisualShaderNodeColorOp::OP_OVERLAY }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Screen", "Color/Operators", "VisualShaderNodeColorOp", TTR("Screen operator."), { VisualShaderNodeColorOp::OP_SCREEN }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("SoftLight", "Color/Operators", "VisualShaderNodeColorOp", TTR("SoftLight operator."), { VisualShaderNodeColorOp::OP_SOFT_LIGHT }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + + add_options.push_back(AddOption("ColorConstant", "Color/Variables", "VisualShaderNodeColorConstant", TTR("Color constant."), {}, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("ColorParameter", "Color/Variables", "VisualShaderNodeColorParameter", TTR("Color parameter."), {}, VisualShaderNode::PORT_TYPE_VECTOR_4D)); // COMMON - add_options.push_back(AddOption("DerivativeFunc", "Common", "", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) Derivative function."), {}, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); + add_options.push_back(AddOption("DerivativeFunc", "Common", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) Derivative function."), {}, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); // CONDITIONAL const String &compare_func_desc = TTR("Returns the boolean result of the %s comparison between two parameters."); - add_options.push_back(AddOption("Equal", "Conditional", "Functions", "VisualShaderNodeCompare", vformat(compare_func_desc, TTR("Equal (==)")), { VisualShaderNodeCompare::FUNC_EQUAL }, VisualShaderNode::PORT_TYPE_BOOLEAN)); - add_options.push_back(AddOption("GreaterThan", "Conditional", "Functions", "VisualShaderNodeCompare", vformat(compare_func_desc, TTR("Greater Than (>)")), { VisualShaderNodeCompare::FUNC_GREATER_THAN }, VisualShaderNode::PORT_TYPE_BOOLEAN)); - add_options.push_back(AddOption("GreaterThanEqual", "Conditional", "Functions", "VisualShaderNodeCompare", vformat(compare_func_desc, TTR("Greater Than or Equal (>=)")), { VisualShaderNodeCompare::FUNC_GREATER_THAN_EQUAL }, VisualShaderNode::PORT_TYPE_BOOLEAN)); - add_options.push_back(AddOption("If", "Conditional", "Functions", "VisualShaderNodeIf", TTR("Returns an associated vector if the provided scalars are equal, greater or less."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("IsInf", "Conditional", "Functions", "VisualShaderNodeIs", TTR("Returns the boolean result of the comparison between INF and a scalar parameter."), { VisualShaderNodeIs::FUNC_IS_INF }, VisualShaderNode::PORT_TYPE_BOOLEAN)); - add_options.push_back(AddOption("IsNaN", "Conditional", "Functions", "VisualShaderNodeIs", TTR("Returns the boolean result of the comparison between NaN and a scalar parameter."), { VisualShaderNodeIs::FUNC_IS_NAN }, VisualShaderNode::PORT_TYPE_BOOLEAN)); - add_options.push_back(AddOption("LessThan", "Conditional", "Functions", "VisualShaderNodeCompare", vformat(compare_func_desc, TTR("Less Than (<)")), { VisualShaderNodeCompare::FUNC_LESS_THAN }, VisualShaderNode::PORT_TYPE_BOOLEAN)); - add_options.push_back(AddOption("LessThanEqual", "Conditional", "Functions", "VisualShaderNodeCompare", vformat(compare_func_desc, TTR("Less Than or Equal (<=)")), { VisualShaderNodeCompare::FUNC_LESS_THAN_EQUAL }, VisualShaderNode::PORT_TYPE_BOOLEAN)); - add_options.push_back(AddOption("NotEqual", "Conditional", "Functions", "VisualShaderNodeCompare", vformat(compare_func_desc, TTR("Not Equal (!=)")), { VisualShaderNodeCompare::FUNC_NOT_EQUAL }, VisualShaderNode::PORT_TYPE_BOOLEAN)); - add_options.push_back(AddOption("Switch", "Conditional", "Functions", "VisualShaderNodeSwitch", TTR("Returns an associated 3D vector if the provided boolean value is true or false."), { VisualShaderNodeSwitch::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Switch2D", "Conditional", "Functions", "VisualShaderNodeSwitch", TTR("Returns an associated 2D vector if the provided boolean value is true or false."), { VisualShaderNodeSwitch::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("SwitchBool", "Conditional", "Functions", "VisualShaderNodeSwitch", TTR("Returns an associated boolean if the provided boolean value is true or false."), { VisualShaderNodeSwitch::OP_TYPE_BOOLEAN }, VisualShaderNode::PORT_TYPE_BOOLEAN)); - add_options.push_back(AddOption("SwitchFloat", "Conditional", "Functions", "VisualShaderNodeSwitch", TTR("Returns an associated floating-point scalar if the provided boolean value is true or false."), { VisualShaderNodeSwitch::OP_TYPE_FLOAT }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("SwitchInt", "Conditional", "Functions", "VisualShaderNodeSwitch", TTR("Returns an associated integer scalar if the provided boolean value is true or false."), { VisualShaderNodeSwitch::OP_TYPE_INT }, VisualShaderNode::PORT_TYPE_SCALAR_INT)); - add_options.push_back(AddOption("SwitchTransform", "Conditional", "Functions", "VisualShaderNodeSwitch", TTR("Returns an associated transform if the provided boolean value is true or false."), { VisualShaderNodeSwitch::OP_TYPE_TRANSFORM }, VisualShaderNode::PORT_TYPE_TRANSFORM)); - - add_options.push_back(AddOption("Compare", "Conditional", "Common", "VisualShaderNodeCompare", TTR("Returns the boolean result of the comparison between two parameters."), {}, VisualShaderNode::PORT_TYPE_BOOLEAN)); - add_options.push_back(AddOption("Is", "Conditional", "Common", "VisualShaderNodeIs", TTR("Returns the boolean result of the comparison between INF (or NaN) and a scalar parameter."), {}, VisualShaderNode::PORT_TYPE_BOOLEAN)); - - add_options.push_back(AddOption("BooleanConstant", "Conditional", "Variables", "VisualShaderNodeBooleanConstant", TTR("Boolean constant."), {}, VisualShaderNode::PORT_TYPE_BOOLEAN)); - add_options.push_back(AddOption("BooleanParameter", "Conditional", "Variables", "VisualShaderNodeBooleanParameter", TTR("Boolean parameter."), {}, VisualShaderNode::PORT_TYPE_BOOLEAN)); + add_options.push_back(AddOption("Equal", "Conditional/Functions", "VisualShaderNodeCompare", vformat(compare_func_desc, TTR("Equal (==)")), { VisualShaderNodeCompare::FUNC_EQUAL }, VisualShaderNode::PORT_TYPE_BOOLEAN)); + add_options.push_back(AddOption("GreaterThan", "Conditional/Functions", "VisualShaderNodeCompare", vformat(compare_func_desc, TTR("Greater Than (>)")), { VisualShaderNodeCompare::FUNC_GREATER_THAN }, VisualShaderNode::PORT_TYPE_BOOLEAN)); + add_options.push_back(AddOption("GreaterThanEqual", "Conditional/Functions", "VisualShaderNodeCompare", vformat(compare_func_desc, TTR("Greater Than or Equal (>=)")), { VisualShaderNodeCompare::FUNC_GREATER_THAN_EQUAL }, VisualShaderNode::PORT_TYPE_BOOLEAN)); + add_options.push_back(AddOption("If", "Conditional/Functions", "VisualShaderNodeIf", TTR("Returns an associated vector if the provided scalars are equal, greater or less."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("IsInf", "Conditional/Functions", "VisualShaderNodeIs", TTR("Returns the boolean result of the comparison between INF and a scalar parameter."), { VisualShaderNodeIs::FUNC_IS_INF }, VisualShaderNode::PORT_TYPE_BOOLEAN)); + add_options.push_back(AddOption("IsNaN", "Conditional/Functions", "VisualShaderNodeIs", TTR("Returns the boolean result of the comparison between NaN and a scalar parameter."), { VisualShaderNodeIs::FUNC_IS_NAN }, VisualShaderNode::PORT_TYPE_BOOLEAN)); + add_options.push_back(AddOption("LessThan", "Conditional/Functions", "VisualShaderNodeCompare", vformat(compare_func_desc, TTR("Less Than (<)")), { VisualShaderNodeCompare::FUNC_LESS_THAN }, VisualShaderNode::PORT_TYPE_BOOLEAN)); + add_options.push_back(AddOption("LessThanEqual", "Conditional/Functions", "VisualShaderNodeCompare", vformat(compare_func_desc, TTR("Less Than or Equal (<=)")), { VisualShaderNodeCompare::FUNC_LESS_THAN_EQUAL }, VisualShaderNode::PORT_TYPE_BOOLEAN)); + add_options.push_back(AddOption("NotEqual", "Conditional/Functions", "VisualShaderNodeCompare", vformat(compare_func_desc, TTR("Not Equal (!=)")), { VisualShaderNodeCompare::FUNC_NOT_EQUAL }, VisualShaderNode::PORT_TYPE_BOOLEAN)); + add_options.push_back(AddOption("Switch", "Conditional/Functions", "VisualShaderNodeSwitch", TTR("Returns an associated 3D vector if the provided boolean value is true or false."), { VisualShaderNodeSwitch::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Switch2D", "Conditional/Functions", "VisualShaderNodeSwitch", TTR("Returns an associated 2D vector if the provided boolean value is true or false."), { VisualShaderNodeSwitch::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("SwitchBool", "Conditional/Functions", "VisualShaderNodeSwitch", TTR("Returns an associated boolean if the provided boolean value is true or false."), { VisualShaderNodeSwitch::OP_TYPE_BOOLEAN }, VisualShaderNode::PORT_TYPE_BOOLEAN)); + add_options.push_back(AddOption("SwitchFloat", "Conditional/Functions", "VisualShaderNodeSwitch", TTR("Returns an associated floating-point scalar if the provided boolean value is true or false."), { VisualShaderNodeSwitch::OP_TYPE_FLOAT }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("SwitchInt", "Conditional/Functions", "VisualShaderNodeSwitch", TTR("Returns an associated integer scalar if the provided boolean value is true or false."), { VisualShaderNodeSwitch::OP_TYPE_INT }, VisualShaderNode::PORT_TYPE_SCALAR_INT)); + add_options.push_back(AddOption("SwitchTransform", "Conditional/Functions", "VisualShaderNodeSwitch", TTR("Returns an associated transform if the provided boolean value is true or false."), { VisualShaderNodeSwitch::OP_TYPE_TRANSFORM }, VisualShaderNode::PORT_TYPE_TRANSFORM)); + + add_options.push_back(AddOption("Compare", "Conditional/Common", "VisualShaderNodeCompare", TTR("Returns the boolean result of the comparison between two parameters."), {}, VisualShaderNode::PORT_TYPE_BOOLEAN)); + add_options.push_back(AddOption("Is", "Conditional/Common", "VisualShaderNodeIs", TTR("Returns the boolean result of the comparison between INF (or NaN) and a scalar parameter."), {}, VisualShaderNode::PORT_TYPE_BOOLEAN)); + + add_options.push_back(AddOption("BooleanConstant", "Conditional/Variables", "VisualShaderNodeBooleanConstant", TTR("Boolean constant."), {}, VisualShaderNode::PORT_TYPE_BOOLEAN)); + add_options.push_back(AddOption("BooleanParameter", "Conditional/Variables", "VisualShaderNodeBooleanParameter", TTR("Boolean parameter."), {}, VisualShaderNode::PORT_TYPE_BOOLEAN)); // INPUT @@ -5116,43 +5116,43 @@ VisualShaderEditor::VisualShaderEditor() { // NODE3D-FOR-ALL - add_options.push_back(AddOption("InvProjectionMatrix", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "inv_projection_matrix", "INV_PROJECTION_MATRIX"), { "inv_projection_matrix" }, VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("InvViewMatrix", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "inv_view_matrix", "INV_VIEW_MATRIX"), { "inv_view_matrix" }, VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("ModelMatrix", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "model_matrix", "MODEL_MATRIX"), { "model_matrix" }, VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("Normal", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "normal", "NORMAL"), { "normal" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, -1, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("OutputIsSRGB", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "output_is_srgb", "OUTPUT_IS_SRGB"), { "output_is_srgb" }, VisualShaderNode::PORT_TYPE_BOOLEAN, -1, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("ProjectionMatrix", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "projection_matrix", "PROJECTION_MATRIX"), { "projection_matrix" }, VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("Time", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "time", "TIME"), { "time" }, VisualShaderNode::PORT_TYPE_SCALAR, -1, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("UV", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "uv", "UV"), { "uv" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, -1, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("UV2", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "uv2", "UV2"), { "uv2" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, -1, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("ViewMatrix", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "view_matrix", "VIEW_MATRIX"), { "view_matrix" }, VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("ViewportSize", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "viewport_size", "VIEWPORT_SIZE"), { "viewport_size" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, -1, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("InvProjectionMatrix", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "inv_projection_matrix", "INV_PROJECTION_MATRIX"), { "inv_projection_matrix" }, VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("InvViewMatrix", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "inv_view_matrix", "INV_VIEW_MATRIX"), { "inv_view_matrix" }, VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("ModelMatrix", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "model_matrix", "MODEL_MATRIX"), { "model_matrix" }, VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("Normal", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "normal", "NORMAL"), { "normal" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, -1, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("OutputIsSRGB", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "output_is_srgb", "OUTPUT_IS_SRGB"), { "output_is_srgb" }, VisualShaderNode::PORT_TYPE_BOOLEAN, -1, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("ProjectionMatrix", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "projection_matrix", "PROJECTION_MATRIX"), { "projection_matrix" }, VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("Time", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "time", "TIME"), { "time" }, VisualShaderNode::PORT_TYPE_SCALAR, -1, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("UV", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "uv", "UV"), { "uv" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, -1, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("UV2", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "uv2", "UV2"), { "uv2" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, -1, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("ViewMatrix", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "view_matrix", "VIEW_MATRIX"), { "view_matrix" }, VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("ViewportSize", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "viewport_size", "VIEWPORT_SIZE"), { "viewport_size" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, -1, Shader::MODE_SPATIAL)); // CANVASITEM-FOR-ALL - add_options.push_back(AddOption("Color", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "color", "COLOR"), { "color" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, -1, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("TexturePixelSize", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "texture_pixel_size", "TEXTURE_PIXEL_SIZE"), { "texture_pixel_size" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, -1, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("Time", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "time", "TIME"), { "time" }, VisualShaderNode::PORT_TYPE_SCALAR, -1, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("UV", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "uv", "UV"), { "uv" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, -1, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("Color", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "color", "COLOR"), { "color" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, -1, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("TexturePixelSize", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "texture_pixel_size", "TEXTURE_PIXEL_SIZE"), { "texture_pixel_size" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, -1, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("Time", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "time", "TIME"), { "time" }, VisualShaderNode::PORT_TYPE_SCALAR, -1, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("UV", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "uv", "UV"), { "uv" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, -1, Shader::MODE_CANVAS_ITEM)); // PARTICLES-FOR-ALL - add_options.push_back(AddOption("Active", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "active", "ACTIVE"), { "active" }, VisualShaderNode::PORT_TYPE_BOOLEAN, -1, Shader::MODE_PARTICLES)); - add_options.push_back(AddOption("AttractorForce", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "attractor_force", "ATTRACTOR_FORCE"), { "attractor_force" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, -1, Shader::MODE_PARTICLES)); - add_options.push_back(AddOption("Color", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "color", "COLOR"), { "color" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, -1, Shader::MODE_PARTICLES)); - add_options.push_back(AddOption("Custom", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "custom", "CUSTOM"), { "custom" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, -1, Shader::MODE_PARTICLES)); - add_options.push_back(AddOption("Delta", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "delta", "DELTA"), { "delta" }, VisualShaderNode::PORT_TYPE_SCALAR, -1, Shader::MODE_PARTICLES)); - add_options.push_back(AddOption("EmissionTransform", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "emission_transform", "EMISSION_TRANSFORM"), { "emission_transform" }, VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_PARTICLES)); - add_options.push_back(AddOption("Index", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "index", "INDEX"), { "index" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, -1, Shader::MODE_PARTICLES)); - add_options.push_back(AddOption("LifeTime", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "lifetime", "LIFETIME"), { "lifetime" }, VisualShaderNode::PORT_TYPE_SCALAR, -1, Shader::MODE_PARTICLES)); - add_options.push_back(AddOption("Restart", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "restart", "RESTART"), { "restart" }, VisualShaderNode::PORT_TYPE_BOOLEAN, -1, Shader::MODE_PARTICLES)); - add_options.push_back(AddOption("Time", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "time", "TIME"), { "time" }, VisualShaderNode::PORT_TYPE_SCALAR, -1, Shader::MODE_PARTICLES)); - add_options.push_back(AddOption("Transform", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "transform", "TRANSFORM"), { "transform" }, VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_PARTICLES)); - add_options.push_back(AddOption("Velocity", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "velocity", "VELOCITY"), { "velocity" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, -1, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("Active", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "active", "ACTIVE"), { "active" }, VisualShaderNode::PORT_TYPE_BOOLEAN, -1, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("AttractorForce", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "attractor_force", "ATTRACTOR_FORCE"), { "attractor_force" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, -1, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("Color", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "color", "COLOR"), { "color" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, -1, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("Custom", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "custom", "CUSTOM"), { "custom" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, -1, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("Delta", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "delta", "DELTA"), { "delta" }, VisualShaderNode::PORT_TYPE_SCALAR, -1, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("EmissionTransform", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "emission_transform", "EMISSION_TRANSFORM"), { "emission_transform" }, VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("Index", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "index", "INDEX"), { "index" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, -1, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("LifeTime", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "lifetime", "LIFETIME"), { "lifetime" }, VisualShaderNode::PORT_TYPE_SCALAR, -1, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("Restart", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "restart", "RESTART"), { "restart" }, VisualShaderNode::PORT_TYPE_BOOLEAN, -1, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("Time", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "time", "TIME"), { "time" }, VisualShaderNode::PORT_TYPE_SCALAR, -1, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("Transform", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "transform", "TRANSFORM"), { "transform" }, VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("Velocity", "Input/All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "velocity", "VELOCITY"), { "velocity" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, -1, Shader::MODE_PARTICLES)); ///////////////// - add_options.push_back(AddOption("Input", "Input", "Common", "VisualShaderNodeInput", TTR("Input parameter."))); + add_options.push_back(AddOption("Input", "Input/Common", "VisualShaderNodeInput", TTR("Input parameter."))); const String input_param_for_vertex_and_fragment_shader_modes = TTR("'%s' input parameter for vertex and fragment shader modes.") + translation_gdsl; const String input_param_for_fragment_and_light_shader_modes = TTR("'%s' input parameter for fragment and light shader modes.") + translation_gdsl; @@ -5170,511 +5170,511 @@ VisualShaderEditor::VisualShaderEditor() { // NODE3D INPUTS - add_options.push_back(AddOption("Binormal", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "binormal", "BINORMAL"), { "binormal" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("Color", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "color", "COLOR"), { "color" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("InstanceId", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "instance_id", "INSTANCE_ID"), { "instance_id" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("InstanceCustom", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "instance_custom", "INSTANCE_CUSTOM"), { "instance_custom" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("ModelViewMatrix", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "modelview_matrix", "MODELVIEW_MATRIX"), { "modelview_matrix" }, VisualShaderNode::PORT_TYPE_TRANSFORM, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("PointSize", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "point_size", "POINT_SIZE"), { "point_size" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("Tangent", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_mode, "tangent", "TANGENT"), { "tangent" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("Vertex", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "vertex", "VERTEX"), { "vertex" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("VertexId", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "vertex_id", "VERTEX_ID"), { "vertex_id" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("ViewIndex", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "view_index", "VIEW_INDEX"), { "view_index" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("ViewMonoLeft", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "view_mono_left", "VIEW_MONO_LEFT"), { "view_mono_left" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("ViewRight", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "view_right", "VIEW_RIGHT"), { "view_right" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("NodePositionWorld", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "node_position_world", "NODE_POSITION_WORLD"), { "node_position_world" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("CameraPositionWorld", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "camera_position_world", "CAMERA_POSITION_WORLD"), { "camera_position_world" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("CameraDirectionWorld", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "camera_direction_world", "CAMERA_DIRECTION_WORLD"), { "camera_direction_world" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("NodePositionView", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "node_position_view", "NODE_POSITION_VIEW"), { "node_position_view" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); - - add_options.push_back(AddOption("Binormal", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "binormal", "BINORMAL"), { "binormal" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("Color", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "color", "COLOR"), { "color" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("DepthTexture", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_shader_mode, "depth_texture", "DEPTH_TEXTURE"), { "depth_texture" }, VisualShaderNode::PORT_TYPE_SAMPLER, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("FragCoord", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "fragcoord", "FRAGCOORD"), { "fragcoord" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("FrontFacing", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_shader_mode, "front_facing", "FRONT_FACING"), { "front_facing" }, VisualShaderNode::PORT_TYPE_BOOLEAN, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("PointCoord", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_shader_mode, "point_coord", "POINT_COORD"), { "point_coord" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("ScreenTexture", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_shader_mode, "screen_texture", "SCREEN_TEXTURE"), { "screen_texture" }, VisualShaderNode::PORT_TYPE_SAMPLER, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("ScreenUV", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_shader_mode, "screen_uv", "SCREEN_UV"), { "screen_uv" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("Tangent", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "tangent", "TANGENT"), { "tangent" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("Vertex", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "vertex", "VERTEX"), { "vertex" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("View", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "view", "VIEW"), { "view" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("ViewIndex", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "view_index", "VIEW_INDEX"), { "view_index" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("ViewMonoLeft", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "view_mono_left", "VIEW_MONO_LEFT"), { "view_mono_left" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("ViewRight", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "view_right", "VIEW_RIGHT"), { "view_right" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("NodePositionWorld", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "node_position_world", "NODE_POSITION_WORLD"), { "node_position_world" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("CameraPositionWorld", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "camera_position_world", "CAMERA_POSITION_WORLD"), { "camera_position_world" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("CameraDirectionWorld", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "camera_direction_world", "CAMERA_DIRECTION_WORLD"), { "camera_direction_world" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("NodePositionView", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "node_position_view", "NODE_POSITION_VIEW"), { "node_position_view" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); - - add_options.push_back(AddOption("Albedo", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "albedo", "ALBEDO"), { "albedo" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("Attenuation", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "attenuation", "ATTENUATION"), { "attenuation" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("Backlight", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "backlight", "BACKLIGHT"), { "backlight" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("Diffuse", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "diffuse", "DIFFUSE_LIGHT"), { "diffuse" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("FragCoord", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "fragcoord", "FRAGCOORD"), { "fragcoord" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("Light", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "light", "LIGHT"), { "light" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("LightColor", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "light_color", "LIGHT_COLOR"), { "light_color" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("Metallic", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "metallic", "METALLIC"), { "metallic" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("Roughness", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "roughness", "ROUGHNESS"), { "roughness" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("Specular", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "specular", "SPECULAR_LIGHT"), { "specular" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("View", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "view", "VIEW"), { "view" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("Binormal", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "binormal", "BINORMAL"), { "binormal" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("Color", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "color", "COLOR"), { "color" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("InstanceId", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "instance_id", "INSTANCE_ID"), { "instance_id" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("InstanceCustom", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "instance_custom", "INSTANCE_CUSTOM"), { "instance_custom" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("ModelViewMatrix", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "modelview_matrix", "MODELVIEW_MATRIX"), { "modelview_matrix" }, VisualShaderNode::PORT_TYPE_TRANSFORM, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("PointSize", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "point_size", "POINT_SIZE"), { "point_size" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("Tangent", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_mode, "tangent", "TANGENT"), { "tangent" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("Vertex", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "vertex", "VERTEX"), { "vertex" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("VertexId", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "vertex_id", "VERTEX_ID"), { "vertex_id" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("ViewIndex", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "view_index", "VIEW_INDEX"), { "view_index" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("ViewMonoLeft", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "view_mono_left", "VIEW_MONO_LEFT"), { "view_mono_left" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("ViewRight", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "view_right", "VIEW_RIGHT"), { "view_right" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("NodePositionWorld", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "node_position_world", "NODE_POSITION_WORLD"), { "node_position_world" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("CameraPositionWorld", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "camera_position_world", "CAMERA_POSITION_WORLD"), { "camera_position_world" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("CameraDirectionWorld", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "camera_direction_world", "CAMERA_DIRECTION_WORLD"), { "camera_direction_world" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("NodePositionView", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "node_position_view", "NODE_POSITION_VIEW"), { "node_position_view" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); + + add_options.push_back(AddOption("Binormal", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "binormal", "BINORMAL"), { "binormal" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("Color", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "color", "COLOR"), { "color" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("DepthTexture", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_shader_mode, "depth_texture", "DEPTH_TEXTURE"), { "depth_texture" }, VisualShaderNode::PORT_TYPE_SAMPLER, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("FragCoord", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "fragcoord", "FRAGCOORD"), { "fragcoord" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("FrontFacing", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_shader_mode, "front_facing", "FRONT_FACING"), { "front_facing" }, VisualShaderNode::PORT_TYPE_BOOLEAN, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("PointCoord", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_shader_mode, "point_coord", "POINT_COORD"), { "point_coord" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("ScreenTexture", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_shader_mode, "screen_texture", "SCREEN_TEXTURE"), { "screen_texture" }, VisualShaderNode::PORT_TYPE_SAMPLER, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("ScreenUV", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_shader_mode, "screen_uv", "SCREEN_UV"), { "screen_uv" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("Tangent", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "tangent", "TANGENT"), { "tangent" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("Vertex", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "vertex", "VERTEX"), { "vertex" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("View", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "view", "VIEW"), { "view" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("ViewIndex", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "view_index", "VIEW_INDEX"), { "view_index" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("ViewMonoLeft", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "view_mono_left", "VIEW_MONO_LEFT"), { "view_mono_left" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("ViewRight", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "view_right", "VIEW_RIGHT"), { "view_right" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("NodePositionWorld", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "node_position_world", "NODE_POSITION_WORLD"), { "node_position_world" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("CameraPositionWorld", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "camera_position_world", "CAMERA_POSITION_WORLD"), { "camera_position_world" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("CameraDirectionWorld", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "camera_direction_world", "CAMERA_DIRECTION_WORLD"), { "camera_direction_world" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("NodePositionView", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "node_position_view", "NODE_POSITION_VIEW"), { "node_position_view" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); + + add_options.push_back(AddOption("Albedo", "Input/Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "albedo", "ALBEDO"), { "albedo" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("Attenuation", "Input/Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "attenuation", "ATTENUATION"), { "attenuation" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("Backlight", "Input/Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "backlight", "BACKLIGHT"), { "backlight" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("Diffuse", "Input/Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "diffuse", "DIFFUSE_LIGHT"), { "diffuse" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("FragCoord", "Input/Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "fragcoord", "FRAGCOORD"), { "fragcoord" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("Light", "Input/Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "light", "LIGHT"), { "light" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("LightColor", "Input/Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "light_color", "LIGHT_COLOR"), { "light_color" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("Metallic", "Input/Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "metallic", "METALLIC"), { "metallic" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("Roughness", "Input/Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "roughness", "ROUGHNESS"), { "roughness" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("Specular", "Input/Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "specular", "SPECULAR_LIGHT"), { "specular" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("View", "Input/Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "view", "VIEW"), { "view" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); // CANVASITEM INPUTS - add_options.push_back(AddOption("AtLightPass", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "at_light_pass", "AT_LIGHT_PASS"), { "at_light_pass" }, VisualShaderNode::PORT_TYPE_BOOLEAN, TYPE_FLAGS_VERTEX, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("CanvasMatrix", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "canvas_matrix", "CANVAS_MATRIX"), { "canvas_matrix" }, VisualShaderNode::PORT_TYPE_TRANSFORM, TYPE_FLAGS_VERTEX, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("InstanceCustom", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "instance_custom", "INSTANCE_CUSTOM"), { "instance_custom" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_VERTEX, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("InstanceId", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "instance_id", "INSTANCE_ID"), { "instance_id" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_VERTEX, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("ModelMatrix", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "model_matrix", "MODEL_MATRIX"), { "model_matrix" }, VisualShaderNode::PORT_TYPE_TRANSFORM, TYPE_FLAGS_VERTEX, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("PointSize", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "point_size", "POINT_SIZE"), { "point_size" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_VERTEX, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("ScreenMatrix", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "screen_matrix", "SCREEN_MATRIX"), { "screen_matrix" }, VisualShaderNode::PORT_TYPE_TRANSFORM, TYPE_FLAGS_VERTEX, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("Vertex", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_mode, "vertex", "VERTEX"), { "vertex" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_VERTEX, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("VertexId", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "vertex_id", "VERTEX_ID"), { "vertex_id" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_VERTEX, Shader::MODE_CANVAS_ITEM)); - - add_options.push_back(AddOption("AtLightPass", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "at_light_pass", "AT_LIGHT_PASS"), { "at_light_pass" }, VisualShaderNode::PORT_TYPE_BOOLEAN, TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("FragCoord", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "fragcoord", "FRAGCOORD"), { "fragcoord" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("NormalTexture", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_shader_mode, "normal_texture", "NORMAL_TEXTURE"), { "normal_texture" }, VisualShaderNode::PORT_TYPE_SAMPLER, TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("PointCoord", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "point_coord", "POINT_COORD"), { "point_coord" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("ScreenPixelSize", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_shader_mode, "screen_pixel_size", "SCREEN_PIXEL_SIZE"), { "screen_pixel_size" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("ScreenTexture", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_shader_mode, "screen_texture", "SCREEN_TEXTURE"), { "screen_texture" }, VisualShaderNode::PORT_TYPE_SAMPLER, TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("ScreenUV", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "screen_uv", "SCREEN_UV"), { "screen_uv" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("SpecularShininess", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "specular_shininess", "SPECULAR_SHININESS"), { "specular_shininess" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("SpecularShininessTexture", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_shader_mode, "specular_shininess_texture", "SPECULAR_SHININESS_TEXTURE"), { "specular_shininess_texture" }, VisualShaderNode::PORT_TYPE_SAMPLER, TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("Texture", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "texture", "TEXTURE"), { "texture" }, VisualShaderNode::PORT_TYPE_SAMPLER, TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("Vertex", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_mode, "vertex", "VERTEX"), { "vertex" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); - - add_options.push_back(AddOption("FragCoord", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "fragcoord", "FRAGCOORD"), { "fragcoord" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("Light", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "light", "LIGHT"), { "light" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("LightColor", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "light_color", "LIGHT_COLOR"), { "light_color" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("LightPosition", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "light_position", "LIGHT_POSITION"), { "light_position" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("LightVertex", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "light_vertex", "LIGHT_VERTEX"), { "light_vertex" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("Normal", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "normal", "NORMAL"), { "normal" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("PointCoord", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "point_coord", "POINT_COORD"), { "point_coord" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("ScreenUV", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "screen_uv", "SCREEN_UV"), { "screen_uv" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("Shadow", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "shadow", "SHADOW_MODULATE"), { "shadow" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("SpecularShininess", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "specular_shininess", "SPECULAR_SHININESS"), { "specular_shininess" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("Texture", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "texture", "TEXTURE"), { "texture" }, VisualShaderNode::PORT_TYPE_SAMPLER, TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("AtLightPass", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "at_light_pass", "AT_LIGHT_PASS"), { "at_light_pass" }, VisualShaderNode::PORT_TYPE_BOOLEAN, TYPE_FLAGS_VERTEX, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("CanvasMatrix", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "canvas_matrix", "CANVAS_MATRIX"), { "canvas_matrix" }, VisualShaderNode::PORT_TYPE_TRANSFORM, TYPE_FLAGS_VERTEX, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("InstanceCustom", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "instance_custom", "INSTANCE_CUSTOM"), { "instance_custom" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_VERTEX, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("InstanceId", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "instance_id", "INSTANCE_ID"), { "instance_id" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_VERTEX, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("ModelMatrix", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "model_matrix", "MODEL_MATRIX"), { "model_matrix" }, VisualShaderNode::PORT_TYPE_TRANSFORM, TYPE_FLAGS_VERTEX, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("PointSize", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "point_size", "POINT_SIZE"), { "point_size" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_VERTEX, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("ScreenMatrix", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "screen_matrix", "SCREEN_MATRIX"), { "screen_matrix" }, VisualShaderNode::PORT_TYPE_TRANSFORM, TYPE_FLAGS_VERTEX, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("Vertex", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_mode, "vertex", "VERTEX"), { "vertex" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_VERTEX, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("VertexId", "Input/Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "vertex_id", "VERTEX_ID"), { "vertex_id" }, VisualShaderNode::PORT_TYPE_SCALAR_INT, TYPE_FLAGS_VERTEX, Shader::MODE_CANVAS_ITEM)); + + add_options.push_back(AddOption("AtLightPass", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "at_light_pass", "AT_LIGHT_PASS"), { "at_light_pass" }, VisualShaderNode::PORT_TYPE_BOOLEAN, TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("FragCoord", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "fragcoord", "FRAGCOORD"), { "fragcoord" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("NormalTexture", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_shader_mode, "normal_texture", "NORMAL_TEXTURE"), { "normal_texture" }, VisualShaderNode::PORT_TYPE_SAMPLER, TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("PointCoord", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "point_coord", "POINT_COORD"), { "point_coord" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("ScreenPixelSize", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_shader_mode, "screen_pixel_size", "SCREEN_PIXEL_SIZE"), { "screen_pixel_size" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("ScreenTexture", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_shader_mode, "screen_texture", "SCREEN_TEXTURE"), { "screen_texture" }, VisualShaderNode::PORT_TYPE_SAMPLER, TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("ScreenUV", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "screen_uv", "SCREEN_UV"), { "screen_uv" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("SpecularShininess", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "specular_shininess", "SPECULAR_SHININESS"), { "specular_shininess" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("SpecularShininessTexture", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_shader_mode, "specular_shininess_texture", "SPECULAR_SHININESS_TEXTURE"), { "specular_shininess_texture" }, VisualShaderNode::PORT_TYPE_SAMPLER, TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("Texture", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "texture", "TEXTURE"), { "texture" }, VisualShaderNode::PORT_TYPE_SAMPLER, TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("Vertex", "Input/Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_mode, "vertex", "VERTEX"), { "vertex" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); + + add_options.push_back(AddOption("FragCoord", "Input/Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "fragcoord", "FRAGCOORD"), { "fragcoord" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("Light", "Input/Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "light", "LIGHT"), { "light" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("LightColor", "Input/Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "light_color", "LIGHT_COLOR"), { "light_color" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("LightPosition", "Input/Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "light_position", "LIGHT_POSITION"), { "light_position" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("LightVertex", "Input/Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "light_vertex", "LIGHT_VERTEX"), { "light_vertex" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("Normal", "Input/Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "normal", "NORMAL"), { "normal" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("PointCoord", "Input/Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "point_coord", "POINT_COORD"), { "point_coord" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("ScreenUV", "Input/Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "screen_uv", "SCREEN_UV"), { "screen_uv" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("Shadow", "Input/Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "shadow", "SHADOW_MODULATE"), { "shadow" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("SpecularShininess", "Input/Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "specular_shininess", "SPECULAR_SHININESS"), { "specular_shininess" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("Texture", "Input/Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "texture", "TEXTURE"), { "texture" }, VisualShaderNode::PORT_TYPE_SAMPLER, TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); // SKY INPUTS - add_options.push_back(AddOption("AtCubeMapPass", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "at_cubemap_pass", "AT_CUBEMAP_PASS"), { "at_cubemap_pass" }, VisualShaderNode::PORT_TYPE_BOOLEAN, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("AtHalfResPass", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "at_half_res_pass", "AT_HALF_RES_PASS"), { "at_half_res_pass" }, VisualShaderNode::PORT_TYPE_BOOLEAN, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("AtQuarterResPass", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "at_quarter_res_pass", "AT_QUARTER_RES_PASS"), { "at_quarter_res_pass" }, VisualShaderNode::PORT_TYPE_BOOLEAN, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("EyeDir", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "eyedir", "EYEDIR"), { "eyedir" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("HalfResColor", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "half_res_color", "HALF_RES_COLOR"), { "half_res_color" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("Light0Color", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light0_color", "LIGHT0_COLOR"), { "light0_color" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("Light0Direction", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light0_direction", "LIGHT0_DIRECTION"), { "light0_direction" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("Light0Enabled", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light0_enabled", "LIGHT0_ENABLED"), { "light0_enabled" }, VisualShaderNode::PORT_TYPE_BOOLEAN, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("Light0Energy", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light0_energy", "LIGHT0_ENERGY"), { "light0_energy" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("Light1Color", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light1_color", "LIGHT1_COLOR"), { "light1_color" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("Light1Direction", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light1_direction", "LIGHT1_DIRECTION"), { "light1_direction" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("Light1Enabled", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light1_enabled", "LIGHT1_ENABLED"), { "light1_enabled" }, VisualShaderNode::PORT_TYPE_BOOLEAN, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("Light1Energy", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light1_energy", "LIGHT1_ENERGY"), { "light1_energy" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("Light2Color", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light2_color", "LIGHT2_COLOR"), { "light2_color" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("Light2Direction", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light2_direction", "LIGHT2_DIRECTION"), { "light2_direction" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("Light2Enabled", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light2_enabled", "LIGHT2_ENABLED"), { "light2_enabled" }, VisualShaderNode::PORT_TYPE_BOOLEAN, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("Light2Energy", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light2_energy", "LIGHT2_ENERGY"), { "light2_energy" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("Light3Color", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light3_color", "LIGHT3_COLOR"), { "light3_color" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("Light3Direction", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light3_direction", "LIGHT3_DIRECTION"), { "light3_direction" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("Light3Enabled", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light3_enabled", "LIGHT3_ENABLED"), { "light3_enabled" }, VisualShaderNode::PORT_TYPE_BOOLEAN, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("Light3Energy", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light3_energy", "LIGHT3_ENERGY"), { "light3_energy" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("Position", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "position", "POSITION"), { "position" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("QuarterResColor", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "quarter_res_color", "QUARTER_RES_COLOR"), { "quarter_res_color" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("Radiance", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "radiance", "RADIANCE"), { "radiance" }, VisualShaderNode::PORT_TYPE_SAMPLER, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("ScreenUV", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "screen_uv", "SCREEN_UV"), { "screen_uv" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("FragCoord", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "fragcoord", "FRAGCOORD"), { "fragcoord" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - - add_options.push_back(AddOption("SkyCoords", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "sky_coords", "SKY_COORDS"), { "sky_coords" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); - add_options.push_back(AddOption("Time", "Input", "Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "time", "TIME"), { "time" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("AtCubeMapPass", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "at_cubemap_pass", "AT_CUBEMAP_PASS"), { "at_cubemap_pass" }, VisualShaderNode::PORT_TYPE_BOOLEAN, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("AtHalfResPass", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "at_half_res_pass", "AT_HALF_RES_PASS"), { "at_half_res_pass" }, VisualShaderNode::PORT_TYPE_BOOLEAN, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("AtQuarterResPass", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "at_quarter_res_pass", "AT_QUARTER_RES_PASS"), { "at_quarter_res_pass" }, VisualShaderNode::PORT_TYPE_BOOLEAN, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("EyeDir", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "eyedir", "EYEDIR"), { "eyedir" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("HalfResColor", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "half_res_color", "HALF_RES_COLOR"), { "half_res_color" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("Light0Color", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light0_color", "LIGHT0_COLOR"), { "light0_color" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("Light0Direction", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light0_direction", "LIGHT0_DIRECTION"), { "light0_direction" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("Light0Enabled", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light0_enabled", "LIGHT0_ENABLED"), { "light0_enabled" }, VisualShaderNode::PORT_TYPE_BOOLEAN, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("Light0Energy", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light0_energy", "LIGHT0_ENERGY"), { "light0_energy" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("Light1Color", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light1_color", "LIGHT1_COLOR"), { "light1_color" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("Light1Direction", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light1_direction", "LIGHT1_DIRECTION"), { "light1_direction" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("Light1Enabled", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light1_enabled", "LIGHT1_ENABLED"), { "light1_enabled" }, VisualShaderNode::PORT_TYPE_BOOLEAN, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("Light1Energy", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light1_energy", "LIGHT1_ENERGY"), { "light1_energy" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("Light2Color", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light2_color", "LIGHT2_COLOR"), { "light2_color" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("Light2Direction", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light2_direction", "LIGHT2_DIRECTION"), { "light2_direction" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("Light2Enabled", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light2_enabled", "LIGHT2_ENABLED"), { "light2_enabled" }, VisualShaderNode::PORT_TYPE_BOOLEAN, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("Light2Energy", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light2_energy", "LIGHT2_ENERGY"), { "light2_energy" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("Light3Color", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light3_color", "LIGHT3_COLOR"), { "light3_color" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("Light3Direction", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light3_direction", "LIGHT3_DIRECTION"), { "light3_direction" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("Light3Enabled", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light3_enabled", "LIGHT3_ENABLED"), { "light3_enabled" }, VisualShaderNode::PORT_TYPE_BOOLEAN, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("Light3Energy", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "light3_energy", "LIGHT3_ENERGY"), { "light3_energy" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("Position", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "position", "POSITION"), { "position" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("QuarterResColor", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "quarter_res_color", "QUARTER_RES_COLOR"), { "quarter_res_color" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("Radiance", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "radiance", "RADIANCE"), { "radiance" }, VisualShaderNode::PORT_TYPE_SAMPLER, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("ScreenUV", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "screen_uv", "SCREEN_UV"), { "screen_uv" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("FragCoord", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "fragcoord", "FRAGCOORD"), { "fragcoord" }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + + add_options.push_back(AddOption("SkyCoords", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "sky_coords", "SKY_COORDS"), { "sky_coords" }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_SKY, Shader::MODE_SKY)); + add_options.push_back(AddOption("Time", "Input/Sky", "VisualShaderNodeInput", vformat(input_param_for_sky_shader_mode, "time", "TIME"), { "time" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_SKY, Shader::MODE_SKY)); // FOG INPUTS - add_options.push_back(AddOption("WorldPosition", "Input", "Fog", "VisualShaderNodeInput", vformat(input_param_for_fog_shader_mode, "world_position", "WORLD_POSITION"), { "world_position" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FOG, Shader::MODE_FOG)); - add_options.push_back(AddOption("ObjectPosition", "Input", "Fog", "VisualShaderNodeInput", vformat(input_param_for_fog_shader_mode, "object_position", "OBJECT_POSITION"), { "object_position" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FOG, Shader::MODE_FOG)); - add_options.push_back(AddOption("UVW", "Input", "Fog", "VisualShaderNodeInput", vformat(input_param_for_fog_shader_mode, "uvw", "UVW"), { "uvw" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FOG, Shader::MODE_FOG)); - add_options.push_back(AddOption("Extents", "Input", "Fog", "VisualShaderNodeInput", vformat(input_param_for_fog_shader_mode, "extents", "EXTENTS"), { "extents" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FOG, Shader::MODE_FOG)); - add_options.push_back(AddOption("SDF", "Input", "Fog", "VisualShaderNodeInput", vformat(input_param_for_fog_shader_mode, "sdf", "SDF"), { "sdf" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_FOG, Shader::MODE_FOG)); - add_options.push_back(AddOption("Time", "Input", "Fog", "VisualShaderNodeInput", vformat(input_param_for_fog_shader_mode, "time", "TIME"), { "time" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_FOG, Shader::MODE_FOG)); + add_options.push_back(AddOption("WorldPosition", "Input/Fog", "VisualShaderNodeInput", vformat(input_param_for_fog_shader_mode, "world_position", "WORLD_POSITION"), { "world_position" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FOG, Shader::MODE_FOG)); + add_options.push_back(AddOption("ObjectPosition", "Input/Fog", "VisualShaderNodeInput", vformat(input_param_for_fog_shader_mode, "object_position", "OBJECT_POSITION"), { "object_position" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FOG, Shader::MODE_FOG)); + add_options.push_back(AddOption("UVW", "Input/Fog", "VisualShaderNodeInput", vformat(input_param_for_fog_shader_mode, "uvw", "UVW"), { "uvw" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FOG, Shader::MODE_FOG)); + add_options.push_back(AddOption("Extents", "Input/Fog", "VisualShaderNodeInput", vformat(input_param_for_fog_shader_mode, "extents", "EXTENTS"), { "extents" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FOG, Shader::MODE_FOG)); + add_options.push_back(AddOption("SDF", "Input/Fog", "VisualShaderNodeInput", vformat(input_param_for_fog_shader_mode, "sdf", "SDF"), { "sdf" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_FOG, Shader::MODE_FOG)); + add_options.push_back(AddOption("Time", "Input/Fog", "VisualShaderNodeInput", vformat(input_param_for_fog_shader_mode, "time", "TIME"), { "time" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_FOG, Shader::MODE_FOG)); // PARTICLES INPUTS - add_options.push_back(AddOption("CollisionDepth", "Input", "Collide", "VisualShaderNodeInput", vformat(input_param_for_collide_shader_mode, "collision_depth", "COLLISION_DEPTH"), { "collision_depth" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_COLLIDE, Shader::MODE_PARTICLES)); - add_options.push_back(AddOption("CollisionNormal", "Input", "Collide", "VisualShaderNodeInput", vformat(input_param_for_collide_shader_mode, "collision_normal", "COLLISION_NORMAL"), { "collision_normal" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_COLLIDE, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("CollisionDepth", "Input/Collide", "VisualShaderNodeInput", vformat(input_param_for_collide_shader_mode, "collision_depth", "COLLISION_DEPTH"), { "collision_depth" }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_COLLIDE, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("CollisionNormal", "Input/Collide", "VisualShaderNodeInput", vformat(input_param_for_collide_shader_mode, "collision_normal", "COLLISION_NORMAL"), { "collision_normal" }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_COLLIDE, Shader::MODE_PARTICLES)); // PARTICLES - add_options.push_back(AddOption("EmitParticle", "Particles", "", "VisualShaderNodeParticleEmit", "", {}, -1, TYPE_FLAGS_PROCESS | TYPE_FLAGS_PROCESS_CUSTOM | TYPE_FLAGS_COLLIDE, Shader::MODE_PARTICLES)); - add_options.push_back(AddOption("ParticleAccelerator", "Particles", "", "VisualShaderNodeParticleAccelerator", "", {}, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_PROCESS, Shader::MODE_PARTICLES)); - add_options.push_back(AddOption("ParticleRandomness", "Particles", "", "VisualShaderNodeParticleRandomness", "", {}, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_EMIT | TYPE_FLAGS_PROCESS | TYPE_FLAGS_COLLIDE, Shader::MODE_PARTICLES)); - add_options.push_back(AddOption("MultiplyByAxisAngle", "Particles", "Transform", "VisualShaderNodeParticleMultiplyByAxisAngle", TTR("A node for help to multiply a position input vector by rotation using specific axis. Intended to work with emitters."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_EMIT | TYPE_FLAGS_PROCESS | TYPE_FLAGS_COLLIDE, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("EmitParticle", "Particles", "VisualShaderNodeParticleEmit", "", {}, -1, TYPE_FLAGS_PROCESS | TYPE_FLAGS_PROCESS_CUSTOM | TYPE_FLAGS_COLLIDE, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("ParticleAccelerator", "Particles", "VisualShaderNodeParticleAccelerator", "", {}, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_PROCESS, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("ParticleRandomness", "Particles", "VisualShaderNodeParticleRandomness", "", {}, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_EMIT | TYPE_FLAGS_PROCESS | TYPE_FLAGS_COLLIDE, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("MultiplyByAxisAngle", "Particles/Transform", "VisualShaderNodeParticleMultiplyByAxisAngle", TTR("A node for help to multiply a position input vector by rotation using specific axis. Intended to work with emitters."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_EMIT | TYPE_FLAGS_PROCESS | TYPE_FLAGS_COLLIDE, Shader::MODE_PARTICLES)); - add_options.push_back(AddOption("BoxEmitter", "Particles", "Emitters", "VisualShaderNodeParticleBoxEmitter", "", {}, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_EMIT, Shader::MODE_PARTICLES)); - add_options.push_back(AddOption("MeshEmitter", "Particles", "Emitters", "VisualShaderNodeParticleMeshEmitter", "", {}, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_EMIT, Shader::MODE_PARTICLES)); - add_options.push_back(AddOption("RingEmitter", "Particles", "Emitters", "VisualShaderNodeParticleRingEmitter", "", {}, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_EMIT, Shader::MODE_PARTICLES)); - add_options.push_back(AddOption("SphereEmitter", "Particles", "Emitters", "VisualShaderNodeParticleSphereEmitter", "", {}, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_EMIT, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("BoxEmitter", "Particles/Emitters", "VisualShaderNodeParticleBoxEmitter", "", {}, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_EMIT, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("MeshEmitter", "Particles/Emitters", "VisualShaderNodeParticleMeshEmitter", "", {}, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_EMIT, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("RingEmitter", "Particles/Emitters", "VisualShaderNodeParticleRingEmitter", "", {}, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_EMIT, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("SphereEmitter", "Particles/Emitters", "VisualShaderNodeParticleSphereEmitter", "", {}, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_EMIT, Shader::MODE_PARTICLES)); - add_options.push_back(AddOption("ConeVelocity", "Particles", "Velocity", "VisualShaderNodeParticleConeVelocity", "", {}, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_EMIT, Shader::MODE_PARTICLES)); + add_options.push_back(AddOption("ConeVelocity", "Particles/Velocity", "VisualShaderNodeParticleConeVelocity", "", {}, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_EMIT, Shader::MODE_PARTICLES)); // SCALAR - add_options.push_back(AddOption("FloatFunc", "Scalar", "Common", "VisualShaderNodeFloatFunc", TTR("Float function."), {}, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("FloatOp", "Scalar", "Common", "VisualShaderNodeFloatOp", TTR("Float operator."), {}, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("IntFunc", "Scalar", "Common", "VisualShaderNodeIntFunc", TTR("Integer function."), {}, VisualShaderNode::PORT_TYPE_SCALAR_INT)); - add_options.push_back(AddOption("IntOp", "Scalar", "Common", "VisualShaderNodeIntOp", TTR("Integer operator."), {}, VisualShaderNode::PORT_TYPE_SCALAR_INT)); + add_options.push_back(AddOption("FloatFunc", "Scalar/Common", "VisualShaderNodeFloatFunc", TTR("Float function."), {}, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("FloatOp", "Scalar/Common", "VisualShaderNodeFloatOp", TTR("Float operator."), {}, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("IntFunc", "Scalar/Common", "VisualShaderNodeIntFunc", TTR("Integer function."), {}, VisualShaderNode::PORT_TYPE_SCALAR_INT)); + add_options.push_back(AddOption("IntOp", "Scalar/Common", "VisualShaderNodeIntOp", TTR("Integer operator."), {}, VisualShaderNode::PORT_TYPE_SCALAR_INT)); // CONSTANTS for (int i = 0; i < MAX_FLOAT_CONST_DEFS; i++) { - add_options.push_back(AddOption(float_constant_defs[i].name, "Scalar", "Constants", "VisualShaderNodeFloatConstant", float_constant_defs[i].desc, { float_constant_defs[i].value }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption(float_constant_defs[i].name, "Scalar/Constants", "VisualShaderNodeFloatConstant", float_constant_defs[i].desc, { float_constant_defs[i].value }, VisualShaderNode::PORT_TYPE_SCALAR)); } // FUNCTIONS - add_options.push_back(AddOption("Abs", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Returns the absolute value of the parameter."), { VisualShaderNodeFloatFunc::FUNC_ABS }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Abs", "Scalar", "Functions", "VisualShaderNodeIntFunc", TTR("Returns the absolute value of the parameter."), { VisualShaderNodeIntFunc::FUNC_ABS }, VisualShaderNode::PORT_TYPE_SCALAR_INT)); - add_options.push_back(AddOption("ACos", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Returns the arc-cosine of the parameter."), { VisualShaderNodeFloatFunc::FUNC_ACOS }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("ACosH", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Returns the inverse hyperbolic cosine of the parameter."), { VisualShaderNodeFloatFunc::FUNC_ACOSH }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("ASin", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Returns the arc-sine of the parameter."), { VisualShaderNodeFloatFunc::FUNC_ASIN }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("ASinH", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Returns the inverse hyperbolic sine of the parameter."), { VisualShaderNodeFloatFunc::FUNC_ASINH }, VisualShaderNode::PORT_TYPE_SCALAR)); - 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)); - add_options.push_back(AddOption("Cos", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Returns the cosine of the parameter."), { VisualShaderNodeFloatFunc::FUNC_COS }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("CosH", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Returns the hyperbolic cosine of the parameter."), { VisualShaderNodeFloatFunc::FUNC_COSH }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Degrees", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Converts a quantity in radians to degrees."), { VisualShaderNodeFloatFunc::FUNC_DEGREES }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("DFdX", "Scalar", "Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Scalar) Derivative in 'x' using local differencing."), { VisualShaderNodeDerivativeFunc::FUNC_X, VisualShaderNodeDerivativeFunc::OP_TYPE_SCALAR }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); - add_options.push_back(AddOption("DFdY", "Scalar", "Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Scalar) Derivative in 'y' using local differencing."), { VisualShaderNodeDerivativeFunc::FUNC_Y, VisualShaderNodeDerivativeFunc::OP_TYPE_SCALAR }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); - add_options.push_back(AddOption("Exp", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Base-e Exponential."), { VisualShaderNodeFloatFunc::FUNC_EXP }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Exp2", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Base-2 Exponential."), { VisualShaderNodeFloatFunc::FUNC_EXP2 }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Floor", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Finds the nearest integer less than or equal to the parameter."), { VisualShaderNodeFloatFunc::FUNC_FLOOR }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Fract", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Computes the fractional part of the argument."), { VisualShaderNodeFloatFunc::FUNC_FRACT }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("InverseSqrt", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Returns the inverse of the square root of the parameter."), { VisualShaderNodeFloatFunc::FUNC_INVERSE_SQRT }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Log", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Natural logarithm."), { VisualShaderNodeFloatFunc::FUNC_LOG }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Log2", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Base-2 logarithm."), { VisualShaderNodeFloatFunc::FUNC_LOG2 }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Max", "Scalar", "Functions", "VisualShaderNodeFloatOp", TTR("Returns the greater of two values."), { VisualShaderNodeFloatOp::OP_MAX }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Min", "Scalar", "Functions", "VisualShaderNodeFloatOp", TTR("Returns the lesser of two values."), { VisualShaderNodeFloatOp::OP_MIN }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Mix", "Scalar", "Functions", "VisualShaderNodeMix", TTR("Linear interpolation between two scalars."), { VisualShaderNodeMix::OP_TYPE_SCALAR }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("MultiplyAdd", "Scalar", "Functions", "VisualShaderNodeMultiplyAdd", TTR("Performs a fused multiply-add operation (a * b + c) on scalars."), { VisualShaderNodeMultiplyAdd::OP_TYPE_SCALAR }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Negate", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Returns the opposite value of the parameter."), { VisualShaderNodeFloatFunc::FUNC_NEGATE }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Negate", "Scalar", "Functions", "VisualShaderNodeIntFunc", TTR("Returns the opposite value of the parameter."), { VisualShaderNodeIntFunc::FUNC_NEGATE }, VisualShaderNode::PORT_TYPE_SCALAR_INT)); - add_options.push_back(AddOption("OneMinus", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("1.0 - scalar"), { VisualShaderNodeFloatFunc::FUNC_ONEMINUS }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Pow", "Scalar", "Functions", "VisualShaderNodeFloatOp", TTR("Returns the value of the first parameter raised to the power of the second."), { VisualShaderNodeFloatOp::OP_POW }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Radians", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Converts a quantity in degrees to radians."), { VisualShaderNodeFloatFunc::FUNC_RADIANS }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Reciprocal", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("1.0 / scalar"), { VisualShaderNodeFloatFunc::FUNC_RECIPROCAL }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Round", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Finds the nearest integer to the parameter."), { VisualShaderNodeFloatFunc::FUNC_ROUND }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("RoundEven", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Finds the nearest even integer to the parameter."), { VisualShaderNodeFloatFunc::FUNC_ROUNDEVEN }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Saturate", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Clamps the value between 0.0 and 1.0."), { VisualShaderNodeFloatFunc::FUNC_SATURATE }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Sign", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Extracts the sign of the parameter."), { VisualShaderNodeFloatFunc::FUNC_SIGN }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Sign", "Scalar", "Functions", "VisualShaderNodeIntFunc", TTR("Extracts the sign of the parameter."), { VisualShaderNodeIntFunc::FUNC_SIGN }, VisualShaderNode::PORT_TYPE_SCALAR_INT)); - add_options.push_back(AddOption("Sin", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Returns the sine of the parameter."), { VisualShaderNodeFloatFunc::FUNC_SIN }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("SinH", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Returns the hyperbolic sine of the parameter."), { VisualShaderNodeFloatFunc::FUNC_SINH }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Sqrt", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Returns the square root of the parameter."), { VisualShaderNodeFloatFunc::FUNC_SQRT }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("SmoothStep", "Scalar", "Functions", "VisualShaderNodeSmoothStep", TTR("SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge0' and 1.0 if x is larger than 'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 using Hermite polynomials."), { VisualShaderNodeSmoothStep::OP_TYPE_SCALAR }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Step", "Scalar", "Functions", "VisualShaderNodeStep", TTR("Step function( scalar(edge), scalar(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."), { VisualShaderNodeStep::OP_TYPE_SCALAR }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Sum", "Scalar", "Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Scalar) Sum of absolute derivative in 'x' and 'y'."), { VisualShaderNodeDerivativeFunc::FUNC_SUM, VisualShaderNodeDerivativeFunc::OP_TYPE_SCALAR }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); - add_options.push_back(AddOption("Tan", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Returns the tangent of the parameter."), { VisualShaderNodeFloatFunc::FUNC_TAN }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("TanH", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Returns the hyperbolic tangent of the parameter."), { VisualShaderNodeFloatFunc::FUNC_TANH }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Trunc", "Scalar", "Functions", "VisualShaderNodeFloatFunc", TTR("Finds the truncated value of the parameter."), { VisualShaderNodeFloatFunc::FUNC_TRUNC }, VisualShaderNode::PORT_TYPE_SCALAR)); - - 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)); - add_options.push_back(AddOption("Multiply", "Scalar", "Operators", "VisualShaderNodeIntOp", TTR("Multiplies two integer scalars."), { VisualShaderNodeIntOp::OP_MUL }, VisualShaderNode::PORT_TYPE_SCALAR_INT)); - add_options.push_back(AddOption("Remainder", "Scalar", "Operators", "VisualShaderNodeFloatOp", TTR("Returns the remainder of the two floating-point scalars."), { VisualShaderNodeFloatOp::OP_MOD }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Remainder", "Scalar", "Operators", "VisualShaderNodeIntOp", TTR("Returns the remainder of the two integer scalars."), { VisualShaderNodeIntOp::OP_MOD }, VisualShaderNode::PORT_TYPE_SCALAR_INT)); - add_options.push_back(AddOption("Subtract", "Scalar", "Operators", "VisualShaderNodeFloatOp", TTR("Subtracts two floating-point scalars."), { VisualShaderNodeFloatOp::OP_SUB }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Subtract", "Scalar", "Operators", "VisualShaderNodeIntOp", TTR("Subtracts two integer scalars."), { VisualShaderNodeIntOp::OP_SUB }, VisualShaderNode::PORT_TYPE_SCALAR_INT)); - - add_options.push_back(AddOption("FloatConstant", "Scalar", "Variables", "VisualShaderNodeFloatConstant", TTR("Scalar floating-point constant."), {}, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("IntConstant", "Scalar", "Variables", "VisualShaderNodeIntConstant", TTR("Scalar integer constant."), {}, VisualShaderNode::PORT_TYPE_SCALAR_INT)); - add_options.push_back(AddOption("FloatParameter", "Scalar", "Variables", "VisualShaderNodeFloatParameter", TTR("Scalar floating-point parameter."), {}, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("IntParameter", "Scalar", "Variables", "VisualShaderNodeIntParameter", TTR("Scalar integer parameter."), {}, VisualShaderNode::PORT_TYPE_SCALAR_INT)); + add_options.push_back(AddOption("Abs", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Returns the absolute value of the parameter."), { VisualShaderNodeFloatFunc::FUNC_ABS }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Abs", "Scalar/Functions", "VisualShaderNodeIntFunc", TTR("Returns the absolute value of the parameter."), { VisualShaderNodeIntFunc::FUNC_ABS }, VisualShaderNode::PORT_TYPE_SCALAR_INT)); + add_options.push_back(AddOption("ACos", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Returns the arc-cosine of the parameter."), { VisualShaderNodeFloatFunc::FUNC_ACOS }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("ACosH", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Returns the inverse hyperbolic cosine of the parameter."), { VisualShaderNodeFloatFunc::FUNC_ACOSH }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("ASin", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Returns the arc-sine of the parameter."), { VisualShaderNodeFloatFunc::FUNC_ASIN }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("ASinH", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Returns the inverse hyperbolic sine of the parameter."), { VisualShaderNodeFloatFunc::FUNC_ASINH }, VisualShaderNode::PORT_TYPE_SCALAR)); + 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)); + add_options.push_back(AddOption("Cos", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Returns the cosine of the parameter."), { VisualShaderNodeFloatFunc::FUNC_COS }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("CosH", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Returns the hyperbolic cosine of the parameter."), { VisualShaderNodeFloatFunc::FUNC_COSH }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Degrees", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Converts a quantity in radians to degrees."), { VisualShaderNodeFloatFunc::FUNC_DEGREES }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("DFdX", "Scalar/Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Scalar) Derivative in 'x' using local differencing."), { VisualShaderNodeDerivativeFunc::FUNC_X, VisualShaderNodeDerivativeFunc::OP_TYPE_SCALAR }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); + add_options.push_back(AddOption("DFdY", "Scalar/Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Scalar) Derivative in 'y' using local differencing."), { VisualShaderNodeDerivativeFunc::FUNC_Y, VisualShaderNodeDerivativeFunc::OP_TYPE_SCALAR }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); + add_options.push_back(AddOption("Exp", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Base-e Exponential."), { VisualShaderNodeFloatFunc::FUNC_EXP }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Exp2", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Base-2 Exponential."), { VisualShaderNodeFloatFunc::FUNC_EXP2 }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Floor", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Finds the nearest integer less than or equal to the parameter."), { VisualShaderNodeFloatFunc::FUNC_FLOOR }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Fract", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Computes the fractional part of the argument."), { VisualShaderNodeFloatFunc::FUNC_FRACT }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("InverseSqrt", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Returns the inverse of the square root of the parameter."), { VisualShaderNodeFloatFunc::FUNC_INVERSE_SQRT }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Log", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Natural logarithm."), { VisualShaderNodeFloatFunc::FUNC_LOG }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Log2", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Base-2 logarithm."), { VisualShaderNodeFloatFunc::FUNC_LOG2 }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Max", "Scalar/Functions", "VisualShaderNodeFloatOp", TTR("Returns the greater of two values."), { VisualShaderNodeFloatOp::OP_MAX }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Min", "Scalar/Functions", "VisualShaderNodeFloatOp", TTR("Returns the lesser of two values."), { VisualShaderNodeFloatOp::OP_MIN }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Mix", "Scalar/Functions", "VisualShaderNodeMix", TTR("Linear interpolation between two scalars."), { VisualShaderNodeMix::OP_TYPE_SCALAR }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("MultiplyAdd", "Scalar/Functions", "VisualShaderNodeMultiplyAdd", TTR("Performs a fused multiply-add operation (a * b + c) on scalars."), { VisualShaderNodeMultiplyAdd::OP_TYPE_SCALAR }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Negate", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Returns the opposite value of the parameter."), { VisualShaderNodeFloatFunc::FUNC_NEGATE }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Negate", "Scalar/Functions", "VisualShaderNodeIntFunc", TTR("Returns the opposite value of the parameter."), { VisualShaderNodeIntFunc::FUNC_NEGATE }, VisualShaderNode::PORT_TYPE_SCALAR_INT)); + add_options.push_back(AddOption("OneMinus", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("1.0 - scalar"), { VisualShaderNodeFloatFunc::FUNC_ONEMINUS }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Pow", "Scalar/Functions", "VisualShaderNodeFloatOp", TTR("Returns the value of the first parameter raised to the power of the second."), { VisualShaderNodeFloatOp::OP_POW }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Radians", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Converts a quantity in degrees to radians."), { VisualShaderNodeFloatFunc::FUNC_RADIANS }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Reciprocal", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("1.0 / scalar"), { VisualShaderNodeFloatFunc::FUNC_RECIPROCAL }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Round", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Finds the nearest integer to the parameter."), { VisualShaderNodeFloatFunc::FUNC_ROUND }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("RoundEven", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Finds the nearest even integer to the parameter."), { VisualShaderNodeFloatFunc::FUNC_ROUNDEVEN }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Saturate", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Clamps the value between 0.0 and 1.0."), { VisualShaderNodeFloatFunc::FUNC_SATURATE }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Sign", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Extracts the sign of the parameter."), { VisualShaderNodeFloatFunc::FUNC_SIGN }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Sign", "Scalar/Functions", "VisualShaderNodeIntFunc", TTR("Extracts the sign of the parameter."), { VisualShaderNodeIntFunc::FUNC_SIGN }, VisualShaderNode::PORT_TYPE_SCALAR_INT)); + add_options.push_back(AddOption("Sin", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Returns the sine of the parameter."), { VisualShaderNodeFloatFunc::FUNC_SIN }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("SinH", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Returns the hyperbolic sine of the parameter."), { VisualShaderNodeFloatFunc::FUNC_SINH }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Sqrt", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Returns the square root of the parameter."), { VisualShaderNodeFloatFunc::FUNC_SQRT }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("SmoothStep", "Scalar/Functions", "VisualShaderNodeSmoothStep", TTR("SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge0' and 1.0 if x is larger than 'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 using Hermite polynomials."), { VisualShaderNodeSmoothStep::OP_TYPE_SCALAR }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Step", "Scalar/Functions", "VisualShaderNodeStep", TTR("Step function( scalar(edge), scalar(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."), { VisualShaderNodeStep::OP_TYPE_SCALAR }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Sum", "Scalar/Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Scalar) Sum of absolute derivative in 'x' and 'y'."), { VisualShaderNodeDerivativeFunc::FUNC_SUM, VisualShaderNodeDerivativeFunc::OP_TYPE_SCALAR }, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); + add_options.push_back(AddOption("Tan", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Returns the tangent of the parameter."), { VisualShaderNodeFloatFunc::FUNC_TAN }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("TanH", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Returns the hyperbolic tangent of the parameter."), { VisualShaderNodeFloatFunc::FUNC_TANH }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Trunc", "Scalar/Functions", "VisualShaderNodeFloatFunc", TTR("Finds the truncated value of the parameter."), { VisualShaderNodeFloatFunc::FUNC_TRUNC }, VisualShaderNode::PORT_TYPE_SCALAR)); + + 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)); + add_options.push_back(AddOption("Multiply", "Scalar/Operators", "VisualShaderNodeIntOp", TTR("Multiplies two integer scalars."), { VisualShaderNodeIntOp::OP_MUL }, VisualShaderNode::PORT_TYPE_SCALAR_INT)); + add_options.push_back(AddOption("Remainder", "Scalar/Operators", "VisualShaderNodeFloatOp", TTR("Returns the remainder of the two floating-point scalars."), { VisualShaderNodeFloatOp::OP_MOD }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Remainder", "Scalar/Operators", "VisualShaderNodeIntOp", TTR("Returns the remainder of the two integer scalars."), { VisualShaderNodeIntOp::OP_MOD }, VisualShaderNode::PORT_TYPE_SCALAR_INT)); + add_options.push_back(AddOption("Subtract", "Scalar/Operators", "VisualShaderNodeFloatOp", TTR("Subtracts two floating-point scalars."), { VisualShaderNodeFloatOp::OP_SUB }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Subtract", "Scalar/Operators", "VisualShaderNodeIntOp", TTR("Subtracts two integer scalars."), { VisualShaderNodeIntOp::OP_SUB }, VisualShaderNode::PORT_TYPE_SCALAR_INT)); + + add_options.push_back(AddOption("FloatConstant", "Scalar/Variables", "VisualShaderNodeFloatConstant", TTR("Scalar floating-point constant."), {}, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("IntConstant", "Scalar/Variables", "VisualShaderNodeIntConstant", TTR("Scalar integer constant."), {}, VisualShaderNode::PORT_TYPE_SCALAR_INT)); + add_options.push_back(AddOption("FloatParameter", "Scalar/Variables", "VisualShaderNodeFloatParameter", TTR("Scalar floating-point parameter."), {}, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("IntParameter", "Scalar/Variables", "VisualShaderNodeIntParameter", TTR("Scalar integer parameter."), {}, VisualShaderNode::PORT_TYPE_SCALAR_INT)); // SDF { - add_options.push_back(AddOption("ScreenUVToSDF", "SDF", "", "VisualShaderNodeScreenUVToSDF", TTR("Converts screen UV to a SDF."), {}, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("SDFRaymarch", "SDF", "", "VisualShaderNodeSDFRaymarch", TTR("Casts a ray against the screen SDF and returns the distance travelled."), {}, -1, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("SDFToScreenUV", "SDF", "", "VisualShaderNodeSDFToScreenUV", TTR("Converts a SDF to screen UV."), {}, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("TextureSDF", "SDF", "", "VisualShaderNodeTextureSDF", TTR("Performs a SDF texture lookup."), {}, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("TextureSDFNormal", "SDF", "", "VisualShaderNodeTextureSDFNormal", TTR("Performs a SDF normal texture lookup."), {}, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("ScreenUVToSDF", "SDF", "VisualShaderNodeScreenUVToSDF", TTR("Converts screen UV to a SDF."), {}, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("SDFRaymarch", "SDF", "VisualShaderNodeSDFRaymarch", TTR("Casts a ray against the screen SDF and returns the distance travelled."), {}, -1, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("SDFToScreenUV", "SDF", "VisualShaderNodeSDFToScreenUV", TTR("Converts a SDF to screen UV."), {}, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("TextureSDF", "SDF", "VisualShaderNodeTextureSDF", TTR("Performs a SDF texture lookup."), {}, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("TextureSDFNormal", "SDF", "VisualShaderNodeTextureSDFNormal", TTR("Performs a SDF normal texture lookup."), {}, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); } // TEXTURES - add_options.push_back(AddOption("UVFunc", "Textures", "Common", "VisualShaderNodeUVFunc", TTR("Function to be applied on texture coordinates."), {}, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("UVPolarCoord", "Textures", "Common", "VisualShaderNodeUVPolarCoord", TTR("Polar coordinates conversion applied on texture coordinates."), {}, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("UVFunc", "Textures/Common", "VisualShaderNodeUVFunc", TTR("Function to be applied on texture coordinates."), {}, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("UVPolarCoord", "Textures/Common", "VisualShaderNodeUVPolarCoord", TTR("Polar coordinates conversion applied on texture coordinates."), {}, VisualShaderNode::PORT_TYPE_VECTOR_2D)); cubemap_node_option_idx = add_options.size(); - add_options.push_back(AddOption("CubeMap", "Textures", "Functions", "VisualShaderNodeCubemap", TTR("Perform the cubic texture lookup."), {}, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("CubeMap", "Textures/Functions", "VisualShaderNodeCubemap", TTR("Perform the cubic texture lookup."), {}, VisualShaderNode::PORT_TYPE_VECTOR_4D)); curve_node_option_idx = add_options.size(); - add_options.push_back(AddOption("CurveTexture", "Textures", "Functions", "VisualShaderNodeCurveTexture", TTR("Perform the curve texture lookup."), {}, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("CurveTexture", "Textures/Functions", "VisualShaderNodeCurveTexture", TTR("Perform the curve texture lookup."), {}, VisualShaderNode::PORT_TYPE_SCALAR)); curve_xyz_node_option_idx = add_options.size(); - add_options.push_back(AddOption("CurveXYZTexture", "Textures", "Functions", "VisualShaderNodeCurveXYZTexture", TTR("Perform the three components curve texture lookup."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("LinearSceneDepth", "Textures", "Functions", "VisualShaderNodeLinearSceneDepth", TTR("Returns the depth value of the DEPTH_TEXTURE node in a linear space."), {}, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("CurveXYZTexture", "Textures/Functions", "VisualShaderNodeCurveXYZTexture", TTR("Perform the three components curve texture lookup."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("LinearSceneDepth", "Textures/Functions", "VisualShaderNodeLinearSceneDepth", TTR("Returns the depth value of the DEPTH_TEXTURE node in a linear space."), {}, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); texture2d_node_option_idx = add_options.size(); - add_options.push_back(AddOption("Texture2D", "Textures", "Functions", "VisualShaderNodeTexture", TTR("Perform the 2D texture lookup."), {}, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Texture2D", "Textures/Functions", "VisualShaderNodeTexture", TTR("Perform the 2D texture lookup."), {}, VisualShaderNode::PORT_TYPE_VECTOR_4D)); texture2d_array_node_option_idx = add_options.size(); - add_options.push_back(AddOption("Texture2DArray", "Textures", "Functions", "VisualShaderNodeTexture2DArray", TTR("Perform the 2D-array texture lookup."), {}, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Texture2DArray", "Textures/Functions", "VisualShaderNodeTexture2DArray", TTR("Perform the 2D-array texture lookup."), {}, VisualShaderNode::PORT_TYPE_VECTOR_4D)); texture3d_node_option_idx = add_options.size(); - add_options.push_back(AddOption("Texture3D", "Textures", "Functions", "VisualShaderNodeTexture3D", TTR("Perform the 3D texture lookup."), {}, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("UVPanning", "Textures", "Functions", "VisualShaderNodeUVFunc", TTR("Apply panning function on texture coordinates."), { VisualShaderNodeUVFunc::FUNC_PANNING }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("UVScaling", "Textures", "Functions", "VisualShaderNodeUVFunc", TTR("Apply scaling function on texture coordinates."), { VisualShaderNodeUVFunc::FUNC_SCALING }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Texture3D", "Textures/Functions", "VisualShaderNodeTexture3D", TTR("Perform the 3D texture lookup."), {}, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("UVPanning", "Textures/Functions", "VisualShaderNodeUVFunc", TTR("Apply panning function on texture coordinates."), { VisualShaderNodeUVFunc::FUNC_PANNING }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("UVScaling", "Textures/Functions", "VisualShaderNodeUVFunc", TTR("Apply scaling function on texture coordinates."), { VisualShaderNodeUVFunc::FUNC_SCALING }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("CubeMapParameter", "Textures", "Variables", "VisualShaderNodeCubemapParameter", TTR("Cubic texture parameter lookup."), {}, VisualShaderNode::PORT_TYPE_SAMPLER)); - add_options.push_back(AddOption("Texture2DParameter", "Textures", "Variables", "VisualShaderNodeTexture2DParameter", TTR("2D texture parameter lookup."), {}, VisualShaderNode::PORT_TYPE_SAMPLER)); - add_options.push_back(AddOption("TextureParameterTriplanar", "Textures", "Variables", "VisualShaderNodeTextureParameterTriplanar", TTR("2D texture parameter lookup with triplanar."), {}, -1, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("Texture2DArrayParameter", "Textures", "Variables", "VisualShaderNodeTexture2DArrayParameter", TTR("2D array of textures parameter lookup."), {}, VisualShaderNode::PORT_TYPE_SAMPLER)); - add_options.push_back(AddOption("Texture3DParameter", "Textures", "Variables", "VisualShaderNodeTexture3DParameter", TTR("3D texture parameter lookup."), {}, VisualShaderNode::PORT_TYPE_SAMPLER)); + add_options.push_back(AddOption("CubeMapParameter", "Textures/Variables", "VisualShaderNodeCubemapParameter", TTR("Cubic texture parameter lookup."), {}, VisualShaderNode::PORT_TYPE_SAMPLER)); + add_options.push_back(AddOption("Texture2DParameter", "Textures/Variables", "VisualShaderNodeTexture2DParameter", TTR("2D texture parameter lookup."), {}, VisualShaderNode::PORT_TYPE_SAMPLER)); + add_options.push_back(AddOption("TextureParameterTriplanar", "Textures/Variables", "VisualShaderNodeTextureParameterTriplanar", TTR("2D texture parameter lookup with triplanar."), {}, -1, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("Texture2DArrayParameter", "Textures/Variables", "VisualShaderNodeTexture2DArrayParameter", TTR("2D array of textures parameter lookup."), {}, VisualShaderNode::PORT_TYPE_SAMPLER)); + add_options.push_back(AddOption("Texture3DParameter", "Textures/Variables", "VisualShaderNodeTexture3DParameter", TTR("3D texture parameter lookup."), {}, VisualShaderNode::PORT_TYPE_SAMPLER)); // TRANSFORM - add_options.push_back(AddOption("TransformFunc", "Transform", "Common", "VisualShaderNodeTransformFunc", TTR("Transform function."), {}, VisualShaderNode::PORT_TYPE_TRANSFORM)); - add_options.push_back(AddOption("TransformOp", "Transform", "Common", "VisualShaderNodeTransformOp", TTR("Transform operator."), {}, VisualShaderNode::PORT_TYPE_TRANSFORM)); + add_options.push_back(AddOption("TransformFunc", "Transform/Common", "VisualShaderNodeTransformFunc", TTR("Transform function."), {}, VisualShaderNode::PORT_TYPE_TRANSFORM)); + add_options.push_back(AddOption("TransformOp", "Transform/Common", "VisualShaderNodeTransformOp", TTR("Transform operator."), {}, VisualShaderNode::PORT_TYPE_TRANSFORM)); - add_options.push_back(AddOption("OuterProduct", "Transform", "Composition", "VisualShaderNodeOuterProduct", TTR("Calculate the outer product of a pair of vectors.\n\nOuterProduct treats the first parameter 'c' as a column vector (matrix with one column) and the second parameter 'r' as a row vector (matrix with one row) and does a linear algebraic matrix multiply 'c * r', yielding a matrix whose number of rows is the number of components in 'c' and whose number of columns is the number of components in 'r'."), {}, VisualShaderNode::PORT_TYPE_TRANSFORM)); - add_options.push_back(AddOption("TransformCompose", "Transform", "Composition", "VisualShaderNodeTransformCompose", TTR("Composes transform from four vectors."), {}, VisualShaderNode::PORT_TYPE_TRANSFORM)); - add_options.push_back(AddOption("TransformDecompose", "Transform", "Composition", "VisualShaderNodeTransformDecompose", TTR("Decomposes transform to four vectors."))); + add_options.push_back(AddOption("OuterProduct", "Transform/Composition", "VisualShaderNodeOuterProduct", TTR("Calculate the outer product of a pair of vectors.\n\nOuterProduct treats the first parameter 'c' as a column vector (matrix with one column) and the second parameter 'r' as a row vector (matrix with one row) and does a linear algebraic matrix multiply 'c * r', yielding a matrix whose number of rows is the number of components in 'c' and whose number of columns is the number of components in 'r'."), {}, VisualShaderNode::PORT_TYPE_TRANSFORM)); + add_options.push_back(AddOption("TransformCompose", "Transform/Composition", "VisualShaderNodeTransformCompose", TTR("Composes transform from four vectors."), {}, VisualShaderNode::PORT_TYPE_TRANSFORM)); + add_options.push_back(AddOption("TransformDecompose", "Transform/Composition", "VisualShaderNodeTransformDecompose", TTR("Decomposes transform to four vectors."))); - add_options.push_back(AddOption("Determinant", "Transform", "Functions", "VisualShaderNodeDeterminant", TTR("Calculates the determinant of a transform."), {}, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("GetBillboardMatrix", "Transform", "Functions", "VisualShaderNodeBillboard", TTR("Calculates how the object should face the camera to be applied on Model View Matrix output port for 3D objects."), {}, VisualShaderNode::PORT_TYPE_TRANSFORM, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("Inverse", "Transform", "Functions", "VisualShaderNodeTransformFunc", TTR("Calculates the inverse of a transform."), { VisualShaderNodeTransformFunc::FUNC_INVERSE }, VisualShaderNode::PORT_TYPE_TRANSFORM)); - add_options.push_back(AddOption("Transpose", "Transform", "Functions", "VisualShaderNodeTransformFunc", TTR("Calculates the transpose of a transform."), { VisualShaderNodeTransformFunc::FUNC_TRANSPOSE }, VisualShaderNode::PORT_TYPE_TRANSFORM)); + add_options.push_back(AddOption("Determinant", "Transform/Functions", "VisualShaderNodeDeterminant", TTR("Calculates the determinant of a transform."), {}, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("GetBillboardMatrix", "Transform/Functions", "VisualShaderNodeBillboard", TTR("Calculates how the object should face the camera to be applied on Model View Matrix output port for 3D objects."), {}, VisualShaderNode::PORT_TYPE_TRANSFORM, TYPE_FLAGS_VERTEX, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("Inverse", "Transform/Functions", "VisualShaderNodeTransformFunc", TTR("Calculates the inverse of a transform."), { VisualShaderNodeTransformFunc::FUNC_INVERSE }, VisualShaderNode::PORT_TYPE_TRANSFORM)); + add_options.push_back(AddOption("Transpose", "Transform/Functions", "VisualShaderNodeTransformFunc", TTR("Calculates the transpose of a transform."), { VisualShaderNodeTransformFunc::FUNC_TRANSPOSE }, VisualShaderNode::PORT_TYPE_TRANSFORM)); - add_options.push_back(AddOption("Add", "Transform", "Operators", "VisualShaderNodeTransformOp", TTR("Sums two transforms."), { VisualShaderNodeTransformOp::OP_ADD }, VisualShaderNode::PORT_TYPE_TRANSFORM)); - add_options.push_back(AddOption("Divide", "Transform", "Operators", "VisualShaderNodeTransformOp", TTR("Divides two transforms."), { VisualShaderNodeTransformOp::OP_A_DIV_B }, VisualShaderNode::PORT_TYPE_TRANSFORM)); - add_options.push_back(AddOption("Multiply", "Transform", "Operators", "VisualShaderNodeTransformOp", TTR("Multiplies two transforms."), { VisualShaderNodeTransformOp::OP_AxB }, VisualShaderNode::PORT_TYPE_TRANSFORM)); - add_options.push_back(AddOption("MultiplyComp", "Transform", "Operators", "VisualShaderNodeTransformOp", TTR("Performs per-component multiplication of two transforms."), { VisualShaderNodeTransformOp::OP_AxB_COMP }, VisualShaderNode::PORT_TYPE_TRANSFORM)); - add_options.push_back(AddOption("Subtract", "Transform", "Operators", "VisualShaderNodeTransformOp", TTR("Subtracts two transforms."), { VisualShaderNodeTransformOp::OP_A_MINUS_B }, VisualShaderNode::PORT_TYPE_TRANSFORM)); - add_options.push_back(AddOption("TransformVectorMult", "Transform", "Operators", "VisualShaderNodeTransformVecMult", TTR("Multiplies vector by transform."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Add", "Transform/Operators", "VisualShaderNodeTransformOp", TTR("Sums two transforms."), { VisualShaderNodeTransformOp::OP_ADD }, VisualShaderNode::PORT_TYPE_TRANSFORM)); + add_options.push_back(AddOption("Divide", "Transform/Operators", "VisualShaderNodeTransformOp", TTR("Divides two transforms."), { VisualShaderNodeTransformOp::OP_A_DIV_B }, VisualShaderNode::PORT_TYPE_TRANSFORM)); + add_options.push_back(AddOption("Multiply", "Transform/Operators", "VisualShaderNodeTransformOp", TTR("Multiplies two transforms."), { VisualShaderNodeTransformOp::OP_AxB }, VisualShaderNode::PORT_TYPE_TRANSFORM)); + add_options.push_back(AddOption("MultiplyComp", "Transform/Operators", "VisualShaderNodeTransformOp", TTR("Performs per-component multiplication of two transforms."), { VisualShaderNodeTransformOp::OP_AxB_COMP }, VisualShaderNode::PORT_TYPE_TRANSFORM)); + add_options.push_back(AddOption("Subtract", "Transform/Operators", "VisualShaderNodeTransformOp", TTR("Subtracts two transforms."), { VisualShaderNodeTransformOp::OP_A_MINUS_B }, VisualShaderNode::PORT_TYPE_TRANSFORM)); + add_options.push_back(AddOption("TransformVectorMult", "Transform/Operators", "VisualShaderNodeTransformVecMult", TTR("Multiplies vector by transform."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("TransformConstant", "Transform", "Variables", "VisualShaderNodeTransformConstant", TTR("Transform constant."), {}, VisualShaderNode::PORT_TYPE_TRANSFORM)); - add_options.push_back(AddOption("TransformParameter", "Transform", "Variables", "VisualShaderNodeTransformParameter", TTR("Transform parameter."), {}, VisualShaderNode::PORT_TYPE_TRANSFORM)); + add_options.push_back(AddOption("TransformConstant", "Transform/Variables", "VisualShaderNodeTransformConstant", TTR("Transform constant."), {}, VisualShaderNode::PORT_TYPE_TRANSFORM)); + add_options.push_back(AddOption("TransformParameter", "Transform/Variables", "VisualShaderNodeTransformParameter", TTR("Transform parameter."), {}, VisualShaderNode::PORT_TYPE_TRANSFORM)); // UTILITY - add_options.push_back(AddOption("DistanceFade", "Utility", "", "VisualShaderNodeDistanceFade", TTR("The distance fade effect fades out each pixel based on its distance to another object."), {}, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("ProximityFade", "Utility", "", "VisualShaderNodeProximityFade", TTR("The proximity fade effect fades out each pixel based on its distance to another object."), {}, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("RandomRange", "Utility", "", "VisualShaderNodeRandomRange", TTR("Returns a random value between the minimum and maximum input values."), {}, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Remap", "Utility", "", "VisualShaderNodeRemap", TTR("Remaps a given input from the input range to the output range."), {}, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("DistanceFade", "Utility", "VisualShaderNodeDistanceFade", TTR("The distance fade effect fades out each pixel based on its distance to another object."), {}, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("ProximityFade", "Utility", "VisualShaderNodeProximityFade", TTR("The proximity fade effect fades out each pixel based on its distance to another object."), {}, VisualShaderNode::PORT_TYPE_SCALAR, TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("RandomRange", "Utility", "VisualShaderNodeRandomRange", TTR("Returns a random value between the minimum and maximum input values."), {}, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Remap", "Utility", "VisualShaderNodeRemap", TTR("Remaps a given input from the input range to the output range."), {}, VisualShaderNode::PORT_TYPE_SCALAR)); // VECTOR - add_options.push_back(AddOption("VectorFunc", "Vector", "Common", "VisualShaderNodeVectorFunc", TTR("Vector function."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("VectorOp", "Vector", "Common", "VisualShaderNodeVectorOp", TTR("Vector operator."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("VectorCompose", "Vector", "Common", "VisualShaderNodeVectorCompose", TTR("Composes vector from scalars."))); - add_options.push_back(AddOption("VectorDecompose", "Vector", "Common", "VisualShaderNodeVectorDecompose", TTR("Decomposes vector to scalars."))); - - add_options.push_back(AddOption("Vector2Compose", "Vector", "Composition", "VisualShaderNodeVectorCompose", TTR("Composes 2D vector from two scalars."), { VisualShaderNodeVectorCompose::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Vector2Decompose", "Vector", "Composition", "VisualShaderNodeVectorDecompose", TTR("Decomposes 2D vector to two scalars."), { VisualShaderNodeVectorDecompose::OP_TYPE_VECTOR_2D })); - add_options.push_back(AddOption("Vector3Compose", "Vector", "Composition", "VisualShaderNodeVectorCompose", TTR("Composes 3D vector from three scalars."), { VisualShaderNodeVectorCompose::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Vector3Decompose", "Vector", "Composition", "VisualShaderNodeVectorDecompose", TTR("Decomposes 3D vector to three scalars."), { VisualShaderNodeVectorDecompose::OP_TYPE_VECTOR_3D })); - add_options.push_back(AddOption("Vector4Compose", "Vector", "Composition", "VisualShaderNodeVectorCompose", TTR("Composes 4D vector from four scalars."), { VisualShaderNodeVectorCompose::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Vector4Decompose", "Vector", "Composition", "VisualShaderNodeVectorDecompose", TTR("Decomposes 4D vector to four scalars."), { VisualShaderNodeVectorDecompose::OP_TYPE_VECTOR_4D })); - - add_options.push_back(AddOption("Abs", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the absolute value of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ABS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Abs", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the absolute value of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ABS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Abs", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the absolute value of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ABS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("ACos", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the arc-cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ACOS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("ACos", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the arc-cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ACOS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("ACos", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the arc-cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ACOS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("ACosH", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse hyperbolic cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ACOSH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("ACosH", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse hyperbolic cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ACOSH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("ACosH", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse hyperbolic cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ACOSH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("ASin", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the arc-sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ASIN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("ASin", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the arc-sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ASIN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("ASin", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the arc-sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ASIN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("ASinH", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse hyperbolic sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ASINH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("ASinH", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse hyperbolic sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ASINH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("ASinH", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse hyperbolic sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ASINH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("ATan", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the arc-tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ATAN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("ATan", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the arc-tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ATAN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("ATan", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the arc-tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ATAN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("ATan2", "Vector", "Functions", "VisualShaderNodeVectorOp", TTR("Returns the arc-tangent of the parameters."), { VisualShaderNodeVectorOp::OP_ATAN2, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("ATan2", "Vector", "Functions", "VisualShaderNodeVectorOp", TTR("Returns the arc-tangent of the parameters."), { VisualShaderNodeVectorOp::OP_ATAN2, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("ATan2", "Vector", "Functions", "VisualShaderNodeVectorOp", TTR("Returns the arc-tangent of the parameters."), { VisualShaderNodeVectorOp::OP_ATAN2, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("ATanH", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse hyperbolic tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ATANH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("ATanH", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse hyperbolic tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ATANH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("ATanH", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse hyperbolic tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ATANH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Ceil", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer that is greater than or equal to the parameter."), { VisualShaderNodeVectorFunc::FUNC_CEIL }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Ceil", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer that is greater than or equal to the parameter."), { VisualShaderNodeVectorFunc::FUNC_CEIL, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Ceil", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer that is greater than or equal to the parameter."), { VisualShaderNodeVectorFunc::FUNC_CEIL, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Clamp", "Vector", "Functions", "VisualShaderNodeClamp", TTR("Constrains a value to lie between two further values."), { VisualShaderNodeClamp::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Clamp", "Vector", "Functions", "VisualShaderNodeClamp", TTR("Constrains a value to lie between two further values."), { VisualShaderNodeClamp::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Clamp", "Vector", "Functions", "VisualShaderNodeClamp", TTR("Constrains a value to lie between two further values."), { VisualShaderNodeClamp::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Cos", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_COS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Cos", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_COS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Cos", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_COS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("CosH", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the hyperbolic cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_COSH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("CosH", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the hyperbolic cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_COSH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("CosH", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the hyperbolic cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_COSH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Cross", "Vector", "Functions", "VisualShaderNodeVectorOp", TTR("Calculates the cross product of two vectors."), { VisualShaderNodeVectorOp::OP_CROSS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Degrees", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Converts a quantity in radians to degrees."), { VisualShaderNodeVectorFunc::FUNC_DEGREES, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Degrees", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Converts a quantity in radians to degrees."), { VisualShaderNodeVectorFunc::FUNC_DEGREES, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Degrees", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Converts a quantity in radians to degrees."), { VisualShaderNodeVectorFunc::FUNC_DEGREES, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("DFdX", "Vector", "Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Vector) Derivative in 'x' using local differencing."), { VisualShaderNodeDerivativeFunc::FUNC_X, VisualShaderNodeDerivativeFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); - add_options.push_back(AddOption("DFdX", "Vector", "Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Vector) Derivative in 'x' using local differencing."), { VisualShaderNodeDerivativeFunc::FUNC_X, VisualShaderNodeDerivativeFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); - add_options.push_back(AddOption("DFdX", "Vector", "Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Vector) Derivative in 'x' using local differencing."), { VisualShaderNodeDerivativeFunc::FUNC_X, VisualShaderNodeDerivativeFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); - add_options.push_back(AddOption("DFdY", "Vector", "Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Vector) Derivative in 'y' using local differencing."), { VisualShaderNodeDerivativeFunc::FUNC_Y, VisualShaderNodeDerivativeFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); - add_options.push_back(AddOption("DFdY", "Vector", "Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Vector) Derivative in 'y' using local differencing."), { VisualShaderNodeDerivativeFunc::FUNC_Y, VisualShaderNodeDerivativeFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); - add_options.push_back(AddOption("DFdY", "Vector", "Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Vector) Derivative in 'y' using local differencing."), { VisualShaderNodeDerivativeFunc::FUNC_Y, VisualShaderNodeDerivativeFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); - add_options.push_back(AddOption("Distance2D", "Vector", "Functions", "VisualShaderNodeVectorDistance", TTR("Returns the distance between two points."), { VisualShaderNodeVectorDistance::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Distance3D", "Vector", "Functions", "VisualShaderNodeVectorDistance", TTR("Returns the distance between two points."), { VisualShaderNodeVectorDistance::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Distance4D", "Vector", "Functions", "VisualShaderNodeVectorDistance", TTR("Returns the distance between two points."), { VisualShaderNodeVectorDistance::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Dot", "Vector", "Functions", "VisualShaderNodeDotProduct", TTR("Calculates the dot product of two vectors."), {}, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Exp", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Base-e Exponential."), { VisualShaderNodeVectorFunc::FUNC_EXP, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Exp", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Base-e Exponential."), { VisualShaderNodeVectorFunc::FUNC_EXP, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Exp", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Base-e Exponential."), { VisualShaderNodeVectorFunc::FUNC_EXP, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Exp2", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Base-2 Exponential."), { VisualShaderNodeVectorFunc::FUNC_EXP2, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Exp2", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Base-2 Exponential."), { VisualShaderNodeVectorFunc::FUNC_EXP2, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Exp2", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Base-2 Exponential."), { VisualShaderNodeVectorFunc::FUNC_EXP2, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("FaceForward", "Vector", "Functions", "VisualShaderNodeFaceForward", TTR("Returns the vector that points in the same direction as a reference vector. The function has three vector parameters : N, the vector to orient, I, the incident vector, and Nref, the reference vector. If the dot product of I and Nref is smaller than zero the return value is N. Otherwise -N is returned."), { VisualShaderNodeFaceForward::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("FaceForward", "Vector", "Functions", "VisualShaderNodeFaceForward", TTR("Returns the vector that points in the same direction as a reference vector. The function has three vector parameters : N, the vector to orient, I, the incident vector, and Nref, the reference vector. If the dot product of I and Nref is smaller than zero the return value is N. Otherwise -N is returned."), { VisualShaderNodeFaceForward::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("FaceForward", "Vector", "Functions", "VisualShaderNodeFaceForward", TTR("Returns the vector that points in the same direction as a reference vector. The function has three vector parameters : N, the vector to orient, I, the incident vector, and Nref, the reference vector. If the dot product of I and Nref is smaller than zero the return value is N. Otherwise -N is returned."), { VisualShaderNodeFaceForward::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Floor", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer less than or equal to the parameter."), { VisualShaderNodeVectorFunc::FUNC_FLOOR, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Floor", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer less than or equal to the parameter."), { VisualShaderNodeVectorFunc::FUNC_FLOOR, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Floor", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer less than or equal to the parameter."), { VisualShaderNodeVectorFunc::FUNC_FLOOR, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Fract", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Computes the fractional part of the argument."), { VisualShaderNodeVectorFunc::FUNC_FRACT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Fract", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Computes the fractional part of the argument."), { VisualShaderNodeVectorFunc::FUNC_FRACT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Fract", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Computes the fractional part of the argument."), { VisualShaderNodeVectorFunc::FUNC_FRACT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Fresnel", "Vector", "Functions", "VisualShaderNodeFresnel", TTR("Returns falloff based on the dot product of surface normal and view direction of camera (pass associated inputs to it)."), {}, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("InverseSqrt", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse of the square root of the parameter."), { VisualShaderNodeVectorFunc::FUNC_INVERSE_SQRT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("InverseSqrt", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse of the square root of the parameter."), { VisualShaderNodeVectorFunc::FUNC_INVERSE_SQRT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("InverseSqrt", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse of the square root of the parameter."), { VisualShaderNodeVectorFunc::FUNC_INVERSE_SQRT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Length2D", "Vector", "Functions", "VisualShaderNodeVectorLen", TTR("Calculates the length of a vector."), { VisualShaderNodeVectorLen::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Length3D", "Vector", "Functions", "VisualShaderNodeVectorLen", TTR("Calculates the length of a vector."), { VisualShaderNodeVectorLen::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Length4D", "Vector", "Functions", "VisualShaderNodeVectorLen", TTR("Calculates the length of a vector."), { VisualShaderNodeVectorLen::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Log", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Natural logarithm."), { VisualShaderNodeVectorFunc::FUNC_LOG, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Log", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Natural logarithm."), { VisualShaderNodeVectorFunc::FUNC_LOG, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Log", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Natural logarithm."), { VisualShaderNodeVectorFunc::FUNC_LOG, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Log2", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Base-2 logarithm."), { VisualShaderNodeVectorFunc::FUNC_LOG2, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Log2", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Base-2 logarithm."), { VisualShaderNodeVectorFunc::FUNC_LOG2, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Log2", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Base-2 logarithm."), { VisualShaderNodeVectorFunc::FUNC_LOG2, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Max", "Vector", "Functions", "VisualShaderNodeVectorOp", TTR("Returns the greater of two values."), { VisualShaderNodeVectorOp::OP_MAX, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Max", "Vector", "Functions", "VisualShaderNodeVectorOp", TTR("Returns the greater of two values."), { VisualShaderNodeVectorOp::OP_MAX, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Max", "Vector", "Functions", "VisualShaderNodeVectorOp", TTR("Returns the greater of two values."), { VisualShaderNodeVectorOp::OP_MAX, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Min", "Vector", "Functions", "VisualShaderNodeVectorOp", TTR("Returns the lesser of two values."), { VisualShaderNodeVectorOp::OP_MIN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Min", "Vector", "Functions", "VisualShaderNodeVectorOp", TTR("Returns the lesser of two values."), { VisualShaderNodeVectorOp::OP_MIN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Min", "Vector", "Functions", "VisualShaderNodeVectorOp", TTR("Returns the lesser of two values."), { VisualShaderNodeVectorOp::OP_MIN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Mix", "Vector", "Functions", "VisualShaderNodeMix", TTR("Linear interpolation between two vectors."), { VisualShaderNodeMix::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Mix", "Vector", "Functions", "VisualShaderNodeMix", TTR("Linear interpolation between two vectors."), { VisualShaderNodeMix::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Mix", "Vector", "Functions", "VisualShaderNodeMix", TTR("Linear interpolation between two vectors."), { VisualShaderNodeMix::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("MixS", "Vector", "Functions", "VisualShaderNodeMix", TTR("Linear interpolation between two vectors using scalar."), { VisualShaderNodeMix::OP_TYPE_VECTOR_2D_SCALAR }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("MixS", "Vector", "Functions", "VisualShaderNodeMix", TTR("Linear interpolation between two vectors using scalar."), { VisualShaderNodeMix::OP_TYPE_VECTOR_3D_SCALAR }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("MixS", "Vector", "Functions", "VisualShaderNodeMix", TTR("Linear interpolation between two vectors using scalar."), { VisualShaderNodeMix::OP_TYPE_VECTOR_4D_SCALAR }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("MultiplyAdd", "Vector", "Functions", "VisualShaderNodeMultiplyAdd", TTR("Performs a fused multiply-add operation (a * b + c) on vectors."), { VisualShaderNodeMultiplyAdd::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("MultiplyAdd", "Vector", "Functions", "VisualShaderNodeMultiplyAdd", TTR("Performs a fused multiply-add operation (a * b + c) on vectors."), { VisualShaderNodeMultiplyAdd::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("MultiplyAdd", "Vector", "Functions", "VisualShaderNodeMultiplyAdd", TTR("Performs a fused multiply-add operation (a * b + c) on vectors."), { VisualShaderNodeMultiplyAdd::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Negate", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the opposite value of the parameter."), { VisualShaderNodeVectorFunc::FUNC_NEGATE, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Negate", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the opposite value of the parameter."), { VisualShaderNodeVectorFunc::FUNC_NEGATE, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Negate", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the opposite value of the parameter."), { VisualShaderNodeVectorFunc::FUNC_NEGATE, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Normalize", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Calculates the normalize product of vector."), { VisualShaderNodeVectorFunc::FUNC_NORMALIZE, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Normalize", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Calculates the normalize product of vector."), { VisualShaderNodeVectorFunc::FUNC_NORMALIZE, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Normalize", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Calculates the normalize product of vector."), { VisualShaderNodeVectorFunc::FUNC_NORMALIZE, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("OneMinus", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("1.0 - vector"), { VisualShaderNodeVectorFunc::FUNC_ONEMINUS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("OneMinus", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("1.0 - vector"), { VisualShaderNodeVectorFunc::FUNC_ONEMINUS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("OneMinus", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("1.0 - vector"), { VisualShaderNodeVectorFunc::FUNC_ONEMINUS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Pow", "Vector", "Functions", "VisualShaderNodeVectorOp", TTR("Returns the value of the first parameter raised to the power of the second."), { VisualShaderNodeVectorOp::OP_POW, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Pow", "Vector", "Functions", "VisualShaderNodeVectorOp", TTR("Returns the value of the first parameter raised to the power of the second."), { VisualShaderNodeVectorOp::OP_POW, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Pow", "Vector", "Functions", "VisualShaderNodeVectorOp", TTR("Returns the value of the first parameter raised to the power of the second."), { VisualShaderNodeVectorOp::OP_POW, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Radians", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Converts a quantity in degrees to radians."), { VisualShaderNodeVectorFunc::FUNC_RADIANS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Radians", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Converts a quantity in degrees to radians."), { VisualShaderNodeVectorFunc::FUNC_RADIANS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Radians", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Converts a quantity in degrees to radians."), { VisualShaderNodeVectorFunc::FUNC_RADIANS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Reciprocal", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("1.0 / vector"), { VisualShaderNodeVectorFunc::FUNC_RECIPROCAL, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Reciprocal", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("1.0 / vector"), { VisualShaderNodeVectorFunc::FUNC_RECIPROCAL, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Reciprocal", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("1.0 / vector"), { VisualShaderNodeVectorFunc::FUNC_RECIPROCAL, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Reflect", "Vector", "Functions", "VisualShaderNodeVectorOp", TTR("Returns the vector that points in the direction of reflection ( a : incident vector, b : normal vector )."), { VisualShaderNodeVectorOp::OP_REFLECT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Reflect", "Vector", "Functions", "VisualShaderNodeVectorOp", TTR("Returns the vector that points in the direction of reflection ( a : incident vector, b : normal vector )."), { VisualShaderNodeVectorOp::OP_REFLECT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Reflect", "Vector", "Functions", "VisualShaderNodeVectorOp", TTR("Returns the vector that points in the direction of reflection ( a : incident vector, b : normal vector )."), { VisualShaderNodeVectorOp::OP_REFLECT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Refract", "Vector", "Functions", "VisualShaderNodeVectorRefract", TTR("Returns the vector that points in the direction of refraction."), {}, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Refract", "Vector", "Functions", "VisualShaderNodeVectorRefract", TTR("Returns the vector that points in the direction of refraction."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Refract", "Vector", "Functions", "VisualShaderNodeVectorRefract", TTR("Returns the vector that points in the direction of refraction."), {}, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Round", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer to the parameter."), { VisualShaderNodeVectorFunc::FUNC_ROUND, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Round", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer to the parameter."), { VisualShaderNodeVectorFunc::FUNC_ROUND, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Round", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer to the parameter."), { VisualShaderNodeVectorFunc::FUNC_ROUND, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("RoundEven", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest even integer to the parameter."), { VisualShaderNodeVectorFunc::FUNC_ROUNDEVEN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("RoundEven", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest even integer to the parameter."), { VisualShaderNodeVectorFunc::FUNC_ROUNDEVEN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("RoundEven", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest even integer to the parameter."), { VisualShaderNodeVectorFunc::FUNC_ROUNDEVEN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Saturate", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Clamps the value between 0.0 and 1.0."), { VisualShaderNodeVectorFunc::FUNC_SATURATE, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Saturate", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Clamps the value between 0.0 and 1.0."), { VisualShaderNodeVectorFunc::FUNC_SATURATE, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Saturate", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Clamps the value between 0.0 and 1.0."), { VisualShaderNodeVectorFunc::FUNC_SATURATE, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Sign", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Extracts the sign of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SIGN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Sign", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Extracts the sign of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SIGN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Sign", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Extracts the sign of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SIGN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Sin", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SIN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Sin", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SIN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Sin", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SIN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("SinH", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the hyperbolic sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SINH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("SinH", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the hyperbolic sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SINH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("SinH", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the hyperbolic sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SINH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Sqrt", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the square root of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SQRT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Sqrt", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the square root of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SQRT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Sqrt", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the square root of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SQRT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("SmoothStep", "Vector", "Functions", "VisualShaderNodeSmoothStep", TTR("SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than 'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 using Hermite polynomials."), { VisualShaderNodeSmoothStep::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("SmoothStep", "Vector", "Functions", "VisualShaderNodeSmoothStep", TTR("SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than 'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 using Hermite polynomials."), { VisualShaderNodeSmoothStep::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("SmoothStep", "Vector", "Functions", "VisualShaderNodeSmoothStep", TTR("SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than 'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 using Hermite polynomials."), { VisualShaderNodeSmoothStep::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("SmoothStepS", "Vector", "Functions", "VisualShaderNodeSmoothStep", TTR("SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than 'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 using Hermite polynomials."), { VisualShaderNodeSmoothStep::OP_TYPE_VECTOR_2D_SCALAR }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("SmoothStepS", "Vector", "Functions", "VisualShaderNodeSmoothStep", TTR("SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than 'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 using Hermite polynomials."), { VisualShaderNodeSmoothStep::OP_TYPE_VECTOR_3D_SCALAR }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("SmoothStepS", "Vector", "Functions", "VisualShaderNodeSmoothStep", TTR("SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than 'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 using Hermite polynomials."), { VisualShaderNodeSmoothStep::OP_TYPE_VECTOR_4D_SCALAR }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Step", "Vector", "Functions", "VisualShaderNodeStep", TTR("Step function( vector(edge), vector(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."), { VisualShaderNodeStep::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Step", "Vector", "Functions", "VisualShaderNodeStep", TTR("Step function( vector(edge), vector(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."), { VisualShaderNodeStep::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("StepS", "Vector", "Functions", "VisualShaderNodeStep", TTR("Step function( scalar(edge), vector(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."), { VisualShaderNodeStep::OP_TYPE_VECTOR_2D_SCALAR }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("StepS", "Vector", "Functions", "VisualShaderNodeStep", TTR("Step function( scalar(edge), vector(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."), { VisualShaderNodeStep::OP_TYPE_VECTOR_3D_SCALAR }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("StepS", "Vector", "Functions", "VisualShaderNodeStep", TTR("Step function( scalar(edge), vector(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."), { VisualShaderNodeStep::OP_TYPE_VECTOR_4D_SCALAR }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Sum", "Vector", "Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Vector) Sum of absolute derivative in 'x' and 'y'."), { VisualShaderNodeDerivativeFunc::FUNC_SUM, VisualShaderNodeDerivativeFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); - add_options.push_back(AddOption("Sum", "Vector", "Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Vector) Sum of absolute derivative in 'x' and 'y'."), { VisualShaderNodeDerivativeFunc::FUNC_SUM, VisualShaderNodeDerivativeFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); - add_options.push_back(AddOption("Sum", "Vector", "Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Vector) Sum of absolute derivative in 'x' and 'y'."), { VisualShaderNodeDerivativeFunc::FUNC_SUM, VisualShaderNodeDerivativeFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); - add_options.push_back(AddOption("Tan", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_TAN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Tan", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_TAN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Tan", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_TAN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("TanH", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the hyperbolic tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_TANH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("TanH", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the hyperbolic tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_TANH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("TanH", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Returns the hyperbolic tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_TANH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Trunc", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Finds the truncated value of the parameter."), { VisualShaderNodeVectorFunc::FUNC_TRUNC, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Trunc", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Finds the truncated value of the parameter."), { VisualShaderNodeVectorFunc::FUNC_TRUNC, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Trunc", "Vector", "Functions", "VisualShaderNodeVectorFunc", TTR("Finds the truncated value of the parameter."), { VisualShaderNodeVectorFunc::FUNC_TRUNC, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - - add_options.push_back(AddOption("Add", "Vector", "Operators", "VisualShaderNodeVectorOp", TTR("Adds 2D vector to 2D vector."), { VisualShaderNodeVectorOp::OP_ADD, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Add", "Vector", "Operators", "VisualShaderNodeVectorOp", TTR("Adds 3D vector to 3D vector."), { VisualShaderNodeVectorOp::OP_ADD, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Add", "Vector", "Operators", "VisualShaderNodeVectorOp", TTR("Adds 4D vector to 4D vector."), { VisualShaderNodeVectorOp::OP_ADD, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Divide", "Vector", "Operators", "VisualShaderNodeVectorOp", TTR("Divides 2D vector by 2D vector."), { VisualShaderNodeVectorOp::OP_DIV, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Divide", "Vector", "Operators", "VisualShaderNodeVectorOp", TTR("Divides 3D vector by 3D vector."), { VisualShaderNodeVectorOp::OP_DIV, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Divide", "Vector", "Operators", "VisualShaderNodeVectorOp", TTR("Divides 4D vector by 4D vector."), { VisualShaderNodeVectorOp::OP_DIV, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Multiply", "Vector", "Operators", "VisualShaderNodeVectorOp", TTR("Multiplies 2D vector by 2D vector."), { VisualShaderNodeVectorOp::OP_MUL, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Multiply", "Vector", "Operators", "VisualShaderNodeVectorOp", TTR("Multiplies 3D vector by 3D vector."), { VisualShaderNodeVectorOp::OP_MUL, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Multiply", "Vector", "Operators", "VisualShaderNodeVectorOp", TTR("Multiplies 4D vector by 4D vector."), { VisualShaderNodeVectorOp::OP_MUL, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Remainder", "Vector", "Operators", "VisualShaderNodeVectorOp", TTR("Returns the remainder of the two 2D vectors."), { VisualShaderNodeVectorOp::OP_MOD, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Remainder", "Vector", "Operators", "VisualShaderNodeVectorOp", TTR("Returns the remainder of the two 3D vectors."), { VisualShaderNodeVectorOp::OP_MOD, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Remainder", "Vector", "Operators", "VisualShaderNodeVectorOp", TTR("Returns the remainder of the two 4D vectors."), { VisualShaderNodeVectorOp::OP_MOD, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Subtract", "Vector", "Operators", "VisualShaderNodeVectorOp", TTR("Subtracts 2D vector from 2D vector."), { VisualShaderNodeVectorOp::OP_SUB, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Subtract", "Vector", "Operators", "VisualShaderNodeVectorOp", TTR("Subtracts 3D vector from 3D vector."), { VisualShaderNodeVectorOp::OP_SUB, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Subtract", "Vector", "Operators", "VisualShaderNodeVectorOp", TTR("Subtracts 4D vector from 4D vector."), { VisualShaderNodeVectorOp::OP_SUB, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - - add_options.push_back(AddOption("Vector2Constant", "Vector", "Variables", "VisualShaderNodeVec2Constant", TTR("2D vector constant."), {}, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Vector2Parameter", "Vector", "Variables", "VisualShaderNodeVec2Parameter", TTR("2D vector parameter."), {}, VisualShaderNode::PORT_TYPE_VECTOR_2D)); - add_options.push_back(AddOption("Vector3Constant", "Vector", "Variables", "VisualShaderNodeVec3Constant", TTR("3D vector constant."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Vector3Parameter", "Vector", "Variables", "VisualShaderNodeVec3Parameter", TTR("3D vector parameter."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D)); - add_options.push_back(AddOption("Vector4Constant", "Vector", "Variables", "VisualShaderNodeVec4Constant", TTR("4D vector constant."), {}, VisualShaderNode::PORT_TYPE_VECTOR_4D)); - add_options.push_back(AddOption("Vector4Parameter", "Vector", "Variables", "VisualShaderNodeVec4Parameter", TTR("4D vector parameter."), {}, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("VectorFunc", "Vector/Common", "VisualShaderNodeVectorFunc", TTR("Vector function."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("VectorOp", "Vector/Common", "VisualShaderNodeVectorOp", TTR("Vector operator."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("VectorCompose", "Vector/Common", "VisualShaderNodeVectorCompose", TTR("Composes vector from scalars."))); + add_options.push_back(AddOption("VectorDecompose", "Vector/Common", "VisualShaderNodeVectorDecompose", TTR("Decomposes vector to scalars."))); + + add_options.push_back(AddOption("Vector2Compose", "Vector/Composition", "VisualShaderNodeVectorCompose", TTR("Composes 2D vector from two scalars."), { VisualShaderNodeVectorCompose::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Vector2Decompose", "Vector/Composition", "VisualShaderNodeVectorDecompose", TTR("Decomposes 2D vector to two scalars."), { VisualShaderNodeVectorDecompose::OP_TYPE_VECTOR_2D })); + add_options.push_back(AddOption("Vector3Compose", "Vector/Composition", "VisualShaderNodeVectorCompose", TTR("Composes 3D vector from three scalars."), { VisualShaderNodeVectorCompose::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Vector3Decompose", "Vector/Composition", "VisualShaderNodeVectorDecompose", TTR("Decomposes 3D vector to three scalars."), { VisualShaderNodeVectorDecompose::OP_TYPE_VECTOR_3D })); + add_options.push_back(AddOption("Vector4Compose", "Vector/Composition", "VisualShaderNodeVectorCompose", TTR("Composes 4D vector from four scalars."), { VisualShaderNodeVectorCompose::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Vector4Decompose", "Vector/Composition", "VisualShaderNodeVectorDecompose", TTR("Decomposes 4D vector to four scalars."), { VisualShaderNodeVectorDecompose::OP_TYPE_VECTOR_4D })); + + add_options.push_back(AddOption("Abs", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the absolute value of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ABS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Abs", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the absolute value of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ABS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Abs", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the absolute value of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ABS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("ACos", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the arc-cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ACOS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("ACos", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the arc-cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ACOS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("ACos", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the arc-cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ACOS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("ACosH", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse hyperbolic cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ACOSH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("ACosH", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse hyperbolic cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ACOSH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("ACosH", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse hyperbolic cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ACOSH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("ASin", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the arc-sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ASIN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("ASin", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the arc-sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ASIN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("ASin", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the arc-sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ASIN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("ASinH", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse hyperbolic sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ASINH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("ASinH", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse hyperbolic sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ASINH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("ASinH", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse hyperbolic sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ASINH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("ATan", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the arc-tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ATAN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("ATan", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the arc-tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ATAN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("ATan", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the arc-tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ATAN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("ATan2", "Vector/Functions", "VisualShaderNodeVectorOp", TTR("Returns the arc-tangent of the parameters."), { VisualShaderNodeVectorOp::OP_ATAN2, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("ATan2", "Vector/Functions", "VisualShaderNodeVectorOp", TTR("Returns the arc-tangent of the parameters."), { VisualShaderNodeVectorOp::OP_ATAN2, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("ATan2", "Vector/Functions", "VisualShaderNodeVectorOp", TTR("Returns the arc-tangent of the parameters."), { VisualShaderNodeVectorOp::OP_ATAN2, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("ATanH", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse hyperbolic tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ATANH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("ATanH", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse hyperbolic tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ATANH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("ATanH", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse hyperbolic tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_ATANH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Ceil", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer that is greater than or equal to the parameter."), { VisualShaderNodeVectorFunc::FUNC_CEIL }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Ceil", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer that is greater than or equal to the parameter."), { VisualShaderNodeVectorFunc::FUNC_CEIL, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Ceil", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer that is greater than or equal to the parameter."), { VisualShaderNodeVectorFunc::FUNC_CEIL, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Clamp", "Vector/Functions", "VisualShaderNodeClamp", TTR("Constrains a value to lie between two further values."), { VisualShaderNodeClamp::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Clamp", "Vector/Functions", "VisualShaderNodeClamp", TTR("Constrains a value to lie between two further values."), { VisualShaderNodeClamp::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Clamp", "Vector/Functions", "VisualShaderNodeClamp", TTR("Constrains a value to lie between two further values."), { VisualShaderNodeClamp::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Cos", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_COS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Cos", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_COS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Cos", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_COS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("CosH", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the hyperbolic cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_COSH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("CosH", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the hyperbolic cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_COSH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("CosH", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the hyperbolic cosine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_COSH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Cross", "Vector/Functions", "VisualShaderNodeVectorOp", TTR("Calculates the cross product of two vectors."), { VisualShaderNodeVectorOp::OP_CROSS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Degrees", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Converts a quantity in radians to degrees."), { VisualShaderNodeVectorFunc::FUNC_DEGREES, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Degrees", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Converts a quantity in radians to degrees."), { VisualShaderNodeVectorFunc::FUNC_DEGREES, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Degrees", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Converts a quantity in radians to degrees."), { VisualShaderNodeVectorFunc::FUNC_DEGREES, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("DFdX", "Vector/Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Vector) Derivative in 'x' using local differencing."), { VisualShaderNodeDerivativeFunc::FUNC_X, VisualShaderNodeDerivativeFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); + add_options.push_back(AddOption("DFdX", "Vector/Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Vector) Derivative in 'x' using local differencing."), { VisualShaderNodeDerivativeFunc::FUNC_X, VisualShaderNodeDerivativeFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); + add_options.push_back(AddOption("DFdX", "Vector/Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Vector) Derivative in 'x' using local differencing."), { VisualShaderNodeDerivativeFunc::FUNC_X, VisualShaderNodeDerivativeFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); + add_options.push_back(AddOption("DFdY", "Vector/Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Vector) Derivative in 'y' using local differencing."), { VisualShaderNodeDerivativeFunc::FUNC_Y, VisualShaderNodeDerivativeFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); + add_options.push_back(AddOption("DFdY", "Vector/Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Vector) Derivative in 'y' using local differencing."), { VisualShaderNodeDerivativeFunc::FUNC_Y, VisualShaderNodeDerivativeFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); + add_options.push_back(AddOption("DFdY", "Vector/Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Vector) Derivative in 'y' using local differencing."), { VisualShaderNodeDerivativeFunc::FUNC_Y, VisualShaderNodeDerivativeFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); + add_options.push_back(AddOption("Distance2D", "Vector/Functions", "VisualShaderNodeVectorDistance", TTR("Returns the distance between two points."), { VisualShaderNodeVectorDistance::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Distance3D", "Vector/Functions", "VisualShaderNodeVectorDistance", TTR("Returns the distance between two points."), { VisualShaderNodeVectorDistance::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Distance4D", "Vector/Functions", "VisualShaderNodeVectorDistance", TTR("Returns the distance between two points."), { VisualShaderNodeVectorDistance::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Dot", "Vector/Functions", "VisualShaderNodeDotProduct", TTR("Calculates the dot product of two vectors."), {}, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Exp", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Base-e Exponential."), { VisualShaderNodeVectorFunc::FUNC_EXP, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Exp", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Base-e Exponential."), { VisualShaderNodeVectorFunc::FUNC_EXP, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Exp", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Base-e Exponential."), { VisualShaderNodeVectorFunc::FUNC_EXP, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Exp2", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Base-2 Exponential."), { VisualShaderNodeVectorFunc::FUNC_EXP2, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Exp2", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Base-2 Exponential."), { VisualShaderNodeVectorFunc::FUNC_EXP2, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Exp2", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Base-2 Exponential."), { VisualShaderNodeVectorFunc::FUNC_EXP2, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("FaceForward", "Vector/Functions", "VisualShaderNodeFaceForward", TTR("Returns the vector that points in the same direction as a reference vector. The function has three vector parameters : N, the vector to orient, I, the incident vector, and Nref, the reference vector. If the dot product of I and Nref is smaller than zero the return value is N. Otherwise -N is returned."), { VisualShaderNodeFaceForward::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("FaceForward", "Vector/Functions", "VisualShaderNodeFaceForward", TTR("Returns the vector that points in the same direction as a reference vector. The function has three vector parameters : N, the vector to orient, I, the incident vector, and Nref, the reference vector. If the dot product of I and Nref is smaller than zero the return value is N. Otherwise -N is returned."), { VisualShaderNodeFaceForward::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("FaceForward", "Vector/Functions", "VisualShaderNodeFaceForward", TTR("Returns the vector that points in the same direction as a reference vector. The function has three vector parameters : N, the vector to orient, I, the incident vector, and Nref, the reference vector. If the dot product of I and Nref is smaller than zero the return value is N. Otherwise -N is returned."), { VisualShaderNodeFaceForward::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Floor", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer less than or equal to the parameter."), { VisualShaderNodeVectorFunc::FUNC_FLOOR, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Floor", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer less than or equal to the parameter."), { VisualShaderNodeVectorFunc::FUNC_FLOOR, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Floor", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer less than or equal to the parameter."), { VisualShaderNodeVectorFunc::FUNC_FLOOR, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Fract", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Computes the fractional part of the argument."), { VisualShaderNodeVectorFunc::FUNC_FRACT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Fract", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Computes the fractional part of the argument."), { VisualShaderNodeVectorFunc::FUNC_FRACT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Fract", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Computes the fractional part of the argument."), { VisualShaderNodeVectorFunc::FUNC_FRACT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Fresnel", "Vector/Functions", "VisualShaderNodeFresnel", TTR("Returns falloff based on the dot product of surface normal and view direction of camera (pass associated inputs to it)."), {}, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("InverseSqrt", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse of the square root of the parameter."), { VisualShaderNodeVectorFunc::FUNC_INVERSE_SQRT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("InverseSqrt", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse of the square root of the parameter."), { VisualShaderNodeVectorFunc::FUNC_INVERSE_SQRT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("InverseSqrt", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the inverse of the square root of the parameter."), { VisualShaderNodeVectorFunc::FUNC_INVERSE_SQRT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Length2D", "Vector/Functions", "VisualShaderNodeVectorLen", TTR("Calculates the length of a vector."), { VisualShaderNodeVectorLen::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Length3D", "Vector/Functions", "VisualShaderNodeVectorLen", TTR("Calculates the length of a vector."), { VisualShaderNodeVectorLen::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Length4D", "Vector/Functions", "VisualShaderNodeVectorLen", TTR("Calculates the length of a vector."), { VisualShaderNodeVectorLen::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_SCALAR)); + add_options.push_back(AddOption("Log", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Natural logarithm."), { VisualShaderNodeVectorFunc::FUNC_LOG, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Log", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Natural logarithm."), { VisualShaderNodeVectorFunc::FUNC_LOG, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Log", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Natural logarithm."), { VisualShaderNodeVectorFunc::FUNC_LOG, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Log2", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Base-2 logarithm."), { VisualShaderNodeVectorFunc::FUNC_LOG2, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Log2", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Base-2 logarithm."), { VisualShaderNodeVectorFunc::FUNC_LOG2, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Log2", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Base-2 logarithm."), { VisualShaderNodeVectorFunc::FUNC_LOG2, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Max", "Vector/Functions", "VisualShaderNodeVectorOp", TTR("Returns the greater of two values."), { VisualShaderNodeVectorOp::OP_MAX, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Max", "Vector/Functions", "VisualShaderNodeVectorOp", TTR("Returns the greater of two values."), { VisualShaderNodeVectorOp::OP_MAX, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Max", "Vector/Functions", "VisualShaderNodeVectorOp", TTR("Returns the greater of two values."), { VisualShaderNodeVectorOp::OP_MAX, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Min", "Vector/Functions", "VisualShaderNodeVectorOp", TTR("Returns the lesser of two values."), { VisualShaderNodeVectorOp::OP_MIN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Min", "Vector/Functions", "VisualShaderNodeVectorOp", TTR("Returns the lesser of two values."), { VisualShaderNodeVectorOp::OP_MIN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Min", "Vector/Functions", "VisualShaderNodeVectorOp", TTR("Returns the lesser of two values."), { VisualShaderNodeVectorOp::OP_MIN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Mix", "Vector/Functions", "VisualShaderNodeMix", TTR("Linear interpolation between two vectors."), { VisualShaderNodeMix::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Mix", "Vector/Functions", "VisualShaderNodeMix", TTR("Linear interpolation between two vectors."), { VisualShaderNodeMix::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Mix", "Vector/Functions", "VisualShaderNodeMix", TTR("Linear interpolation between two vectors."), { VisualShaderNodeMix::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("MixS", "Vector/Functions", "VisualShaderNodeMix", TTR("Linear interpolation between two vectors using scalar."), { VisualShaderNodeMix::OP_TYPE_VECTOR_2D_SCALAR }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("MixS", "Vector/Functions", "VisualShaderNodeMix", TTR("Linear interpolation between two vectors using scalar."), { VisualShaderNodeMix::OP_TYPE_VECTOR_3D_SCALAR }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("MixS", "Vector/Functions", "VisualShaderNodeMix", TTR("Linear interpolation between two vectors using scalar."), { VisualShaderNodeMix::OP_TYPE_VECTOR_4D_SCALAR }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("MultiplyAdd", "Vector/Functions", "VisualShaderNodeMultiplyAdd", TTR("Performs a fused multiply-add operation (a * b + c) on vectors."), { VisualShaderNodeMultiplyAdd::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("MultiplyAdd", "Vector/Functions", "VisualShaderNodeMultiplyAdd", TTR("Performs a fused multiply-add operation (a * b + c) on vectors."), { VisualShaderNodeMultiplyAdd::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("MultiplyAdd", "Vector/Functions", "VisualShaderNodeMultiplyAdd", TTR("Performs a fused multiply-add operation (a * b + c) on vectors."), { VisualShaderNodeMultiplyAdd::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Negate", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the opposite value of the parameter."), { VisualShaderNodeVectorFunc::FUNC_NEGATE, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Negate", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the opposite value of the parameter."), { VisualShaderNodeVectorFunc::FUNC_NEGATE, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Negate", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the opposite value of the parameter."), { VisualShaderNodeVectorFunc::FUNC_NEGATE, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Normalize", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Calculates the normalize product of vector."), { VisualShaderNodeVectorFunc::FUNC_NORMALIZE, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Normalize", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Calculates the normalize product of vector."), { VisualShaderNodeVectorFunc::FUNC_NORMALIZE, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Normalize", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Calculates the normalize product of vector."), { VisualShaderNodeVectorFunc::FUNC_NORMALIZE, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("OneMinus", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("1.0 - vector"), { VisualShaderNodeVectorFunc::FUNC_ONEMINUS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("OneMinus", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("1.0 - vector"), { VisualShaderNodeVectorFunc::FUNC_ONEMINUS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("OneMinus", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("1.0 - vector"), { VisualShaderNodeVectorFunc::FUNC_ONEMINUS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Pow", "Vector/Functions", "VisualShaderNodeVectorOp", TTR("Returns the value of the first parameter raised to the power of the second."), { VisualShaderNodeVectorOp::OP_POW, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Pow", "Vector/Functions", "VisualShaderNodeVectorOp", TTR("Returns the value of the first parameter raised to the power of the second."), { VisualShaderNodeVectorOp::OP_POW, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Pow", "Vector/Functions", "VisualShaderNodeVectorOp", TTR("Returns the value of the first parameter raised to the power of the second."), { VisualShaderNodeVectorOp::OP_POW, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Radians", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Converts a quantity in degrees to radians."), { VisualShaderNodeVectorFunc::FUNC_RADIANS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Radians", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Converts a quantity in degrees to radians."), { VisualShaderNodeVectorFunc::FUNC_RADIANS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Radians", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Converts a quantity in degrees to radians."), { VisualShaderNodeVectorFunc::FUNC_RADIANS, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Reciprocal", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("1.0 / vector"), { VisualShaderNodeVectorFunc::FUNC_RECIPROCAL, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Reciprocal", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("1.0 / vector"), { VisualShaderNodeVectorFunc::FUNC_RECIPROCAL, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Reciprocal", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("1.0 / vector"), { VisualShaderNodeVectorFunc::FUNC_RECIPROCAL, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Reflect", "Vector/Functions", "VisualShaderNodeVectorOp", TTR("Returns the vector that points in the direction of reflection ( a : incident vector, b : normal vector )."), { VisualShaderNodeVectorOp::OP_REFLECT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Reflect", "Vector/Functions", "VisualShaderNodeVectorOp", TTR("Returns the vector that points in the direction of reflection ( a : incident vector, b : normal vector )."), { VisualShaderNodeVectorOp::OP_REFLECT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Reflect", "Vector/Functions", "VisualShaderNodeVectorOp", TTR("Returns the vector that points in the direction of reflection ( a : incident vector, b : normal vector )."), { VisualShaderNodeVectorOp::OP_REFLECT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Refract", "Vector/Functions", "VisualShaderNodeVectorRefract", TTR("Returns the vector that points in the direction of refraction."), {}, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Refract", "Vector/Functions", "VisualShaderNodeVectorRefract", TTR("Returns the vector that points in the direction of refraction."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Refract", "Vector/Functions", "VisualShaderNodeVectorRefract", TTR("Returns the vector that points in the direction of refraction."), {}, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Round", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer to the parameter."), { VisualShaderNodeVectorFunc::FUNC_ROUND, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Round", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer to the parameter."), { VisualShaderNodeVectorFunc::FUNC_ROUND, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Round", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest integer to the parameter."), { VisualShaderNodeVectorFunc::FUNC_ROUND, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("RoundEven", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest even integer to the parameter."), { VisualShaderNodeVectorFunc::FUNC_ROUNDEVEN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("RoundEven", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest even integer to the parameter."), { VisualShaderNodeVectorFunc::FUNC_ROUNDEVEN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("RoundEven", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Finds the nearest even integer to the parameter."), { VisualShaderNodeVectorFunc::FUNC_ROUNDEVEN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Saturate", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Clamps the value between 0.0 and 1.0."), { VisualShaderNodeVectorFunc::FUNC_SATURATE, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Saturate", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Clamps the value between 0.0 and 1.0."), { VisualShaderNodeVectorFunc::FUNC_SATURATE, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Saturate", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Clamps the value between 0.0 and 1.0."), { VisualShaderNodeVectorFunc::FUNC_SATURATE, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Sign", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Extracts the sign of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SIGN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Sign", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Extracts the sign of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SIGN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Sign", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Extracts the sign of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SIGN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Sin", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SIN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Sin", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SIN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Sin", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SIN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("SinH", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the hyperbolic sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SINH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("SinH", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the hyperbolic sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SINH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("SinH", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the hyperbolic sine of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SINH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Sqrt", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the square root of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SQRT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Sqrt", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the square root of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SQRT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Sqrt", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the square root of the parameter."), { VisualShaderNodeVectorFunc::FUNC_SQRT, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("SmoothStep", "Vector/Functions", "VisualShaderNodeSmoothStep", TTR("SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than 'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 using Hermite polynomials."), { VisualShaderNodeSmoothStep::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("SmoothStep", "Vector/Functions", "VisualShaderNodeSmoothStep", TTR("SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than 'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 using Hermite polynomials."), { VisualShaderNodeSmoothStep::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("SmoothStep", "Vector/Functions", "VisualShaderNodeSmoothStep", TTR("SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than 'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 using Hermite polynomials."), { VisualShaderNodeSmoothStep::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("SmoothStepS", "Vector/Functions", "VisualShaderNodeSmoothStep", TTR("SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than 'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 using Hermite polynomials."), { VisualShaderNodeSmoothStep::OP_TYPE_VECTOR_2D_SCALAR }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("SmoothStepS", "Vector/Functions", "VisualShaderNodeSmoothStep", TTR("SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than 'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 using Hermite polynomials."), { VisualShaderNodeSmoothStep::OP_TYPE_VECTOR_3D_SCALAR }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("SmoothStepS", "Vector/Functions", "VisualShaderNodeSmoothStep", TTR("SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than 'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 using Hermite polynomials."), { VisualShaderNodeSmoothStep::OP_TYPE_VECTOR_4D_SCALAR }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Step", "Vector/Functions", "VisualShaderNodeStep", TTR("Step function( vector(edge), vector(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."), { VisualShaderNodeStep::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Step", "Vector/Functions", "VisualShaderNodeStep", TTR("Step function( vector(edge), vector(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."), { VisualShaderNodeStep::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("StepS", "Vector/Functions", "VisualShaderNodeStep", TTR("Step function( scalar(edge), vector(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."), { VisualShaderNodeStep::OP_TYPE_VECTOR_2D_SCALAR }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("StepS", "Vector/Functions", "VisualShaderNodeStep", TTR("Step function( scalar(edge), vector(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."), { VisualShaderNodeStep::OP_TYPE_VECTOR_3D_SCALAR }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("StepS", "Vector/Functions", "VisualShaderNodeStep", TTR("Step function( scalar(edge), vector(x) ).\n\nReturns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."), { VisualShaderNodeStep::OP_TYPE_VECTOR_4D_SCALAR }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Sum", "Vector/Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Vector) Sum of absolute derivative in 'x' and 'y'."), { VisualShaderNodeDerivativeFunc::FUNC_SUM, VisualShaderNodeDerivativeFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); + add_options.push_back(AddOption("Sum", "Vector/Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Vector) Sum of absolute derivative in 'x' and 'y'."), { VisualShaderNodeDerivativeFunc::FUNC_SUM, VisualShaderNodeDerivativeFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); + add_options.push_back(AddOption("Sum", "Vector/Functions", "VisualShaderNodeDerivativeFunc", TTR("(Fragment/Light mode only) (Vector) Sum of absolute derivative in 'x' and 'y'."), { VisualShaderNodeDerivativeFunc::FUNC_SUM, VisualShaderNodeDerivativeFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, -1, true)); + add_options.push_back(AddOption("Tan", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_TAN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Tan", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_TAN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Tan", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_TAN, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("TanH", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the hyperbolic tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_TANH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("TanH", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the hyperbolic tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_TANH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("TanH", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Returns the hyperbolic tangent of the parameter."), { VisualShaderNodeVectorFunc::FUNC_TANH, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Trunc", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Finds the truncated value of the parameter."), { VisualShaderNodeVectorFunc::FUNC_TRUNC, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Trunc", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Finds the truncated value of the parameter."), { VisualShaderNodeVectorFunc::FUNC_TRUNC, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Trunc", "Vector/Functions", "VisualShaderNodeVectorFunc", TTR("Finds the truncated value of the parameter."), { VisualShaderNodeVectorFunc::FUNC_TRUNC, VisualShaderNodeVectorFunc::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + + add_options.push_back(AddOption("Add", "Vector/Operators", "VisualShaderNodeVectorOp", TTR("Adds 2D vector to 2D vector."), { VisualShaderNodeVectorOp::OP_ADD, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Add", "Vector/Operators", "VisualShaderNodeVectorOp", TTR("Adds 3D vector to 3D vector."), { VisualShaderNodeVectorOp::OP_ADD, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Add", "Vector/Operators", "VisualShaderNodeVectorOp", TTR("Adds 4D vector to 4D vector."), { VisualShaderNodeVectorOp::OP_ADD, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Divide", "Vector/Operators", "VisualShaderNodeVectorOp", TTR("Divides 2D vector by 2D vector."), { VisualShaderNodeVectorOp::OP_DIV, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Divide", "Vector/Operators", "VisualShaderNodeVectorOp", TTR("Divides 3D vector by 3D vector."), { VisualShaderNodeVectorOp::OP_DIV, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Divide", "Vector/Operators", "VisualShaderNodeVectorOp", TTR("Divides 4D vector by 4D vector."), { VisualShaderNodeVectorOp::OP_DIV, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Multiply", "Vector/Operators", "VisualShaderNodeVectorOp", TTR("Multiplies 2D vector by 2D vector."), { VisualShaderNodeVectorOp::OP_MUL, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Multiply", "Vector/Operators", "VisualShaderNodeVectorOp", TTR("Multiplies 3D vector by 3D vector."), { VisualShaderNodeVectorOp::OP_MUL, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Multiply", "Vector/Operators", "VisualShaderNodeVectorOp", TTR("Multiplies 4D vector by 4D vector."), { VisualShaderNodeVectorOp::OP_MUL, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Remainder", "Vector/Operators", "VisualShaderNodeVectorOp", TTR("Returns the remainder of the two 2D vectors."), { VisualShaderNodeVectorOp::OP_MOD, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Remainder", "Vector/Operators", "VisualShaderNodeVectorOp", TTR("Returns the remainder of the two 3D vectors."), { VisualShaderNodeVectorOp::OP_MOD, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Remainder", "Vector/Operators", "VisualShaderNodeVectorOp", TTR("Returns the remainder of the two 4D vectors."), { VisualShaderNodeVectorOp::OP_MOD, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Subtract", "Vector/Operators", "VisualShaderNodeVectorOp", TTR("Subtracts 2D vector from 2D vector."), { VisualShaderNodeVectorOp::OP_SUB, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Subtract", "Vector/Operators", "VisualShaderNodeVectorOp", TTR("Subtracts 3D vector from 3D vector."), { VisualShaderNodeVectorOp::OP_SUB, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Subtract", "Vector/Operators", "VisualShaderNodeVectorOp", TTR("Subtracts 4D vector from 4D vector."), { VisualShaderNodeVectorOp::OP_SUB, VisualShaderNodeVectorOp::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + + add_options.push_back(AddOption("Vector2Constant", "Vector/Variables", "VisualShaderNodeVec2Constant", TTR("2D vector constant."), {}, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Vector2Parameter", "Vector/Variables", "VisualShaderNodeVec2Parameter", TTR("2D vector parameter."), {}, VisualShaderNode::PORT_TYPE_VECTOR_2D)); + add_options.push_back(AddOption("Vector3Constant", "Vector/Variables", "VisualShaderNodeVec3Constant", TTR("3D vector constant."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Vector3Parameter", "Vector/Variables", "VisualShaderNodeVec3Parameter", TTR("3D vector parameter."), {}, VisualShaderNode::PORT_TYPE_VECTOR_3D)); + add_options.push_back(AddOption("Vector4Constant", "Vector/Variables", "VisualShaderNodeVec4Constant", TTR("4D vector constant."), {}, VisualShaderNode::PORT_TYPE_VECTOR_4D)); + add_options.push_back(AddOption("Vector4Parameter", "Vector/Variables", "VisualShaderNodeVec4Parameter", TTR("4D vector parameter."), {}, VisualShaderNode::PORT_TYPE_VECTOR_4D)); // SPECIAL - add_options.push_back(AddOption("Comment", "Special", "", "VisualShaderNodeComment", TTR("A rectangular area with a description string for better graph organization."))); - add_options.push_back(AddOption("Expression", "Special", "", "VisualShaderNodeExpression", TTR("Custom Godot Shader Language expression, with custom amount of input and output ports. This is a direct injection of code into the vertex/fragment/light function, do not use it to write the function declarations inside."))); - add_options.push_back(AddOption("GlobalExpression", "Special", "", "VisualShaderNodeGlobalExpression", TTR("Custom Godot Shader Language expression, which is placed on top of the resulted shader. You can place various function definitions inside and call it later in the Expressions. You can also declare varyings, parameters and constants."))); - add_options.push_back(AddOption("ParameterRef", "Special", "", "VisualShaderNodeParameterRef", TTR("A reference to an existing parameter."))); - add_options.push_back(AddOption("VaryingGetter", "Special", "", "VisualShaderNodeVaryingGetter", TTR("Get varying parameter."), {}, -1, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("VaryingSetter", "Special", "", "VisualShaderNodeVaryingSetter", TTR("Set varying parameter."), {}, -1, TYPE_FLAGS_VERTEX | TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); - add_options.push_back(AddOption("VaryingGetter", "Special", "", "VisualShaderNodeVaryingGetter", TTR("Get varying parameter."), {}, -1, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); - add_options.push_back(AddOption("VaryingSetter", "Special", "", "VisualShaderNodeVaryingSetter", TTR("Set varying parameter."), {}, -1, TYPE_FLAGS_VERTEX | TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("Comment", "Special", "VisualShaderNodeComment", TTR("A rectangular area with a description string for better graph organization."))); + add_options.push_back(AddOption("Expression", "Special", "VisualShaderNodeExpression", TTR("Custom Godot Shader Language expression, with custom amount of input and output ports. This is a direct injection of code into the vertex/fragment/light function, do not use it to write the function declarations inside."))); + add_options.push_back(AddOption("GlobalExpression", "Special", "VisualShaderNodeGlobalExpression", TTR("Custom Godot Shader Language expression, which is placed on top of the resulted shader. You can place various function definitions inside and call it later in the Expressions. You can also declare varyings, parameters and constants."))); + add_options.push_back(AddOption("ParameterRef", "Special", "VisualShaderNodeParameterRef", TTR("A reference to an existing parameter."))); + add_options.push_back(AddOption("VaryingGetter", "Special", "VisualShaderNodeVaryingGetter", TTR("Get varying parameter."), {}, -1, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("VaryingSetter", "Special", "VisualShaderNodeVaryingSetter", TTR("Set varying parameter."), {}, -1, TYPE_FLAGS_VERTEX | TYPE_FLAGS_FRAGMENT, Shader::MODE_SPATIAL)); + add_options.push_back(AddOption("VaryingGetter", "Special", "VisualShaderNodeVaryingGetter", TTR("Get varying parameter."), {}, -1, TYPE_FLAGS_FRAGMENT | TYPE_FLAGS_LIGHT, Shader::MODE_CANVAS_ITEM)); + add_options.push_back(AddOption("VaryingSetter", "Special", "VisualShaderNodeVaryingSetter", TTR("Set varying parameter."), {}, -1, TYPE_FLAGS_VERTEX | TYPE_FLAGS_FRAGMENT, Shader::MODE_CANVAS_ITEM)); custom_node_option_idx = add_options.size(); @@ -5693,7 +5693,7 @@ VisualShaderEditor::VisualShaderEditor() { graph_plugin->set_editor(this); property_editor_popup = memnew(PopupPanel); - property_editor_popup->set_min_size(Size2i(180, 0) * EDSCALE); + property_editor_popup->set_min_size(Size2(180, 0) * EDSCALE); add_child(property_editor_popup); edited_property_holder.instantiate(); diff --git a/editor/plugins/visual_shader_editor_plugin.h b/editor/plugins/visual_shader_editor_plugin.h index 869e00ca5d..f7e033d753 100644 --- a/editor/plugins/visual_shader_editor_plugin.h +++ b/editor/plugins/visual_shader_editor_plugin.h @@ -312,10 +312,10 @@ class VisualShaderEditor : public VBoxContainer { bool is_custom = false; int temp_idx = 0; - AddOption(const String &p_name = String(), const String &p_category = String(), const String &p_sub_category = String(), const String &p_type = String(), const String &p_description = String(), const Vector<Variant> &p_ops = Vector<Variant>(), int p_return_type = -1, int p_mode = -1, int p_func = -1, bool p_highend = false) { + AddOption(const String &p_name = String(), const String &p_category = String(), const String &p_type = String(), const String &p_description = String(), const Vector<Variant> &p_ops = Vector<Variant>(), int p_return_type = -1, int p_mode = -1, int p_func = -1, bool p_highend = false) { name = p_name; type = p_type; - category = p_category + "/" + p_sub_category; + category = p_category; description = p_description; ops = p_ops; return_type = p_return_type; diff --git a/editor/progress_dialog.cpp b/editor/progress_dialog.cpp index 1c9afa8be8..4cc60c4c3c 100644 --- a/editor/progress_dialog.cpp +++ b/editor/progress_dialog.cpp @@ -176,7 +176,7 @@ void ProgressDialog::add_task(const String &p_task, const String &p_label, int p } else { cancel_hb->hide(); } - cancel_hb->raise(); + cancel_hb->move_to_front(); cancelled = false; _popup(); if (p_can_cancel) { @@ -207,7 +207,9 @@ bool ProgressDialog::task_step(const String &p_task, const String &p_state, int DisplayServer::get_singleton()->process_events(); } +#ifndef ANDROID_ENABLED Main::iteration(); // this will not work on a lot of platforms, so it's only meant for the editor +#endif return cancelled; } diff --git a/editor/project_converter_3_to_4.cpp b/editor/project_converter_3_to_4.cpp index 9c717a0518..39b30b31fb 100644 --- a/editor/project_converter_3_to_4.cpp +++ b/editor/project_converter_3_to_4.cpp @@ -91,6 +91,8 @@ static const char *enum_renames[][2] = { { "BUTTON_XBUTTON2", "MOUSE_BUTTON_XBUTTON2" }, // Globals { "CLEAR_MODE_ONLY_NEXT_FRAME", "CLEAR_MODE_ONCE" }, // SubViewport { "COMPRESS_PVRTC4", "COMPRESS_PVRTC1_4" }, // Image + { "CONNECT_ONESHOT", "CONNECT_ONE_SHOT" }, // Object + { "CONTAINER_PROPERTY_EDITOR_BOTTOM", "CONTAINER_INSPECTOR_BOTTOM" }, // EditorPlugin { "CUBEMAP_BACK", "CUBEMAP_LAYER_BACK" }, // RenderingServer { "CUBEMAP_BOTTOM", "CUBEMAP_LAYER_BOTTOM" }, // RenderingServer { "CUBEMAP_FRONT", "CUBEMAP_LAYER_FRONT" }, // RenderingServer @@ -131,6 +133,7 @@ static const char *enum_renames[][2] = { { "MODE_STATIC", "FREEZE_MODE_STATIC" }, // RigidBody { "NOTIFICATION_APP_PAUSED", "NOTIFICATION_APPLICATION_PAUSED" }, // MainLoop { "NOTIFICATION_APP_RESUMED", "NOTIFICATION_APPLICATION_RESUMED" }, // MainLoop + { "NOTIFICATION_INSTANCED", "NOTIFICATION_SCENE_INSTANTIATED" }, // Node { "NOTIFICATION_PATH_CHANGED", "NOTIFICATION_PATH_RENAMED" }, //Node { "NOTIFICATION_WM_FOCUS_IN", "NOTIFICATION_APPLICATION_FOCUS_IN" }, // MainLoop { "NOTIFICATION_WM_FOCUS_OUT", "NOTIFICATION_APPLICATION_FOCUS_OUT" }, // MainLoop @@ -237,16 +240,18 @@ static const char *gdscript_function_renames[][2] = { { "can_instance", "can_instantiate" }, // PackedScene, Script { "canvas_light_set_scale", "canvas_light_set_texture_scale" }, // RenderingServer { "center_viewport_to_cursor", "center_viewport_to_caret" }, // TextEdit + { "change_scene", "change_scene_to_file" }, // SceneTree + { "change_scene_to", "change_scene_to_packed" }, // SceneTree { "clip_polygons_2d", "clip_polygons" }, // Geometry2D { "clip_polyline_with_polygon_2d", "clip_polyline_with_polygon" }, //Geometry2D { "commit_handle", "_commit_handle" }, // EditorNode3DGizmo { "convex_hull_2d", "convex_hull" }, // Geometry2D { "create_gizmo", "_create_gizmo" }, // EditorNode3DGizmoPlugin - { "cursor_get_blink_speed", "get_caret_blink_speed" }, // TextEdit + { "cursor_get_blink_speed", "get_caret_blink_interval" }, // TextEdit { "cursor_get_column", "get_caret_column" }, // TextEdit { "cursor_get_line", "get_caret_line" }, // TextEdit { "cursor_set_blink_enabled", "set_caret_blink_enabled" }, // TextEdit - { "cursor_set_blink_speed", "set_caret_blink_speed" }, // TextEdit + { "cursor_set_blink_speed", "set_caret_blink_interval" }, // TextEdit { "cursor_set_column", "set_caret_column" }, // TextEdit { "cursor_set_line", "set_caret_line" }, // TextEdit { "damped_spring_joint_create", "joint_make_damped_spring" }, // PhysicsServer2D @@ -287,7 +292,7 @@ static const char *gdscript_function_renames[][2] = { { "get_collision_layer_bit", "get_collision_layer_value" }, // CSGShape3D and a lot of others like GridMap { "get_collision_mask_bit", "get_collision_mask_value" }, // CSGShape3D and a lot of others like GridMap { "get_color_types", "get_color_type_list" }, // Theme - { "get_command", "is_command_pressed" }, // InputEventWithModifiers + { "get_command", "is_command_or_control_pressed" }, // InputEventWithModifiers { "get_constant_types", "get_constant_type_list" }, // Theme { "get_control", "is_ctrl_pressed" }, // InputEventWithModifiers { "get_cull_mask_bit", "get_cull_mask_value" }, // Camera3D @@ -295,7 +300,7 @@ static const char *gdscript_function_renames[][2] = { { "get_d", "get_distance" }, // LineShape2D { "get_drag_data", "_get_drag_data" }, // Control { "get_drag_data_fw", "_get_drag_data_fw" }, // ScriptEditor - { "get_editor_viewport", "get_viewport" }, // EditorPlugin + { "get_editor_viewport", "get_editor_main_screen" }, // EditorPlugin { "get_enabled_focus_mode", "get_focus_mode" }, // BaseButton { "get_endian_swap", "is_big_endian" }, // File { "get_error_string", "get_error_message" }, // JSON @@ -331,6 +336,7 @@ static const char *gdscript_function_renames[][2] = { { "get_network_peer", "get_multiplayer_peer" }, // Multiplayer API { "get_network_unique_id", "get_unique_id" }, // Multiplayer API { "get_ok", "get_ok_button" }, // AcceptDialog + { "get_oneshot", "get_one_shot" }, // AnimatedTexture { "get_option_visibility", "_get_option_visibility" }, // EditorImportPlugin { "get_parameter_default_value", "_get_parameter_default_value" }, // AnimationNode { "get_parameter_list", "_get_parameter_list" }, // AnimationNode @@ -474,7 +480,7 @@ static const char *gdscript_function_renames[][2] = { { "set_collision_layer_bit", "set_collision_layer_value" }, // CSGShape3D and a lot of others like GridMap { "set_collision_mask_bit", "set_collision_mask_value" }, // CSGShape3D and a lot of others like GridMap { "set_column_min_width", "set_column_custom_minimum_width" }, // Tree - { "set_command", "set_command_pressed" }, // InputEventWithModifiers + { "set_command", "set_meta_pressed" }, // InputEventWithModifiers { "set_control", "set_ctrl_pressed" }, // InputEventWithModifiers { "set_create_options", "_set_create_options" }, // EditorResourcePicker { "set_cull_mask_bit", "set_cull_mask_value" }, // Camera3D @@ -506,6 +512,7 @@ static const char *gdscript_function_renames[][2] = { { "set_mid_height", "set_height" }, // CapsuleMesh { "set_network_master", "set_multiplayer_authority" }, // Node { "set_network_peer", "set_multiplayer_peer" }, // Multiplayer API + { "set_oneshot", "set_one_shot" }, // AnimatedTexture { "set_pause_mode", "set_process_mode" }, // Node { "set_physical_scancode", "set_physical_keycode" }, // InputEventKey { "set_refuse_new_network_connections", "set_refuse_new_connections" }, // Multiplayer API @@ -547,6 +554,7 @@ static const char *gdscript_function_renames[][2] = { { "update_gizmo", "update_gizmos" }, // Node3D { "viewport_set_use_arvr", "viewport_set_use_xr" }, // RenderingServer { "warp_mouse_position", "warp_mouse" }, // Input + { "world_to_map", "local_to_map" }, // TileMap, GridMap { "set_shader_param", "set_shader_parameter" }, // ShaderMaterial { "get_shader_param", "get_shader_parameter" }, // ShaderMaterial { "set_uniform_name", "set_parameter_name" }, // ParameterRef @@ -575,6 +583,7 @@ static const char *gdscript_function_renames[][2] = { { "linear2db", "linear_to_db" }, { "rad2deg", "rad_to_deg" }, { "rand_range", "randf_range" }, + { "range_lerp", "remap" }, { "stepify", "snapped" }, { "str2var", "str_to_var" }, { "var2str", "var_to_str" }, @@ -663,15 +672,17 @@ static const char *csharp_function_renames[][2] = { { "CanInstance", "CanInstantiate" }, // PackedScene, Script { "CanvasLightSetScale", "CanvasLightSetTextureScale" }, // RenderingServer { "CenterViewportToCursor", "CenterViewportToCaret" }, // TextEdit + { "ChangeScene", "ChangeSceneToFile" }, // SceneTree + { "ChangeSceneTo", "ChangeSceneToPacked" }, // SceneTree { "ClipPolygons2d", "ClipPolygons" }, // Geometry2D { "ClipPolylineWithPolygon2d", "ClipPolylineWithPolygon" }, //Geometry2D { "CommitHandle", "_CommitHandle" }, // EditorNode3DGizmo { "ConvexHull2d", "ConvexHull" }, // Geometry2D - { "CursorGetBlinkSpeed", "GetCaretBlinkSpeed" }, // TextEdit + { "CursorGetBlinkSpeed", "GetCaretBlinkInterval" }, // TextEdit { "CursorGetColumn", "GetCaretColumn" }, // TextEdit { "CursorGetLine", "GetCaretLine" }, // TextEdit { "CursorSetBlinkEnabled", "SetCaretBlinkEnabled" }, // TextEdit - { "CursorSetBlinkSpeed", "SetCaretBlinkSpeed" }, // TextEdit + { "CursorSetBlinkSpeed", "SetCaretBlinkInterval" }, // TextEdit { "CursorSetColumn", "SetCaretColumn" }, // TextEdit { "CursorSetLine", "SetCaretLine" }, // TextEdit { "DampedSpringJointCreate", "JointMakeDampedSpring" }, // PhysicsServer2D @@ -750,6 +761,7 @@ static const char *csharp_function_renames[][2] = { { "GetNetworkMaster", "GetMultiplayerAuthority" }, // Node { "GetNetworkPeer", "GetMultiplayerPeer" }, // Multiplayer API { "GetNetworkUniqueId", "GetUniqueId" }, // Multiplayer API + { "GetOneshot", "GetOneShot" }, // AnimatedTexture { "GetOk", "GetOkButton" }, // AcceptDialog { "GetOptionVisibility", "_GetOptionVisibility" }, // EditorImportPlugin { "GetParameterDefaultValue", "_GetParameterDefaultValue" }, // AnimationNode @@ -916,6 +928,7 @@ static const char *csharp_function_renames[][2] = { { "SetMidHeight", "SetHeight" }, // CapsuleMesh { "SetNetworkMaster", "SetMultiplayerAuthority" }, // Node { "SetNetworkPeer", "SetMultiplayerPeer" }, // Multiplayer API + { "SetOneshot", "SetOneShot" }, // AnimatedTexture { "SetPhysicalScancode", "SetPhysicalKeycode" }, // InputEventKey { "SetRefuseNewNetworkConnections", "SetRefuseNewConnections" }, // Multiplayer API { "SetRegion", "SetRegionEnabled" }, // Sprite2D, Sprite broke AtlasTexture @@ -958,6 +971,7 @@ static const char *csharp_function_renames[][2] = { { "UpdateGizmo", "UpdateGizmos" }, // Node3D { "ViewportSetUseArvr", "ViewportSetUseXr" }, // RenderingServer { "WarpMousePosition", "WarpMouse" }, // Input + { "WorldToMap", "LocalToMap" }, // TileMap, GridMap { "SetShaderParam", "SetShaderParameter" }, // ShaderMaterial { "GetShaderParam", "GetShaderParameter" }, // ShaderMaterial { "SetUniformName", "SetParameterName" }, // ParameterRef @@ -984,6 +998,7 @@ static const char *csharp_function_renames[][2] = { { "Linear2Db", "LinearToDb" }, { "Rad2Deg", "RadToDeg" }, { "RandRange", "RandfRange" }, + { "RangeLerp", "Remap" }, { "Stepify", "Snapped" }, { "Str2Var", "StrToVar" }, { "Var2Str", "VarToStr" }, @@ -1023,9 +1038,12 @@ static const char *gdscript_properties_renames[][2] = { // { "filename", "scene_file_path" }, // Node { "as_normalmap", "as_normal_map" }, // NoiseTexture { "bbcode_text", "text" }, // RichTextLabel + { "bg", "panel" }, // Theme + { "bg_focus", "focus" }, // Theme + { "caret_blink_speed", "caret_blink_interval" }, // TextEdit, LineEdit { "caret_moving_by_right_click", "caret_move_on_right_click" }, // TextEdit { "caret_position", "caret_column" }, // LineEdit - { "check_vadjust", "check_v_adjust" }, // Theme + { "check_vadjust", "check_v_offset" }, // Theme { "close_h_ofs", "close_h_offset" }, // Theme { "close_v_ofs", "close_v_offset" }, // Theme { "commentfocus", "comment_focus" }, // Theme @@ -1043,6 +1061,9 @@ static const char *gdscript_properties_renames[][2] = { { "focus_neighbour_left", "focus_neighbor_left" }, // Control { "focus_neighbour_right", "focus_neighbor_right" }, // Control { "focus_neighbour_top", "focus_neighbor_top" }, // Control + { "file_icon_modulate", "file_icon_color" }, // Theme + { "files_disabled", "file_disabled_color" }, // Theme + { "folder_icon_modulate", "folder_icon_color" }, // Theme { "global_rate_scale", "playback_speed_scale" }, // AudioServer { "gravity_distance_scale", "gravity_point_distance_scale" }, // Area2D { "gravity_vec", "gravity_direction" }, // Area2D @@ -1057,7 +1078,12 @@ static const char *gdscript_properties_renames[][2] = { { "mid_height", "height" }, // CapsuleMesh { "offset_h", "drag_horizontal_offset" }, // Camera2D { "offset_v", "drag_vertical_offset" }, // Camera2D + { "off", "unchecked" }, // Theme + { "off_disabled", "unchecked_disabled" }, // Theme { "ofs", "offset" }, // Theme + { "on", "checked" }, // Theme + { "on_disabled", "checked_disabled" }, // Theme + { "oneshot", "one_shot" }, // AnimatedTexture { "out_of_range_mode", "max_polyphony" }, // AudioStreamPlayer3D { "pause_mode", "process_mode" }, // Node { "physical_scancode", "physical_keycode" }, // InputEventKey @@ -1108,6 +1134,7 @@ static const char *csharp_properties_renames[][2] = { // { "CastTo", "TargetPosition" }, // RayCast2D, RayCast3D // { "Doubleclick", "DoubleClick" }, // InputEventMouseButton // { "Group", "ButtonGroup" }, // BaseButton + // { "PercentVisible, "ShowPercentage}, // ProgressBar, conflicts with Label and RichTextLabel, but may be a worth it. // { "ProcessMode", "ProcessCallback" }, // AnimationTree, Camera2D // { "Scancode", "Keycode" }, // InputEventKey // { "Toplevel", "TopLevel" }, // Node @@ -1117,6 +1144,7 @@ static const char *csharp_properties_renames[][2] = { // { "Znear", "Near" }, // Camera3D { "AsNormalmap", "AsNormalMap" }, // NoiseTexture { "BbcodeText", "Text" }, // RichTextLabel + { "CaretBlinkSpeed", "CaretBlinkInterval" }, // TextEdit, LineEdit { "CaretMovingByRightClick", "CaretMoveOnRightClick" }, // TextEdit { "CaretPosition", "CaretColumn" }, // LineEdit { "CheckVadjust", "CheckVAdjust" }, // Theme @@ -1151,6 +1179,7 @@ static const char *csharp_properties_renames[][2] = { { "OffsetH", "DragHorizontalOffset" }, // Camera2D { "OffsetV", "DragVerticalOffset" }, // Camera2D { "Ofs", "Offset" }, // Theme + { "Oneshot", "OneShot" }, // AnimatedTexture { "OutOfRangeMode", "MaxPolyphony" }, // AudioStreamPlayer3D { "PauseMode", "ProcessMode" }, // Node { "PhysicalScancode", "PhysicalKeycode" }, // InputEventKey @@ -1241,7 +1270,7 @@ static const char *project_settings_renames[][2] = { { "network/limits/debugger_stdout/max_errors_per_second", "network/limits/debugger/max_errors_per_second" }, { "network/limits/debugger_stdout/max_messages_per_frame", "network/limits/debugger/max_queued_messages" }, { "network/limits/debugger_stdout/max_warnings_per_second", "network/limits/debugger/max_warnings_per_second" }, - { "network/ssl/certificates", "network/ssl/certificate_bundle_override" }, + { "network/ssl/certificates", "network/tls/certificate_bundle_override" }, { "physics/2d/thread_model", "physics/2d/run_on_thread" }, // TODO not sure { "rendering/environment/default_clear_color", "rendering/environment/defaults/default_clear_color" }, { "rendering/environment/default_environment", "rendering/environment/defaults/default_environment" }, @@ -1456,6 +1485,7 @@ static const char *class_renames[][2] = { { "StreamCubemap", "CompressedCubemap" }, { "StreamCubemapArray", "CompressedCubemapArray" }, { "StreamPeerGDNative", "StreamPeerExtension" }, + { "StreamPeerSSL", "StreamPeerTLS" }, { "StreamTexture", "CompressedTexture2D" }, { "StreamTexture2D", "CompressedTexture2D" }, { "StreamTexture2DArray", "CompressedTexture2DArray" }, @@ -1524,7 +1554,6 @@ static const char *class_renames[][2] = { { nullptr, nullptr }, }; -// TODO - this colors needs to be validated(not all are valid) static const char *color_renames[][2] = { { "aliceblue", "ALICE_BLUE" }, { "antiquewhite", "ANTIQUE_WHITE" }, @@ -1678,7 +1707,7 @@ static const char *color_renames[][2] = { class ProjectConverter3To4::RegExContainer { public: - // Custom GDScript + // Custom GDScript. RegEx reg_is_empty = RegEx("\\bempty\\("); RegEx reg_super = RegEx("([\t ])\\.([a-zA-Z_])"); RegEx reg_json_to = RegEx("\\bto_json\\b"); @@ -1695,7 +1724,7 @@ public: RegEx reg_os_fullscreen = RegEx("OS.window_fullscreen[= ]+([^#^\n]+)"); RegEx reg_instantiate = RegEx("\\.instance\\(([^\\)]*)\\)"); - // GDScript keywords + // GDScript keywords. RegEx keyword_gdscript_tool = RegEx("^tool"); RegEx keyword_gdscript_export_single = RegEx("^export"); RegEx keyword_gdscript_export_mutli = RegEx("([\t]+)export\\b"); @@ -1709,7 +1738,7 @@ public: RegEx keyword_gdscript_master = RegEx("^master func"); RegEx keyword_gdscript_mastersync = RegEx("^mastersync func"); - // CSharp keywords + // CSharp keywords. RegEx keyword_csharp_remote = RegEx("\\[Remote(Attribute)?(\\(\\))?\\]"); RegEx keyword_csharp_remotesync = RegEx("\\[(Remote)?Sync(Attribute)?(\\(\\))?\\]"); RegEx keyword_csharp_puppet = RegEx("\\[(Puppet|Slave)(Attribute)?(\\(\\))?\\]"); @@ -1717,11 +1746,11 @@ public: RegEx keyword_csharp_master = RegEx("\\[Master(Attribute)?(\\(\\))?\\]"); RegEx keyword_csharp_mastersync = RegEx("\\[MasterSync(Attribute)?(\\(\\))?\\]"); - // Colors + // Colors. LocalVector<RegEx *> color_regexes; LocalVector<String> color_renamed; - // Classes + // Classes. LocalVector<RegEx *> class_tscn_regexes; LocalVector<RegEx *> class_gd_regexes; LocalVector<RegEx *> class_shader_regexes; @@ -1736,7 +1765,7 @@ public: LocalVector<String> class_temp_gd_renames; LocalVector<String> class_temp_shader_renames; - // Common + // Common. LocalVector<RegEx *> enum_regexes; LocalVector<RegEx *> gdscript_function_regexes; LocalVector<RegEx *> project_settings_regexes; @@ -1749,58 +1778,58 @@ public: LocalVector<RegEx *> csharp_signal_regexes; RegExContainer() { - // Common + // Common. { - // Enum + // Enum. for (unsigned int current_index = 0; enum_renames[current_index][0]; current_index++) { enum_regexes.push_back(memnew(RegEx(String("\\b") + enum_renames[current_index][0] + "\\b"))); } - // GDScript functions + // GDScript functions. for (unsigned int current_index = 0; gdscript_function_renames[current_index][0]; current_index++) { gdscript_function_regexes.push_back(memnew(RegEx(String("\\b") + gdscript_function_renames[current_index][0] + "\\b"))); } - // Project Settings + // Project Settings. for (unsigned int current_index = 0; project_settings_renames[current_index][0]; current_index++) { project_settings_regexes.push_back(memnew(RegEx(String("\\b") + project_settings_renames[current_index][0] + "\\b"))); } - // GDScript properties + // GDScript properties. for (unsigned int current_index = 0; gdscript_properties_renames[current_index][0]; current_index++) { gdscript_properties_regexes.push_back(memnew(RegEx(String("\\b") + gdscript_properties_renames[current_index][0] + "\\b"))); } - // GDScript Signals + // GDScript Signals. for (unsigned int current_index = 0; gdscript_signals_renames[current_index][0]; current_index++) { gdscript_signals_regexes.push_back(memnew(RegEx(String("\\b") + gdscript_signals_renames[current_index][0] + "\\b"))); } - // Shaders + // Shaders. for (unsigned int current_index = 0; shaders_renames[current_index][0]; current_index++) { shaders_regexes.push_back(memnew(RegEx(String("\\b") + shaders_renames[current_index][0] + "\\b"))); } - // Builtin types + // Builtin types. for (unsigned int current_index = 0; builtin_types_renames[current_index][0]; current_index++) { builtin_types_regexes.push_back(memnew(RegEx(String("\\b") + builtin_types_renames[current_index][0] + "\\b"))); } - // CSharp function renames + // CSharp function renames. for (unsigned int current_index = 0; csharp_function_renames[current_index][0]; current_index++) { csharp_function_regexes.push_back(memnew(RegEx(String("\\b") + csharp_function_renames[current_index][0] + "\\b"))); } - // CSharp properties renames + // CSharp properties renames. for (unsigned int current_index = 0; csharp_properties_renames[current_index][0]; current_index++) { csharp_properties_regexes.push_back(memnew(RegEx(String("\\b") + csharp_properties_renames[current_index][0] + "\\b"))); } - // CSharp signals renames + // CSharp signals renames. for (unsigned int current_index = 0; csharp_signals_renames[current_index][0]; current_index++) { csharp_signal_regexes.push_back(memnew(RegEx(String("\\b") + csharp_signals_renames[current_index][0] + "\\b"))); } } - // Colors + // Colors. { for (unsigned int current_index = 0; color_renames[current_index][0]; current_index++) { color_regexes.push_back(memnew(RegEx(String("\\bColor.") + color_renames[current_index][0] + "\\b"))); color_renamed.push_back(String("Color.") + color_renames[current_index][1]); } } - // Classes + // Classes. { for (unsigned int current_index = 0; class_renames[current_index][0]; current_index++) { class_tscn_regexes.push_back(memnew(RegEx(String("\\b") + class_renames[current_index][0] + ".tscn\\b"))); @@ -1858,12 +1887,12 @@ public: } }; -ProjectConverter3To4::ProjectConverter3To4(int maximum_file_size_kb, int maximum_line_length) { - this->maximum_file_size = maximum_file_size_kb * 1024; - this->maximum_line_length = maximum_line_length; +ProjectConverter3To4::ProjectConverter3To4(int p_maximum_file_size_kb, int p_maximum_line_length) { + maximum_file_size = p_maximum_file_size_kb * 1024; + maximum_line_length = p_maximum_line_length; } -// Function responsible for converting project +// Function responsible for converting project. int ProjectConverter3To4::convert() { print_line("Starting conversion."); uint64_t conversion_start_time = Time::get_singleton()->get_ticks_msec(); @@ -1871,7 +1900,7 @@ int ProjectConverter3To4::convert() { RegExContainer reg_container = RegExContainer(); int cached_maximum_line_length = maximum_line_length; - maximum_line_length = 10000; // Use only for tests bigger value, to not break them + maximum_line_length = 10000; // Use only for tests bigger value, to not break them. ERR_FAIL_COND_V_MSG(!test_array_names(), ERROR_CODE, "Cannot start converting due to problems with data in arrays."); ERR_FAIL_COND_V_MSG(!test_conversion(reg_container), ERROR_CODE, "Cannot start converting due to problems with converting arrays."); @@ -1879,36 +1908,36 @@ int ProjectConverter3To4::convert() { maximum_line_length = cached_maximum_line_length; // Checking if folder contains valid Godot 3 project. - // Project should not be converted more than 1 times + // Project should not be converted more than once. { - String conventer_text = "; Project was converted by built-in tool to Godot 4.0"; + String converter_text = "; Project was converted by built-in tool to Godot 4.0"; - ERR_FAIL_COND_V_MSG(!FileAccess::exists("project.godot"), ERROR_CODE, "Current directory doesn't contains any Godot 3 project"); + ERR_FAIL_COND_V_MSG(!FileAccess::exists("project.godot"), ERROR_CODE, "Current working directory doesn't contain a \"project.godot\" file for a Godot 3 project."); Error err = OK; String project_godot_content = FileAccess::get_file_as_string("project.godot", &err); - ERR_FAIL_COND_V_MSG(err != OK, ERROR_CODE, "Failed to read content of \"project.godot\" file."); - ERR_FAIL_COND_V_MSG(project_godot_content.contains(conventer_text), ERROR_CODE, "Project already was converted with this tool."); + ERR_FAIL_COND_V_MSG(err != OK, ERROR_CODE, "Unable to read \"project.godot\"."); + ERR_FAIL_COND_V_MSG(project_godot_content.contains(converter_text), ERROR_CODE, "Project was already converted with this tool."); Ref<FileAccess> file = FileAccess::open("project.godot", FileAccess::WRITE); - ERR_FAIL_COND_V_MSG(file.is_null(), ERROR_CODE, "Failed to open project.godot file."); + ERR_FAIL_COND_V_MSG(file.is_null(), ERROR_CODE, "Unable to open \"project.godot\"."); - file->store_string(conventer_text + "\n" + project_godot_content); + file->store_string(converter_text + "\n" + project_godot_content); } Vector<String> collected_files = check_for_files(); uint32_t converted_files = 0; - // Check file by file + // Check file by file. for (int i = 0; i < collected_files.size(); i++) { String file_name = collected_files[i]; Vector<String> lines; uint32_t ignored_lines = 0; { Ref<FileAccess> file = FileAccess::open(file_name, FileAccess::READ); - ERR_CONTINUE_MSG(file.is_null(), "Failed to read content of \"" + file_name + "\"."); + ERR_CONTINUE_MSG(file.is_null(), vformat("Unable to read content of \"%s\".", file_name)); while (!file->eof_reached()) { String line = file->get_line(); lines.append(line); @@ -1917,7 +1946,7 @@ int ProjectConverter3To4::convert() { String file_content_before = collect_string_from_vector(lines); uint64_t hash_before = file_content_before.hash(); uint64_t file_size = file_content_before.size(); - print_line("Trying to convert\t" + itos(i + 1) + "/" + itos(collected_files.size()) + " file - \"" + file_name.trim_prefix("res://") + "\" with size - " + itos(file_size / 1024) + " KB"); + print_line(vformat("Trying to convert\t%d/%d file - \"%s\" with size - %d KB", i + 1, collected_files.size(), file_name.trim_prefix("res://"), file_size / 1024)); Vector<String> reason; bool is_ignored = false; @@ -1929,15 +1958,15 @@ int ProjectConverter3To4::convert() { } if (file_size < uint64_t(maximum_file_size)) { - // TSCN must be the same work exactly same as .gd file because it may contains builtin script + // ".tscn" must work exactly the same as ".gd" files because they may contain built-in Scripts. if (file_name.ends_with(".gd")) { - rename_classes(lines, reg_container); // Using only specialized function + rename_classes(lines, reg_container); // Using only specialized function. rename_common(enum_renames, reg_container.enum_regexes, lines); - rename_colors(lines, reg_container); // Require to additional rename + rename_colors(lines, reg_container); // Require to additional rename. rename_common(gdscript_function_renames, reg_container.gdscript_function_regexes, lines); - rename_gdscript_functions(lines, reg_container, false); // Require to additional rename + rename_gdscript_functions(lines, reg_container, false); // Require to additional rename. rename_common(project_settings_renames, reg_container.project_settings_regexes, lines); rename_gdscript_keywords(lines, reg_container); @@ -1948,13 +1977,13 @@ int ProjectConverter3To4::convert() { custom_rename(lines, "\\.shader", ".gdshader"); } else if (file_name.ends_with(".tscn")) { - rename_classes(lines, reg_container); // Using only specialized function + rename_classes(lines, reg_container); // Using only specialized function. rename_common(enum_renames, reg_container.enum_regexes, lines); - rename_colors(lines, reg_container); // Require to additional rename + rename_colors(lines, reg_container); // Require to do additional renames. rename_common(gdscript_function_renames, reg_container.gdscript_function_regexes, lines); - rename_gdscript_functions(lines, reg_container, true); // Require to additional rename + rename_gdscript_functions(lines, reg_container, true); // Require to do additional renames. rename_common(project_settings_renames, reg_container.project_settings_regexes, lines); rename_gdscript_keywords(lines, reg_container); @@ -1964,8 +1993,8 @@ int ProjectConverter3To4::convert() { rename_common(builtin_types_renames, reg_container.builtin_types_regexes, lines); custom_rename(lines, "\\.shader", ".gdshader"); - } else if (file_name.ends_with(".cs")) { // TODO, C# should use different methods - rename_classes(lines, reg_container); // Using only specialized function + } else if (file_name.ends_with(".cs")) { // TODO, C# should use different methods. + rename_classes(lines, reg_container); // Using only specialized function. rename_common(csharp_function_renames, reg_container.csharp_function_regexes, lines); rename_common(builtin_types_renames, reg_container.builtin_types_regexes, lines); rename_common(csharp_properties_renames, reg_container.csharp_properties_regexes, lines); @@ -1976,7 +2005,7 @@ int ProjectConverter3To4::convert() { } else if (file_name.ends_with(".gdshader") || file_name.ends_with(".shader")) { rename_common(shaders_renames, reg_container.shaders_regexes, lines); } else if (file_name.ends_with("tres")) { - rename_classes(lines, reg_container); // Using only specialized function + rename_classes(lines, reg_container); // Using only specialized function. rename_common(shaders_renames, reg_container.shaders_regexes, lines); rename_common(builtin_types_renames, reg_container.builtin_types_regexes, lines); @@ -1998,41 +2027,40 @@ int ProjectConverter3To4::convert() { } } } else { - reason.append(" ERROR: File has exceeded the maximum size allowed - " + itos(maximum_file_size / 1024) + " KB"); + reason.append(vformat(" ERROR: File has exceeded the maximum size allowed - %d KB", maximum_file_size / 1024)); is_ignored = true; } uint64_t end_time = Time::get_singleton()->get_ticks_msec(); if (is_ignored) { - String end_message = " Checking file took " + itos(end_time - start_time) + " ms."; + String end_message = vformat(" Checking file took %d ms.", end_time - start_time); print_line(end_message); } else { String file_content_after = collect_string_from_vector(lines); uint64_t hash_after = file_content_after.hash64(); - // Don't need to save file without any changes - // Save if this is a shader, because it was renamed + // Don't need to save file without any changes. + // Save if this is a shader, because it was renamed. if (hash_before != hash_after || file_name.ends_with(".gdshader")) { converted_files++; Ref<FileAccess> file = FileAccess::open(file_name, FileAccess::WRITE); - ERR_CONTINUE_MSG(file.is_null(), "Failed to open \"" + file_name + "\" to save data to file."); + ERR_CONTINUE_MSG(file.is_null(), vformat("Unable to apply changes to \"%s\", no writing access.", file_name)); file->store_string(file_content_after); - reason.append(" File was changed, conversion took " + itos(end_time - start_time) + " ms."); + reason.append(vformat(" File was changed, conversion took %d ms.", end_time - start_time)); } else { - reason.append(" File was not changed, checking took " + itos(end_time - start_time) + " ms."); + reason.append(vformat(" File was left unchanged, checking took %d ms.", end_time - start_time)); } if (ignored_lines != 0) { - reason.append(" Ignored " + itos(ignored_lines) + " lines, because their length exceeds maximum allowed characters - " + itos(maximum_line_length)); + reason.append(vformat(" Ignored %d lines, because their length exceeds maximum allowed characters - %d.", ignored_lines, maximum_line_length)); } } for (int k = 0; k < reason.size(); k++) { print_line(reason[k]); } } - - print_line("Conversion ended - all files(" + itos(collected_files.size()) + "), converted files(" + itos(converted_files) + "), not converted files(" + itos(collected_files.size() - converted_files) + ")."); + print_line(vformat("Conversion ended - all files(%d), converted files: (%d), not converted files: (%d).", collected_files.size(), converted_files, collected_files.size() - converted_files)); uint64_t conversion_end_time = Time::get_singleton()->get_ticks_msec(); - print_line("Conversion of all files took " + itos(conversion_end_time - conversion_start_time) + " ms."); + print_line(vformat("Conversion of all files took %10.3f seconds.", (conversion_end_time - conversion_start_time) / 1000.0)); return 0; }; @@ -2044,7 +2072,7 @@ int ProjectConverter3To4::validate_conversion() { RegExContainer reg_container = RegExContainer(); int cached_maximum_line_length = maximum_line_length; - maximum_line_length = 10000; // Use only for tests bigger value, to not break them + maximum_line_length = 10000; // To avoid breaking the tests, only use this for the their larger value. ERR_FAIL_COND_V_MSG(!test_array_names(), ERROR_CODE, "Cannot start converting due to problems with data in arrays."); ERR_FAIL_COND_V_MSG(!test_conversion(reg_container), ERROR_CODE, "Cannot start converting due to problems with converting arrays."); @@ -2052,7 +2080,7 @@ int ProjectConverter3To4::validate_conversion() { maximum_line_length = cached_maximum_line_length; // Checking if folder contains valid Godot 3 project. - // Project should not be converted more than 1 times + // Project should not be converted more than once. { String conventer_text = "; Project was converted by built-in tool to Godot 4.0"; @@ -2069,7 +2097,7 @@ int ProjectConverter3To4::validate_conversion() { uint32_t converted_files = 0; - // Check file by file + // Check file by file. for (int i = 0; i < collected_files.size(); i++) { String file_name = collected_files[i]; Vector<String> lines; @@ -2077,14 +2105,14 @@ int ProjectConverter3To4::validate_conversion() { uint64_t file_size = 0; { Ref<FileAccess> file = FileAccess::open(file_name, FileAccess::READ); - ERR_CONTINUE_MSG(file.is_null(), "Failed to read content of \"" + file_name + "\"."); + ERR_CONTINUE_MSG(file.is_null(), vformat("Unable to read content of \"%s\".", file_name)); while (!file->eof_reached()) { String line = file->get_line(); file_size += line.size(); lines.append(line); } } - print_line("Checking for conversion - " + itos(i + 1) + "/" + itos(collected_files.size()) + " file - \"" + file_name.trim_prefix("res://") + "\" with size - " + itos(file_size / 1024) + " KB"); + print_line(vformat("Checking for conversion - %d/%d file - \"%s\" with size - %d KB"), i + 1, collected_files.size(), file_name.trim_prefix("res://"), file_size / 1024); Vector<String> changed_elements; Vector<String> reason; @@ -2092,7 +2120,7 @@ int ProjectConverter3To4::validate_conversion() { uint64_t start_time = Time::get_singleton()->get_ticks_msec(); if (file_name.ends_with(".shader")) { - reason.append("\tFile extension will be renamed from `shader` to `gdshader`."); + reason.append("\tFile extension will be renamed from \"shader\" to \"gdshader\"."); } if (file_size < uint64_t(maximum_file_size)) { @@ -2154,7 +2182,7 @@ int ProjectConverter3To4::validate_conversion() { } else if (file_name.ends_with(".csproj")) { // TODO } else { - ERR_PRINT(file_name + " is not supported!"); + ERR_PRINT(vformat("\"%s\", is not supported!", file_name)); continue; } @@ -2164,14 +2192,14 @@ int ProjectConverter3To4::validate_conversion() { } } } else { - reason.append("\tERROR: File has exceeded the maximum size allowed - " + itos(maximum_file_size / 1024) + " KB"); + reason.append(vformat("\tERROR: File has exceeded the maximum size allowed - %d KB.", maximum_file_size / 1024)); is_ignored = true; } uint64_t end_time = Time::get_singleton()->get_ticks_msec(); - String end_message = " Checking file took " + itos(end_time - start_time) + " ms."; + String end_message = vformat(" Checking file took %10.3f ms.", (end_time - start_time) / 1000.0); if (ignored_lines != 0) { - end_message += " Ignored " + itos(ignored_lines) + " lines, because their length exceeds maximum allowed characters - " + itos(maximum_line_length); + end_message += vformat(" Ignored %d lines, because their length exceeds maximum allowed characters - %d.", ignored_lines, maximum_line_length); } print_line(end_message); @@ -2188,13 +2216,13 @@ int ProjectConverter3To4::validate_conversion() { } } - print_line("Checking for valid conversion ended - all files(" + itos(collected_files.size()) + "), files which would be converted(" + itos(converted_files) + "), files which would not be converted(" + itos(collected_files.size() - converted_files) + ")."); + print_line(vformat("Checking for valid conversion ended - all files(%d), files which would be converted(%d), files which would not be converted(%d).", collected_files.size(), converted_files, collected_files.size() - converted_files)); uint64_t conversion_end_time = Time::get_singleton()->get_ticks_msec(); - print_line("Conversion of all files took " + itos(conversion_end_time - conversion_start_time) + " ms."); + print_line(vformat("Conversion of all files took %10.3f seconds.", (conversion_end_time - conversion_start_time) / 1000.0)); return 0; } -// Collect files which will be checked, it will not touch txt, mp4, wav etc. files +// Collect files which will be checked, excluding ".txt", ".mp4", ".wav" etc. files. Vector<String> ProjectConverter3To4::check_for_files() { Vector<String> collected_files = Vector<String>(); @@ -2204,7 +2232,7 @@ Vector<String> ProjectConverter3To4::check_for_files() { core_bind::Directory dir = core_bind::Directory(); while (!directories_to_check.is_empty()) { String path = directories_to_check.get(directories_to_check.size() - 1); // Is there any pop_back function? - directories_to_check.resize(directories_to_check.size() - 1); // Remove last element + directories_to_check.resize(directories_to_check.size() - 1); // Remove last element. if (dir.open(path) == OK) { dir.set_include_hidden(true); dir.list_dir_begin(); @@ -2241,10 +2269,7 @@ bool ProjectConverter3To4::test_conversion_gdscript_builtin(String name, String Vector<String> got = name.split("\n"); (this->*func)(got, reg_container, builtin_script); String got_str = collect_string_from_vector(got); - if (expected != got_str) { - ERR_PRINT("Failed to convert " + what + " `" + name + "` to `" + expected + "`, got instead `" + got_str + "`"); - return false; - } + ERR_FAIL_COND_V_MSG(expected != got_str, false, vformat("Failed to convert %s \"%s\" to \"%s\", got instead \"%s\"", what, name, expected, got_str)); return true; } @@ -2253,10 +2278,7 @@ bool ProjectConverter3To4::test_conversion_with_regex(String name, String expect Vector<String> got = name.split("\n"); (this->*func)(got, reg_container); String got_str = collect_string_from_vector(got); - if (expected != got_str) { - ERR_PRINT("Failed to convert " + what + " `" + name + "` to `" + expected + "`, got instead `" + got_str + "`"); - return false; - } + ERR_FAIL_COND_V_MSG(expected != got_str, false, vformat("Failed to convert %s \"%s\" to \"%s\", got instead \"%s\"", what, name, expected, got_str)); return true; } @@ -2265,187 +2287,185 @@ bool ProjectConverter3To4::test_conversion_basic(String name, String expected, c Vector<String> got = name.split("\n"); rename_common(array, regex_cache, got); String got_str = collect_string_from_vector(got); - if (expected != got_str) { - ERR_PRINT("Failed to convert " + what + " `" + name + "` to `" + expected + "`, got instead `" + got_str + "`"); - return false; - } + ERR_FAIL_COND_V_MSG(expected != got_str, false, vformat("Failed to convert %s \"%s\" to \"%s\", got instead \"%s\"", what, name, expected, got_str)); + return true; } -// Validate if conversions are proper +// Validate if conversions are proper. bool ProjectConverter3To4::test_conversion(RegExContainer ®_container) { bool valid = true; - valid = valid & test_conversion_basic("TYPE_REAL", "TYPE_FLOAT", enum_renames, reg_container.enum_regexes, "enum"); + valid = valid && test_conversion_basic("TYPE_REAL", "TYPE_FLOAT", enum_renames, reg_container.enum_regexes, "enum"); - valid = valid & test_conversion_basic("can_instance", "can_instantiate", gdscript_function_renames, reg_container.gdscript_function_regexes, "gdscript function"); + valid = valid && test_conversion_basic("can_instance", "can_instantiate", gdscript_function_renames, reg_container.gdscript_function_regexes, "gdscript function"); - valid = valid & test_conversion_basic("CanInstance", "CanInstantiate", csharp_function_renames, reg_container.csharp_function_regexes, "csharp function"); + valid = valid && test_conversion_basic("CanInstance", "CanInstantiate", csharp_function_renames, reg_container.csharp_function_regexes, "csharp function"); - valid = valid & test_conversion_basic("translation", "position", gdscript_properties_renames, reg_container.gdscript_properties_regexes, "gdscript property"); + valid = valid && test_conversion_basic("translation", "position", gdscript_properties_renames, reg_container.gdscript_properties_regexes, "gdscript property"); - valid = valid & test_conversion_basic("Translation", "Position", csharp_properties_renames, reg_container.csharp_properties_regexes, "csharp property"); + valid = valid && test_conversion_basic("Translation", "Position", csharp_properties_renames, reg_container.csharp_properties_regexes, "csharp property"); - valid = valid & test_conversion_basic("NORMALMAP", "NORMAL_MAP", shaders_renames, reg_container.shaders_regexes, "shader"); + valid = valid && test_conversion_basic("NORMALMAP", "NORMAL_MAP", shaders_renames, reg_container.shaders_regexes, "shader"); - valid = valid & test_conversion_basic("text_entered", "text_submitted", gdscript_signals_renames, reg_container.gdscript_signals_regexes, "gdscript signal"); + valid = valid && test_conversion_basic("text_entered", "text_submitted", gdscript_signals_renames, reg_container.gdscript_signals_regexes, "gdscript signal"); - valid = valid & test_conversion_basic("TextEntered", "TextSubmitted", csharp_signals_renames, reg_container.csharp_signal_regexes, "csharp signal"); + valid = valid && test_conversion_basic("TextEntered", "TextSubmitted", csharp_signals_renames, reg_container.csharp_signal_regexes, "csharp signal"); - valid = valid & test_conversion_basic("audio/channel_disable_threshold_db", "audio/buses/channel_disable_threshold_db", project_settings_renames, reg_container.project_settings_regexes, "project setting"); + valid = valid && test_conversion_basic("audio/channel_disable_threshold_db", "audio/buses/channel_disable_threshold_db", project_settings_renames, reg_container.project_settings_regexes, "project setting"); - valid = valid & test_conversion_basic("Transform", "Transform3D", builtin_types_renames, reg_container.builtin_types_regexes, "builtin type"); + valid = valid && test_conversion_basic("Transform", "Transform3D", builtin_types_renames, reg_container.builtin_types_regexes, "builtin type"); - // Custom Renames + // Custom Renames. - valid = valid & test_conversion_with_regex("(Connect(A,B,C,D,E,F,G) != OK):", "(Connect(A,new Callable(B,C),D,E,F,G) != OK):", &ProjectConverter3To4::rename_csharp_functions, "custom rename csharp", reg_container); - valid = valid & test_conversion_with_regex("(Disconnect(A,B,C) != OK):", "(Disconnect(A,new Callable(B,C)) != OK):", &ProjectConverter3To4::rename_csharp_functions, "custom rename csharp", reg_container); - valid = valid & test_conversion_with_regex("(IsConnected(A,B,C) != OK):", "(IsConnected(A,new Callable(B,C)) != OK):", &ProjectConverter3To4::rename_csharp_functions, "custom rename", reg_container); + valid = valid && test_conversion_with_regex("(Connect(A,B,C,D,E,F,G) != OK):", "(Connect(A,new Callable(B,C),D,E,F,G) != OK):", &ProjectConverter3To4::rename_csharp_functions, "custom rename csharp", reg_container); + valid = valid && test_conversion_with_regex("(Disconnect(A,B,C) != OK):", "(Disconnect(A,new Callable(B,C)) != OK):", &ProjectConverter3To4::rename_csharp_functions, "custom rename csharp", reg_container); + valid = valid && test_conversion_with_regex("(IsConnected(A,B,C) != OK):", "(IsConnected(A,new Callable(B,C)) != OK):", &ProjectConverter3To4::rename_csharp_functions, "custom rename", reg_container); - valid = valid & test_conversion_with_regex("[Remote]", "[RPC(MultiplayerAPI.RPCMode.AnyPeer)]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp", reg_container); - valid = valid & test_conversion_with_regex("[RemoteSync]", "[RPC(MultiplayerAPI.RPCMode.AnyPeer, CallLocal = true)]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp", reg_container); - valid = valid & test_conversion_with_regex("[Sync]", "[RPC(MultiplayerAPI.RPCMode.AnyPeer, CallLocal = true)]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp", reg_container); - valid = valid & test_conversion_with_regex("[Slave]", "[RPC]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp", reg_container); - valid = valid & test_conversion_with_regex("[Puppet]", "[RPC]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp", reg_container); - valid = valid & test_conversion_with_regex("[PuppetSync]", "[RPC(CallLocal = true)]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp", reg_container); - valid = valid & test_conversion_with_regex("[Master]", "The master and mastersync rpc behavior is not officially supported anymore. Try using another keyword or making custom logic using Multiplayer.GetRemoteSenderId()\n[RPC]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp", reg_container); - valid = valid & test_conversion_with_regex("[MasterSync]", "The master and mastersync rpc behavior is not officially supported anymore. Try using another keyword or making custom logic using Multiplayer.GetRemoteSenderId()\n[RPC(CallLocal = true)]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp", reg_container); - - valid = valid & test_conversion_gdscript_builtin("OS.window_fullscreen = Settings.fullscreen", "ProjectSettings.set(\"display/window/size/fullscreen\", Settings.fullscreen)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("OS.window_fullscreen = Settings.fullscreen", "ProjectSettings.set(\\\"display/window/size/fullscreen\\\", Settings.fullscreen)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, true); - valid = valid & test_conversion_gdscript_builtin("OS.get_window_safe_area()", "DisplayServer.get_display_safe_area()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - - valid = valid & test_conversion_gdscript_builtin("\tvar aa = roman(r.move_and_slide( a, b, c, d, e, f )) # Roman", "\tr.set_velocity(a)\n\tr.set_up_direction(b)\n\tr.set_floor_stop_on_slope_enabled(c)\n\tr.set_max_slides(d)\n\tr.set_floor_max_angle(e)\n\t# TODOConverter40 infinite_inertia were removed in Godot 4.0 - previous value `f`\n\tr.move_and_slide()\n\tvar aa = roman(r.velocity) # Roman", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("\tvar aa = roman(r.move_and_slide_with_snap( a, g, b, c, d, e, f )) # Roman", "\tr.set_velocity(a)\n\t# TODOConverter40 looks that snap in Godot 4.0 is float, not vector like in Godot 3 - previous value `g`\n\tr.set_up_direction(b)\n\tr.set_floor_stop_on_slope_enabled(c)\n\tr.set_max_slides(d)\n\tr.set_floor_max_angle(e)\n\t# TODOConverter40 infinite_inertia were removed in Godot 4.0 - previous value `f`\n\tr.move_and_slide()\n\tvar aa = roman(r.velocity) # Roman", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_with_regex("[Remote]", "[RPC(MultiplayerAPI.RPCMode.AnyPeer)]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp", reg_container); + valid = valid && test_conversion_with_regex("[RemoteSync]", "[RPC(MultiplayerAPI.RPCMode.AnyPeer, CallLocal = true)]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp", reg_container); + valid = valid && test_conversion_with_regex("[Sync]", "[RPC(MultiplayerAPI.RPCMode.AnyPeer, CallLocal = true)]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp", reg_container); + valid = valid && test_conversion_with_regex("[Slave]", "[RPC]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp", reg_container); + valid = valid && test_conversion_with_regex("[Puppet]", "[RPC]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp", reg_container); + valid = valid && test_conversion_with_regex("[PuppetSync]", "[RPC(CallLocal = true)]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp", reg_container); + valid = valid && test_conversion_with_regex("[Master]", "The master and mastersync rpc behavior is not officially supported anymore. Try using another keyword or making custom logic using Multiplayer.GetRemoteSenderId()\n[RPC]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp", reg_container); + valid = valid && test_conversion_with_regex("[MasterSync]", "The master and mastersync rpc behavior is not officially supported anymore. Try using another keyword or making custom logic using Multiplayer.GetRemoteSenderId()\n[RPC(CallLocal = true)]", &ProjectConverter3To4::rename_csharp_attributes, "custom rename csharp", reg_container); + + valid = valid && test_conversion_gdscript_builtin("OS.window_fullscreen = Settings.fullscreen", "ProjectSettings.set(\"display/window/size/fullscreen\", Settings.fullscreen)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("OS.window_fullscreen = Settings.fullscreen", "ProjectSettings.set(\\\"display/window/size/fullscreen\\\", Settings.fullscreen)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, true); + valid = valid && test_conversion_gdscript_builtin("OS.get_window_safe_area()", "DisplayServer.get_display_safe_area()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + + valid = valid && test_conversion_gdscript_builtin("\tvar aa = roman(r.move_and_slide( a, b, c, d, e, f )) # Roman", "\tr.set_velocity(a)\n\tr.set_up_direction(b)\n\tr.set_floor_stop_on_slope_enabled(c)\n\tr.set_max_slides(d)\n\tr.set_floor_max_angle(e)\n\t# TODOConverter40 infinite_inertia were removed in Godot 4.0 - previous value `f`\n\tr.move_and_slide()\n\tvar aa = roman(r.velocity) # Roman", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("\tvar aa = roman(r.move_and_slide_with_snap( a, g, b, c, d, e, f )) # Roman", "\tr.set_velocity(a)\n\t# TODOConverter40 looks that snap in Godot 4.0 is float, not vector like in Godot 3 - previous value `g`\n\tr.set_up_direction(b)\n\tr.set_floor_stop_on_slope_enabled(c)\n\tr.set_max_slides(d)\n\tr.set_floor_max_angle(e)\n\t# TODOConverter40 infinite_inertia were removed in Godot 4.0 - previous value `f`\n\tr.move_and_slide()\n\tvar aa = roman(r.velocity) # Roman", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("list_dir_begin( a , b )", "list_dir_begin() # TODOGODOT4 fill missing arguments https://github.com/godotengine/godot/pull/40547", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("list_dir_begin( a )", "list_dir_begin() # TODOGODOT4 fill missing arguments https://github.com/godotengine/godot/pull/40547", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("list_dir_begin( )", "list_dir_begin() # TODOGODOT4 fill missing arguments https://github.com/godotengine/godot/pull/40547", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("list_dir_begin( a , b )", "list_dir_begin() # TODOGODOT4 fill missing arguments https://github.com/godotengine/godot/pull/40547", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("list_dir_begin( a )", "list_dir_begin() # TODOGODOT4 fill missing arguments https://github.com/godotengine/godot/pull/40547", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("list_dir_begin( )", "list_dir_begin() # TODOGODOT4 fill missing arguments https://github.com/godotengine/godot/pull/40547", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("sort_custom( a , b )", "sort_custom(Callable(a,b))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - - valid = valid & test_conversion_gdscript_builtin("func c(var a, var b)", "func c(a, b)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("sort_custom( a , b )", "sort_custom(Callable(a,b))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + + valid = valid && test_conversion_gdscript_builtin("func c(var a, var b)", "func c(a, b)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("draw_line(1, 2, 3, 4, 5)", "draw_line(1,2,3,4)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("draw_line(1, 2, 3, 4, 5)", "draw_line(1,2,3,4)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("\timage.lock()", "\tfalse # image.lock() # TODOConverter40, image no longer require locking, `false` helps to not broke one line if/else, so can be freely removed", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("\timage.unlock()", "\tfalse # image.unlock() # TODOConverter40, image no longer require locking, `false` helps to not broke one line if/else, so can be freely removed", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("\troman.image.unlock()", "\tfalse # roman.image.unlock() # TODOConverter40, image no longer require locking, `false` helps to not broke one line if/else, so can be freely removed", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("\tmtx.lock()", "\tmtx.lock()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("\tmutex.unlock()", "\tmutex.unlock()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("\timage.lock()", "\tfalse # image.lock() # TODOConverter40, Image no longer requires locking, `false` helps to not break one line if/else, so it can freely be removed", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("\timage.unlock()", "\tfalse # image.unlock() # TODOConverter40, Image no longer requires locking, `false` helps to not break one line if/else, so it can freely be removed", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("\troman.image.unlock()", "\tfalse # roman.image.unlock() # TODOConverter40, Image no longer requires locking, `false` helps to not break one line if/else, so it can freely be removed", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("\tmtx.lock()", "\tmtx.lock()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("\tmutex.unlock()", "\tmutex.unlock()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_with_regex("extends CSGBox", "extends CSGBox3D", &ProjectConverter3To4::rename_classes, "classes", reg_container); - valid = valid & test_conversion_with_regex("CSGBox", "CSGBox3D", &ProjectConverter3To4::rename_classes, "classes", reg_container); - valid = valid & test_conversion_with_regex("Spatial", "Node3D", &ProjectConverter3To4::rename_classes, "classes", reg_container); - valid = valid & test_conversion_with_regex("Spatial.tscn", "Spatial.tscn", &ProjectConverter3To4::rename_classes, "classes", reg_container); - valid = valid & test_conversion_with_regex("Spatial.gd", "Spatial.gd", &ProjectConverter3To4::rename_classes, "classes", reg_container); - valid = valid & test_conversion_with_regex("Spatial.shader", "Spatial.shader", &ProjectConverter3To4::rename_classes, "classes", reg_container); - valid = valid & test_conversion_with_regex("Spatial.other", "Node3D.other", &ProjectConverter3To4::rename_classes, "classes", reg_container); - - valid = valid & test_conversion_with_regex("\nonready", "\n@onready", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); - valid = valid & test_conversion_with_regex("onready", "@onready", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); - valid = valid & test_conversion_with_regex(" onready", " onready", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); - valid = valid & test_conversion_with_regex("\nexport", "\n@export", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); - valid = valid & test_conversion_with_regex("\texport", "\t@export", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); - valid = valid & test_conversion_with_regex("\texport_dialog", "\texport_dialog", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); - valid = valid & test_conversion_with_regex("export", "@export", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); - valid = valid & test_conversion_with_regex(" export", " export", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); - valid = valid & test_conversion_with_regex("tool", "@tool", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); - valid = valid & test_conversion_with_regex("\n tool", "\n tool", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); - valid = valid & test_conversion_with_regex("\n\ntool", "\n\n@tool", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); - valid = valid & test_conversion_with_regex("\n\nremote func", "\n\n@rpc(any_peer) func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); - valid = valid & test_conversion_with_regex("\n\nremotesync func", "\n\n@rpc(any_peer, call_local) func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); - valid = valid & test_conversion_with_regex("\n\nsync func", "\n\n@rpc(any_peer, call_local) func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); - valid = valid & test_conversion_with_regex("\n\nslave func", "\n\n@rpc func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); - valid = valid & test_conversion_with_regex("\n\npuppet func", "\n\n@rpc func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); - valid = valid & test_conversion_with_regex("\n\npuppetsync func", "\n\n@rpc(call_local) func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); - valid = valid & test_conversion_with_regex("\n\nmaster func", "\n\nThe master and mastersync rpc behavior is not officially supported anymore. Try using another keyword or making custom logic using get_multiplayer().get_remote_sender_id()\n@rpc func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); - valid = valid & test_conversion_with_regex("\n\nmastersync func", "\n\nThe master and mastersync rpc behavior is not officially supported anymore. Try using another keyword or making custom logic using get_multiplayer().get_remote_sender_id()\n@rpc(call_local) func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); - - valid = valid & test_conversion_gdscript_builtin("var size : Vector2 = Vector2() setget set_function , get_function", "var size : Vector2 = Vector2() :\n get:\n return size # TODOConverter40 Copy here content of get_function\n set(mod_value):\n mod_value # TODOConverter40 Copy here content of set_function", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("var size : Vector2 = Vector2() setget set_function , ", "var size : Vector2 = Vector2() :\n get:\n return size # TODOConverter40 Non existent get function \n set(mod_value):\n mod_value # TODOConverter40 Copy here content of set_function", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("var size : Vector2 = Vector2() setget set_function", "var size : Vector2 = Vector2() :\n get:\n return size # TODOConverter40 Non existent get function \n set(mod_value):\n mod_value # TODOConverter40 Copy here content of set_function", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("var size : Vector2 = Vector2() setget , get_function", "var size : Vector2 = Vector2() :\n get:\n return size # TODOConverter40 Copy here content of get_function \n set(mod_value):\n mod_value # TODOConverter40 Non existent set function", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - - valid = valid & test_conversion_gdscript_builtin("get_node(@", "get_node(", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - - valid = valid & test_conversion_gdscript_builtin("yield(this, \"timeout\")", "await this.timeout", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("yield(this, \\\"timeout\\\")", "await this.timeout", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, true); - - valid = valid & test_conversion_gdscript_builtin(" Transform.xform(Vector3(a,b,c)) ", " Transform * Vector3(a,b,c) ", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin(" Transform.xform_inv(Vector3(a,b,c)) ", " Vector3(a,b,c) * Transform ", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - - valid = valid & test_conversion_gdscript_builtin("export(float) var lifetime = 3.0", "export var lifetime: float = 3.0", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("export(String, 'AnonymousPro', 'CourierPrime') var _font_name = 'AnonymousPro'", "export var _font_name = 'AnonymousPro' # (String, 'AnonymousPro', 'CourierPrime')", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); // TODO, this is only a workaround - valid = valid & test_conversion_gdscript_builtin("export(PackedScene) var mob_scene", "export var mob_scene: PackedScene", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - - valid = valid & test_conversion_gdscript_builtin("var d = parse_json(roman(sfs))", "var test_json_conv = JSON.new()\ntest_json_conv.parse(roman(sfs))\nvar d = test_json_conv.get_data()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - - valid = valid & test_conversion_gdscript_builtin("to_json( AA ) szon", "JSON.new().stringify( AA ) szon", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("s to_json", "s JSON.new().stringify", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("AF to_json2", "AF to_json2", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("var rr = JSON.parse(a)", "var test_json_conv = JSON.new()\ntest_json_conv.parse(a)\nvar rr = test_json_conv.get_data()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - - valid = valid & test_conversion_gdscript_builtin("empty()", "is_empty()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin(".empty", ".empty", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - - valid = valid & test_conversion_gdscript_builtin(").roman(", ").roman(", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("\t.roman(", "\tsuper.roman(", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin(" .roman(", " super.roman(", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin(".1", ".1", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin(" .1", " .1", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("'.'", "'.'", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("'.a'", "'.a'", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("\t._input(_event)", "\tsuper._input(_event)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - - valid = valid & test_conversion_gdscript_builtin("(connect(A,B,C) != OK):", "(connect(A,Callable(B,C)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("(connect(A,B,C,D) != OK):", "(connect(A,Callable(B,C).bind(D)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("(connect(A,B,C,[D]) != OK):", "(connect(A,Callable(B,C).bind(D)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("(connect(A,B,C,[D,E]) != OK):", "(connect(A,Callable(B,C).bind(D,E)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("(connect(A,B,C,[D,E],F) != OK):", "(connect(A,Callable(B,C).bind(D,E),F) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("(connect(A,B,C,D,E) != OK):", "(connect(A,Callable(B,C).bind(D),E) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - - valid = valid & test_conversion_gdscript_builtin("(start(A,B) != OK):", "(start(Callable(A,B)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("func start(A,B):", "func start(A,B):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("(start(A,B,C,D,E,F,G) != OK):", "(start(Callable(A,B).bind(C),D,E,F,G) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("disconnect(A,B,C) != OK):", "disconnect(A,Callable(B,C)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("is_connected(A,B,C) != OK):", "is_connected(A,Callable(B,C)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("is_connected(A,B,C))", "is_connected(A,Callable(B,C)))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - - valid = valid & test_conversion_gdscript_builtin("(tween_method(A,B,C,D,E).foo())", "(tween_method(Callable(A,B),C,D,E).foo())", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("(tween_method(A,B,C,D,E,[F,G]).foo())", "(tween_method(Callable(A,B).bind(F,G),C,D,E).foo())", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("(tween_callback(A,B).foo())", "(tween_callback(Callable(A,B)).foo())", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("(tween_callback(A,B,[C,D]).foo())", "(tween_callback(Callable(A,B).bind(C,D)).foo())", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - - valid = valid & test_conversion_gdscript_builtin("func _init(", "func _init(", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("func _init(p_x:int)->void:", "func _init(p_x:int):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("q_PackedDataContainer._iter_init(variable1)", "q_PackedDataContainer._iter_init(variable1)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - - valid = valid & test_conversion_gdscript_builtin("assert(speed < 20, str(randi()%10))", "assert(speed < 20) #,str(randi()%10))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("assert(speed < 2)", "assert(speed < 2)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("assert(false, \"Missing type --\" + str(argument.type) + \"--, needs to be added to project\")", "assert(false) #,\"Missing type --\" + str(argument.type) + \"--, needs to be added to project\")", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - - valid = valid & test_conversion_gdscript_builtin("create_from_image(aa, bb)", "create_from_image(aa) #,bb", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("q_ImageTexture.create_from_image(variable1, variable2)", "q_ImageTexture.create_from_image(variable1) #,variable2", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - - valid = valid & test_conversion_gdscript_builtin("set_cell_item(a, b, c, d ,e) # AA", "set_cell_item( Vector3(a,b,c) ,d,e) # AA", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("set_cell_item(a, b)", "set_cell_item(a, b)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("get_cell_item_orientation(a, b,c)", "get_cell_item_orientation(Vector3i(a,b,c))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("get_cell_item(a, b,c)", "get_cell_item(Vector3i(a,b,c))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("map_to_world(a, b,c)", "map_to_world(Vector3i(a,b,c))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - - valid = valid & test_conversion_gdscript_builtin("PackedStringArray(req_godot).join('.')", "'.'.join(PackedStringArray(req_godot))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("=PackedStringArray(req_godot).join('.')", "='.'.join(PackedStringArray(req_godot))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - - valid = valid & test_conversion_gdscript_builtin("apply_force(position, impulse)", "apply_force(impulse, position)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("apply_impulse(position, impulse)", "apply_impulse(impulse, position)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("draw_rect(a,b,c,d,e).abc", "draw_rect(a,b,c,d).abc# e) TODOGODOT4 Antialiasing argument is missing", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("get_focus_owner()", "get_viewport().gui_get_focus_owner()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("button.pressed = 1", "button.button_pressed = 1", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("button.pressed=1", "button.button_pressed=1", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - valid = valid & test_conversion_gdscript_builtin("button.pressed SF", "button.pressed SF", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); - - valid = valid & test_conversion_with_regex("AAA Color.white AF", "AAA Color.WHITE AF", &ProjectConverter3To4::rename_colors, "custom rename", reg_container); + valid = valid && test_conversion_with_regex("extends CSGBox", "extends CSGBox3D", &ProjectConverter3To4::rename_classes, "classes", reg_container); + valid = valid && test_conversion_with_regex("CSGBox", "CSGBox3D", &ProjectConverter3To4::rename_classes, "classes", reg_container); + valid = valid && test_conversion_with_regex("Spatial", "Node3D", &ProjectConverter3To4::rename_classes, "classes", reg_container); + valid = valid && test_conversion_with_regex("Spatial.tscn", "Spatial.tscn", &ProjectConverter3To4::rename_classes, "classes", reg_container); + valid = valid && test_conversion_with_regex("Spatial.gd", "Spatial.gd", &ProjectConverter3To4::rename_classes, "classes", reg_container); + valid = valid && test_conversion_with_regex("Spatial.shader", "Spatial.shader", &ProjectConverter3To4::rename_classes, "classes", reg_container); + valid = valid && test_conversion_with_regex("Spatial.other", "Node3D.other", &ProjectConverter3To4::rename_classes, "classes", reg_container); + + valid = valid && test_conversion_with_regex("\nonready", "\n@onready", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); + valid = valid && test_conversion_with_regex("onready", "@onready", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); + valid = valid && test_conversion_with_regex(" onready", " onready", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); + valid = valid && test_conversion_with_regex("\nexport", "\n@export", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); + valid = valid && test_conversion_with_regex("\texport", "\t@export", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); + valid = valid && test_conversion_with_regex("\texport_dialog", "\texport_dialog", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); + valid = valid && test_conversion_with_regex("export", "@export", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); + valid = valid && test_conversion_with_regex(" export", " export", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); + valid = valid && test_conversion_with_regex("tool", "@tool", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); + valid = valid && test_conversion_with_regex("\n tool", "\n tool", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); + valid = valid && test_conversion_with_regex("\n\ntool", "\n\n@tool", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); + valid = valid && test_conversion_with_regex("\n\nremote func", "\n\n@rpc(any_peer) func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); + valid = valid && test_conversion_with_regex("\n\nremotesync func", "\n\n@rpc(any_peer, call_local) func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); + valid = valid && test_conversion_with_regex("\n\nsync func", "\n\n@rpc(any_peer, call_local) func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); + valid = valid && test_conversion_with_regex("\n\nslave func", "\n\n@rpc func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); + valid = valid && test_conversion_with_regex("\n\npuppet func", "\n\n@rpc func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); + valid = valid && test_conversion_with_regex("\n\npuppetsync func", "\n\n@rpc(call_local) func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); + valid = valid && test_conversion_with_regex("\n\nmaster func", "\n\nThe master and mastersync rpc behavior is not officially supported anymore. Try using another keyword or making custom logic using get_multiplayer().get_remote_sender_id()\n@rpc func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); + valid = valid && test_conversion_with_regex("\n\nmastersync func", "\n\nThe master and mastersync rpc behavior is not officially supported anymore. Try using another keyword or making custom logic using get_multiplayer().get_remote_sender_id()\n@rpc(call_local) func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword", reg_container); + + valid = valid && test_conversion_gdscript_builtin("var size : Vector2 = Vector2() setget set_function , get_function", "var size : Vector2 = Vector2() :\n get:\n return size # TODOConverter40 Copy here content of get_function\n set(mod_value):\n mod_value # TODOConverter40 Copy here content of set_function", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("var size : Vector2 = Vector2() setget set_function , ", "var size : Vector2 = Vector2() :\n get:\n return size # TODOConverter40 Non existent get function \n set(mod_value):\n mod_value # TODOConverter40 Copy here content of set_function", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("var size : Vector2 = Vector2() setget set_function", "var size : Vector2 = Vector2() :\n get:\n return size # TODOConverter40 Non existent get function \n set(mod_value):\n mod_value # TODOConverter40 Copy here content of set_function", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("var size : Vector2 = Vector2() setget , get_function", "var size : Vector2 = Vector2() :\n get:\n return size # TODOConverter40 Copy here content of get_function \n set(mod_value):\n mod_value # TODOConverter40 Non existent set function", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + + valid = valid && test_conversion_gdscript_builtin("get_node(@", "get_node(", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + + valid = valid && test_conversion_gdscript_builtin("yield(this, \"timeout\")", "await this.timeout", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("yield(this, \\\"timeout\\\")", "await this.timeout", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, true); + + valid = valid && test_conversion_gdscript_builtin(" Transform.xform(Vector3(a,b,c)) ", " Transform * Vector3(a,b,c) ", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin(" Transform.xform_inv(Vector3(a,b,c)) ", " Vector3(a,b,c) * Transform ", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + + valid = valid && test_conversion_gdscript_builtin("export(float) var lifetime = 3.0", "export var lifetime: float = 3.0", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("export(String, 'AnonymousPro', 'CourierPrime') var _font_name = 'AnonymousPro'", "export var _font_name = 'AnonymousPro' # (String, 'AnonymousPro', 'CourierPrime')", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); // TODO, this is only a workaround + valid = valid && test_conversion_gdscript_builtin("export(PackedScene) var mob_scene", "export var mob_scene: PackedScene", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + + valid = valid && test_conversion_gdscript_builtin("var d = parse_json(roman(sfs))", "var test_json_conv = JSON.new()\ntest_json_conv.parse(roman(sfs))\nvar d = test_json_conv.get_data()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + + valid = valid && test_conversion_gdscript_builtin("to_json( AA ) szon", "JSON.new().stringify( AA ) szon", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("s to_json", "s JSON.new().stringify", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("AF to_json2", "AF to_json2", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("var rr = JSON.parse(a)", "var test_json_conv = JSON.new()\ntest_json_conv.parse(a)\nvar rr = test_json_conv.get_data()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + + valid = valid && test_conversion_gdscript_builtin("empty()", "is_empty()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin(".empty", ".empty", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + + valid = valid && test_conversion_gdscript_builtin(").roman(", ").roman(", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("\t.roman(", "\tsuper.roman(", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin(" .roman(", " super.roman(", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin(".1", ".1", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin(" .1", " .1", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("'.'", "'.'", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("'.a'", "'.a'", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("\t._input(_event)", "\tsuper._input(_event)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + + valid = valid && test_conversion_gdscript_builtin("(connect(A,B,C) != OK):", "(connect(A,Callable(B,C)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("(connect(A,B,C,D) != OK):", "(connect(A,Callable(B,C).bind(D)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("(connect(A,B,C,[D]) != OK):", "(connect(A,Callable(B,C).bind(D)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("(connect(A,B,C,[D,E]) != OK):", "(connect(A,Callable(B,C).bind(D,E)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("(connect(A,B,C,[D,E],F) != OK):", "(connect(A,Callable(B,C).bind(D,E),F) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("(connect(A,B,C,D,E) != OK):", "(connect(A,Callable(B,C).bind(D),E) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + + valid = valid && test_conversion_gdscript_builtin("(start(A,B) != OK):", "(start(Callable(A,B)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("func start(A,B):", "func start(A,B):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("(start(A,B,C,D,E,F,G) != OK):", "(start(Callable(A,B).bind(C),D,E,F,G) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("disconnect(A,B,C) != OK):", "disconnect(A,Callable(B,C)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("is_connected(A,B,C) != OK):", "is_connected(A,Callable(B,C)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("is_connected(A,B,C))", "is_connected(A,Callable(B,C)))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + + valid = valid && test_conversion_gdscript_builtin("(tween_method(A,B,C,D,E).foo())", "(tween_method(Callable(A,B),C,D,E).foo())", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("(tween_method(A,B,C,D,E,[F,G]).foo())", "(tween_method(Callable(A,B).bind(F,G),C,D,E).foo())", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("(tween_callback(A,B).foo())", "(tween_callback(Callable(A,B)).foo())", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("(tween_callback(A,B,[C,D]).foo())", "(tween_callback(Callable(A,B).bind(C,D)).foo())", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + + valid = valid && test_conversion_gdscript_builtin("func _init(", "func _init(", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("func _init(p_x:int)->void:", "func _init(p_x:int):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("q_PackedDataContainer._iter_init(variable1)", "q_PackedDataContainer._iter_init(variable1)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + + valid = valid && test_conversion_gdscript_builtin("assert(speed < 20, str(randi()%10))", "assert(speed < 20) #,str(randi()%10))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("assert(speed < 2)", "assert(speed < 2)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("assert(false, \"Missing type --\" + str(argument.type) + \"--, needs to be added to project\")", "assert(false) #,\"Missing type --\" + str(argument.type) + \"--, needs to be added to project\")", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + + valid = valid && test_conversion_gdscript_builtin("create_from_image(aa, bb)", "create_from_image(aa) #,bb", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("q_ImageTexture.create_from_image(variable1, variable2)", "q_ImageTexture.create_from_image(variable1) #,variable2", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + + valid = valid && test_conversion_gdscript_builtin("set_cell_item(a, b, c, d ,e) # AA", "set_cell_item( Vector3(a,b,c) ,d,e) # AA", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("set_cell_item(a, b)", "set_cell_item(a, b)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("get_cell_item_orientation(a, b,c)", "get_cell_item_orientation(Vector3i(a,b,c))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("get_cell_item(a, b,c)", "get_cell_item(Vector3i(a,b,c))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("map_to_world(a, b,c)", "map_to_local(Vector3i(a,b,c))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + + valid = valid && test_conversion_gdscript_builtin("PackedStringArray(req_godot).join('.')", "'.'.join(PackedStringArray(req_godot))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("=PackedStringArray(req_godot).join('.')", "='.'.join(PackedStringArray(req_godot))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + + valid = valid && test_conversion_gdscript_builtin("apply_force(position, impulse)", "apply_force(impulse, position)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("apply_impulse(position, impulse)", "apply_impulse(impulse, position)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("draw_rect(a,b,c,d,e).abc", "draw_rect(a,b,c,d).abc# e) TODOGODOT4 Antialiasing argument is missing", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("get_focus_owner()", "get_viewport().gui_get_focus_owner()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("button.pressed = 1", "button.button_pressed = 1", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("button.pressed=1", "button.button_pressed=1", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + valid = valid && test_conversion_gdscript_builtin("button.pressed SF", "button.pressed SF", &ProjectConverter3To4::rename_gdscript_functions, "custom rename", reg_container, false); + + valid = valid && test_conversion_with_regex("AAA Color.white AF", "AAA Color.WHITE AF", &ProjectConverter3To4::rename_colors, "custom rename", reg_container); // Custom rule conversion { @@ -2457,9 +2477,9 @@ bool ProjectConverter3To4::test_conversion(RegExContainer ®_container) { custom_rename(got, from, to); String got_str = collect_string_from_vector(got); if (got_str != expected) { - ERR_PRINT("Failed to convert custom rename `" + name + "` to `" + expected + "`, got instead `" + got_str + "`"); + ERR_PRINT(vformat("Failed to convert custom rename \"%s\" to \"%s\", got \"%s\", instead.", name, expected, got_str)); } - valid = valid & (got_str == expected); + valid = valid && (got_str == expected); } // get_object_of_execution @@ -2468,36 +2488,36 @@ bool ProjectConverter3To4::test_conversion(RegExContainer ®_container) { String expected = "kieliszek."; String got = get_object_of_execution(base); if (got != expected) { - ERR_PRINT("Failed to get proper data from get_object_of_execution `" + base + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")"); + ERR_PRINT(vformat("Failed to get proper data from get_object_of_execution. \"%s\" should return \"%s\"(%d), got \"%s\"(%d), instead.", base, expected, expected.size(), got, got.size())); } - valid = valid & (got == expected); + valid = valid && (got == expected); } { String base = "r."; String expected = "r."; String got = get_object_of_execution(base); if (got != expected) { - ERR_PRINT("Failed to get proper data from get_object_of_execution `" + base + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")"); + ERR_PRINT(vformat("Failed to get proper data from get_object_of_execution. \"%s\" should return \"%s\"(%d), got \"%s\"(%d), instead.", base, expected, expected.size(), got, got.size())); } - valid = valid & (got == expected); + valid = valid && (got == expected); } { String base = "mortadela("; String expected = ""; String got = get_object_of_execution(base); if (got != expected) { - ERR_PRINT("Failed to get proper data from get_object_of_execution `" + base + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")"); + ERR_PRINT(vformat("Failed to get proper data from get_object_of_execution. \"%s\" should return \"%s\"(%d), got \"%s\"(%d), instead.", base, expected, expected.size(), got, got.size())); } - valid = valid & (got == expected); + valid = valid && (got == expected); } { String base = "var node = $world/ukraine/lviv."; String expected = "$world/ukraine/lviv."; String got = get_object_of_execution(base); if (got != expected) { - ERR_PRINT("Failed to get proper data from get_object_of_execution `" + base + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")"); + ERR_PRINT(vformat("Failed to get proper data from get_object_of_execution. \"%s\" should return \"%s\"(%d), got \"%s\"(%d), instead.", base, expected, expected.size(), got, got.size())); } - valid = valid & (got == expected); + valid = valid && (got == expected); } } // get_starting_space @@ -2506,9 +2526,9 @@ bool ProjectConverter3To4::test_conversion(RegExContainer ®_container) { String expected = "\t\t\t"; String got = get_starting_space(base); if (got != expected) { - ERR_PRINT("Failed to get proper data from get_starting_space `" + base + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")"); + ERR_PRINT(vformat("Failed to get proper data from get_object_of_execution. \"%s\" should return \"%s\"(%d), got \"%s\"(%d), instead.", base, expected, expected.size(), got, got.size())); } - valid = valid & (got == expected); + valid = valid && (got == expected); } // Parse Arguments { @@ -2520,9 +2540,9 @@ bool ProjectConverter3To4::test_conversion(RegExContainer ®_container) { got += part + "|||"; } if (got != expected) { - ERR_PRINT("Failed to get proper data from parse_arguments `" + line + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")"); + ERR_PRINT(vformat("Failed to get proper data from parse_arguments. \"%s\" should return \"%s\"(%d), got \"%s\"(%d), instead.", line, expected, expected.size(), got, got.size())); } - valid = valid & (got == expected); + valid = valid && (got == expected); } { String line = "(a , b , c)"; @@ -2533,9 +2553,9 @@ bool ProjectConverter3To4::test_conversion(RegExContainer ®_container) { got += part + "|||"; } if (got != expected) { - ERR_PRINT("Failed to get proper data from parse_arguments `" + line + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")"); + ERR_PRINT(vformat("Failed to get proper data from parse_arguments. \"%s\" should return \"%s\"(%d), got \"%s\"(%d), instead.", line, expected, expected.size(), got, got.size())); } - valid = valid & (got == expected); + valid = valid && (got == expected); } { String line = "(a , \"b,\" , c)"; @@ -2546,9 +2566,9 @@ bool ProjectConverter3To4::test_conversion(RegExContainer ®_container) { got += part + "|||"; } if (got != expected) { - ERR_PRINT("Failed to get proper data from parse_arguments `" + line + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")"); + ERR_PRINT(vformat("Failed to get proper data from parse_arguments. \"%s\" should return \"%s\"(%d), got \"%s\"(%d), instead.", line, expected, expected.size(), got, got.size())); } - valid = valid & (got == expected); + valid = valid && (got == expected); } { String line = "(a , \"(,),,,,\" , c)"; @@ -2559,35 +2579,35 @@ bool ProjectConverter3To4::test_conversion(RegExContainer ®_container) { got += part + "|||"; } if (got != expected) { - ERR_PRINT("Failed to get proper data from parse_arguments `" + line + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")"); + ERR_PRINT(vformat("Failed to get proper data from parse_arguments. \"%s\" should return \"%s\"(%d), got \"%s\"(%d), instead.", line, expected, expected.size(), got, got.size())); } - valid = valid & (got == expected); + valid = valid && (got == expected); } return valid; } -// Validate in all arrays if names don't do cyclic renames `Node` -> `Node2D` | `Node2D` -> `2DNode` +// Validate in all arrays if names don't do cyclic renames "Node" -> "Node2D" | "Node2D" -> "2DNode" bool ProjectConverter3To4::test_array_names() { bool valid = true; Vector<String> names = Vector<String>(); - // Validate if all classes are valid + // Validate if all classes are valid. { for (unsigned int current_index = 0; class_renames[current_index][0]; current_index++) { const String old_class = class_renames[current_index][0]; const String new_class = class_renames[current_index][1]; - // Light2D, Texture, Viewport are special classes(probably virtual ones) + // Light2D, Texture, Viewport are special classes(probably virtual ones). if (ClassDB::class_exists(StringName(old_class)) && old_class != "Light2D" && old_class != "Texture" && old_class != "Viewport") { - ERR_PRINT(String("Class `") + old_class + "` exists in Godot 4.0, so cannot be renamed to something else."); - valid = false; // This probably should be only a warning, but not 100% sure - this would need to be added to CI + ERR_PRINT(vformat("Class \"%s\" exists in Godot 4.0, so it cannot be renamed to something else.", old_class)); + valid = false; // This probably should be only a warning, but not 100% sure - this would need to be added to CI. } - // Callable is special class, to which normal classes may be renamed + // Callable is special class, to which normal classes may be renamed. if (!ClassDB::class_exists(StringName(new_class)) && new_class != "Callable") { - ERR_PRINT(String("Class `") + new_class + "` doesn't exists in Godot 4.0, so cannot be used in conversion."); - valid = false; // This probably should be only a warning, but not 100% sure - this would need to be added to CI + ERR_PRINT(vformat("Class \"%s\" does not exist in Godot 4.0, so it cannot be used in the conversion.", old_class)); + valid = false; // This probably should be only a warning, but not 100% sure - this would need to be added to CI. } } } @@ -2595,9 +2615,9 @@ bool ProjectConverter3To4::test_array_names() { { HashSet<String> all_functions; - // List of excluded functions from builtin types and global namespace, because currently it is not possible to get list of functions from them - // This will be available when https://github.com/godotengine/godot/pull/49053 or similar will be included into Godot - static const char *builtin_types_excluded_functions[] = { "dict_to_inst", "inst_to_dict", "bytes_to_var", "bytes_to_var_with_objects", "db_to_linear", "deg_to_rad", "linear_to_db", "rad_to_deg", "randf_range", "snapped", "str_to_var", "var_to_str", "var_to_bytes", "var_to_bytes_with_objects", "move_toward", "uri_encode", "uri_decode", "remove_at", "get_rotation_quaternion", "clamp", "grow_side", "is_absolute_path", "is_valid_int", "lerp", "to_ascii_buffer", "to_utf8_buffer", "to_utf32_buffer", "snapped", nullptr }; + // List of excluded functions from builtin types and global namespace, because currently it is not possible to get list of functions from them. + // This will be available when https://github.com/godotengine/godot/pull/49053 or similar will be included into Godot. + static const char *builtin_types_excluded_functions[] = { "dict_to_inst", "inst_to_dict", "bytes_to_var", "bytes_to_var_with_objects", "db_to_linear", "deg_to_rad", "linear_to_db", "rad_to_deg", "randf_range", "snapped", "str_to_var", "var_to_str", "var_to_bytes", "var_to_bytes_with_objects", "move_toward", "uri_encode", "uri_decode", "remove_at", "get_rotation_quaternion", "clamp", "grow_side", "is_absolute_path", "is_valid_int", "lerp", "to_ascii_buffer", "to_utf8_buffer", "to_utf32_buffer", "snapped", "remap", nullptr }; for (int current_index = 0; builtin_types_excluded_functions[current_index]; current_index++) { all_functions.insert(builtin_types_excluded_functions[current_index]); } @@ -2626,82 +2646,79 @@ bool ProjectConverter3To4::test_array_names() { int current_element = 0; while (gdscript_function_renames[current_element][0] != nullptr) { + String name_3_x = gdscript_function_renames[current_element][0]; + String name_4_0 = gdscript_function_renames[current_element][1]; if (!all_functions.has(gdscript_function_renames[current_element][1])) { - ERR_PRINT(String("Missing gdscript function in pair (") + gdscript_function_renames[current_element][0] + " - ===> " + gdscript_function_renames[current_element][1] + " <===)"); + ERR_PRINT(vformat("Missing GDScript function in pair (%s - ===> %s <===)", name_3_x, name_4_0)); valid = false; } current_element++; } } if (!valid) { - ERR_PRINT("Found function which is used in converter, but cannot be found in Godot 4. Rename this element to new name or remove entire rule about it if is obsolete."); + ERR_PRINT("Found function which is used in the converter, but it cannot be found in Godot 4. Rename this element or remove its entry if it's obsolete."); } - valid = valid & test_single_array(enum_renames); - valid = valid & test_single_array(class_renames, true); - valid = valid & test_single_array(gdscript_function_renames, true); - valid = valid & test_single_array(csharp_function_renames, true); - valid = valid & test_single_array(gdscript_properties_renames, true); - valid = valid & test_single_array(csharp_properties_renames); - valid = valid & test_single_array(shaders_renames, true); - valid = valid & test_single_array(gdscript_signals_renames); - valid = valid & test_single_array(project_settings_renames); - valid = valid & test_single_array(builtin_types_renames); - valid = valid & test_single_array(color_renames); + valid = valid && test_single_array(enum_renames); + valid = valid && test_single_array(class_renames, true); + valid = valid && test_single_array(gdscript_function_renames, true); + valid = valid && test_single_array(csharp_function_renames, true); + valid = valid && test_single_array(gdscript_properties_renames, true); + valid = valid && test_single_array(csharp_properties_renames); + valid = valid && test_single_array(shaders_renames, true); + valid = valid && test_single_array(gdscript_signals_renames); + valid = valid && test_single_array(project_settings_renames); + valid = valid && test_single_array(builtin_types_renames); + valid = valid && test_single_array(color_renames); return valid; } -// Validate in one array if names don't do cyclic renames `Node` -> `Node2D` | `Node2D` -> `2DNode` -// Also checks if in name contains spaces at the end or beginning -bool ProjectConverter3To4::test_single_array(const char *array[][2], bool ignore_second_check) { +// Validates the array to prevent cyclic renames, such as `Node` -> `Node2D`, then `Node2D` -> `2DNode`. +// Also checks if names contain leading or trailing spaces. +bool ProjectConverter3To4::test_single_array(const char *p_array[][2], bool p_ignore_4_0_name) { bool valid = true; Vector<String> names = Vector<String>(); - for (unsigned int current_index = 0; array[current_index][0]; current_index++) { - if (String(array[current_index][0]).begins_with(" ") || String(array[current_index][0]).ends_with(" ")) { - { - ERR_PRINT(String("Entry \"") + array[current_index][0] + "\" ends or stars with space."); - valid = false; - } + for (unsigned int current_index = 0; p_array[current_index][0]; current_index++) { + String name_3_x = p_array[current_index][0]; + String name_4_0 = p_array[current_index][1]; + if (name_3_x != name_3_x.strip_edges()) { + ERR_PRINT(vformat("Invalid Entry \"%s\" contains leading or trailing spaces.", name_3_x)); + valid = false; } - if (names.has(array[current_index][0])) { - ERR_PRINT(String("Found duplicated things, pair ( -> ") + array[current_index][0] + " , " + array[current_index][1] + ")"); + if (names.has(name_3_x)) { + ERR_PRINT(vformat("Found duplicated entry, pair ( -> %s , %s)", name_3_x, name_4_0)); valid = false; } - names.append(array[current_index][0]); + names.append(name_3_x); - if (String(array[current_index][1]).begins_with(" ") || String(array[current_index][1]).ends_with(" ")) { - { - ERR_PRINT(String("Entry \"") + array[current_index][1] + "\" ends or stars with space."); - valid = false; - } + if (name_4_0 != name_4_0.strip_edges()) { + ERR_PRINT(vformat("Invalid Entry \"%s\" contains leading or trailing spaces.", name_3_x)); + valid = false; } - if (names.has(array[current_index][1])) { - ERR_PRINT(String("Found duplicated things, pair (") + array[current_index][0] + " , ->" + array[current_index][1] + ")"); + if (names.has(name_4_0)) { + ERR_PRINT(vformat("Found duplicated entry, pair ( -> %s , %s)", name_3_x, name_4_0)); valid = false; } - if (!ignore_second_check) { - names.append(array[current_index][1]); + if (!p_ignore_4_0_name) { + names.append(name_4_0); } } return valid; }; -// Returns arguments from given function execution, this cannot be really done as regex +// Returns arguments from given function execution, this cannot be really done as regex. // `abc(d,e(f,g),h)` -> [d], [e(f,g)], [h] Vector<String> ProjectConverter3To4::parse_arguments(const String &line) { Vector<String> parts; int string_size = line.length(); - int start_part = 0; // Index of beginning of start par + int start_part = 0; // Index of beginning of start part. int parts_counter = 0; char32_t previous_character = '\0'; - bool is_inside_string = false; // if true, it ignore this 3 characters ( , ) inside string + bool is_inside_string = false; // If true, it ignores these 3 characters ( , ) inside string. - if (line.count("(") != line.count(")")) { - ERR_PRINT("Converter internal bug: substring should have equal number of open and close parenthess in line - `" + line + "`"); - return parts; - } + ERR_FAIL_COND_V_MSG(line.count("(") != line.count(")"), parts, vformat("Converter internal bug: substring should have equal number of open and close parentheses in line - \"%s\".", line)); for (int current_index = 0; current_index < string_size; current_index++) { char32_t character = line.get(current_index); @@ -2762,9 +2779,9 @@ Vector<String> ProjectConverter3To4::parse_arguments(const String &line) { return clean_parts; } -// Finds latest parenthess owned by function +// Finds latest parenthesis owned by function. // `function(abc(a,b),DD)):` finds this parenthess `function(abc(a,b),DD => ) <= ):` -int ProjectConverter3To4::get_end_parenthess(const String &line) const { +int ProjectConverter3To4::get_end_parenthesis(const String &line) const { int current_state = 0; for (int current_index = 0; line.length() > current_index; current_index++) { char32_t character = line.get(current_index); @@ -2781,8 +2798,8 @@ int ProjectConverter3To4::get_end_parenthess(const String &line) const { return -1; } -// Connects arguments from vector to one string -// Needed when after processing e.g. 2 arguments, later arguments are not changed in any way +// Merges multiple arguments into a single String. +// Needed when after processing e.g. 2 arguments, later arguments are not changed in any way. String ProjectConverter3To4::connect_arguments(const Vector<String> &arguments, int from, int to) const { if (to == -1) { to = arguments.size(); @@ -2802,7 +2819,7 @@ String ProjectConverter3To4::connect_arguments(const Vector<String> &arguments, return value; } -// Return spaces or tabs which starts line e.g. `\t\tmove_this` will return `\t\t` +// Returns the indentation (spaces and tabs) at the start of the line e.g. `\t\tmove_this` returns `\t\t`. String ProjectConverter3To4::get_starting_space(const String &line) const { String empty_space; int current_character = 0; @@ -2834,9 +2851,8 @@ String ProjectConverter3To4::get_starting_space(const String &line) const { return empty_space; } -// Return object which execute specific function -// e.g. in `var roman = kieliszek.funkcja()` to this function is passed everything before function which we want to check -// so it is `var roman = kieliszek.` and this function return `kieliszek.` +// Returns the object that’s executing the function in the line. +// e.g. Passing the line "var roman = kieliszek.funkcja()" to this function returns "kieliszek". String ProjectConverter3To4::get_object_of_execution(const String &line) const { int end = line.size() - 1; // Last one is \0 int variable_start = end - 1; @@ -2854,10 +2870,10 @@ String ProjectConverter3To4::get_object_of_execution(const String &line) const { if (start == 0) { break; } else if (is_nodepath_sep) { - // Freeze variable_start, try to fetch more chars since this might be node path literal + // Freeze variable_start, try to fetch more chars since this might be a Node path literal. is_possibly_nodepath = true; } else if (is_nodepath_start) { - // Found $, this is a node path literal + // Found $, this is a Node path literal. is_valid_nodepath = true; break; } @@ -2867,8 +2883,8 @@ String ProjectConverter3To4::get_object_of_execution(const String &line) const { start--; continue; } else { - // Abandon all hope, this is neither a variable nor a node path literal - variable_start++; // Found invalid character, needs to be ignored + // Abandon all hope, this is neither a variable nor a Node path literal. + variable_start++; // Found invalid character, needs to be ignored. break; } } @@ -2917,7 +2933,7 @@ void ProjectConverter3To4::rename_classes(Vector<String> &lines, const RegExCont for (unsigned int current_index = 0; class_renames[current_index][0]; current_index++) { if (line.contains(class_renames[current_index][0])) { bool found_ignored_items = false; - // Renaming Spatial.tscn to TEMP_RENAMED_CLASS.tscn + // Renaming Spatial.tscn to TEMP_RENAMED_CLASS.tscn. if (line.contains(String(class_renames[current_index][0]) + ".")) { found_ignored_items = true; line = reg_container.class_tscn_regexes[current_index]->sub(line, "TEMP_RENAMED_CLASS.tscn", true); @@ -2925,10 +2941,10 @@ void ProjectConverter3To4::rename_classes(Vector<String> &lines, const RegExCont line = reg_container.class_shader_regexes[current_index]->sub(line, "TEMP_RENAMED_CLASS.shader", true); } - // Causal renaming Spatial -> Node3D + // Causal renaming Spatial -> Node3D. line = reg_container.class_regexes[current_index]->sub(line, class_renames[current_index][1], true); - // Restore Spatial.tscn from TEMP_RENAMED_CLASS.tscn + // Restore Spatial.tscn from TEMP_RENAMED_CLASS.tscn. if (found_ignored_items) { line = reg_container.class_temp_tscn.sub(line, reg_container.class_temp_tscn_renames[current_index], true); line = reg_container.class_temp_gd.sub(line, reg_container.class_temp_gd_renames[current_index], true); @@ -2951,7 +2967,7 @@ Vector<String> ProjectConverter3To4::check_for_rename_classes(Vector<String> &li if (line.contains(class_renames[current_index][0])) { String old_line = line; bool found_ignored_items = false; - // Renaming Spatial.tscn to TEMP_RENAMED_CLASS.tscn + // Renaming Spatial.tscn to TEMP_RENAMED_CLASS.tscn. if (line.contains(String(class_renames[current_index][0]) + ".")) { found_ignored_items = true; line = reg_container.class_tscn_regexes[current_index]->sub(line, "TEMP_RENAMED_CLASS.tscn", true); @@ -2959,13 +2975,13 @@ Vector<String> ProjectConverter3To4::check_for_rename_classes(Vector<String> &li line = reg_container.class_shader_regexes[current_index]->sub(line, "TEMP_RENAMED_CLASS.shader", true); } - // Causal renaming Spatial -> Node3D + // Causal renaming Spatial -> Node3D. TypedArray<RegExMatch> reg_match = reg_container.class_regexes[current_index]->search_all(line); if (reg_match.size() > 0) { found_renames.append(line_formatter(current_line, class_renames[current_index][0], class_renames[current_index][1], old_line)); } - // Restore Spatial.tscn from TEMP_RENAMED_CLASS.tscn + // Restore Spatial.tscn from TEMP_RENAMED_CLASS.tscn. if (found_ignored_items) { line = reg_container.class_temp_tscn.sub(line, reg_container.class_temp_tscn_renames[current_index], true); line = reg_container.class_temp_gd.sub(line, reg_container.class_temp_gd_renames[current_index], true); @@ -3005,13 +3021,14 @@ Vector<String> ProjectConverter3To4::check_for_rename_gdscript_functions(Vector< return found_renames; } -// TODO, this function should run only on all .gd files and also on lines in tscn files which +// TODO, this function should run only on all ".gd" files and also on lines in ".tscn" files which are parts of built-in Scripts. void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContainer ®_container, bool builtin) { - // In this and other functions, reg.sub are used only after checking line with str.contains function which is sometimes few times faster with bigger line lengths + // In this and other functions, reg.sub() is used only after checking lines with str.contains(). + // With longer lines, doing so can sometimes be significantly faster. if ((line.contains(".lock") || line.contains(".unlock")) && !line.contains("mtx") && !line.contains("mutex") && !line.contains("Mutex")) { - line = reg_container.reg_image_lock.sub(line, "false # $1.lock() # TODOConverter40, image no longer require locking, `false` helps to not broke one line if/else, so can be freely removed", true); - line = reg_container.reg_image_unlock.sub(line, "false # $1.unlock() # TODOConverter40, image no longer require locking, `false` helps to not broke one line if/else, so can be freely removed", true); + line = reg_container.reg_image_lock.sub(line, "false # $1.lock() # TODOConverter40, Image no longer requires locking, `false` helps to not break one line if/else, so it can freely be removed", true); + line = reg_container.reg_image_unlock.sub(line, "false # $1.unlock() # TODOConverter40, Image no longer requires locking, `false` helps to not break one line if/else, so it can freely be removed", true); } // PackedStringArray(req_godot).join('.') -> '.'.join(PackedStringArray(req_godot)) PoolStringArray @@ -3090,7 +3107,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai // -- r.move_and_slide( a, b, c, d, e ) -> r.set_velocity(a) ... r.move_and_slide() KinematicBody if (line.contains(("move_and_slide("))) { int start = line.find("move_and_slide("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { String base_obj = get_object_of_execution(line.substr(0, start)); String starting_space = get_starting_space(line); @@ -3136,7 +3153,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai // -- r.move_and_slide_with_snap( a, b, c, d, e ) -> r.set_velocity(a) ... r.move_and_slide() KinematicBody if (line.contains("move_and_slide_with_snap(")) { int start = line.find("move_and_slide_with_snap("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { String base_obj = get_object_of_execution(line.substr(0, start)); String starting_space = get_starting_space(line); @@ -3187,7 +3204,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai // -- sort_custom( a , b ) -> sort_custom(Callable( a , b )) Object if (line.contains("sort_custom(")) { int start = line.find("sort_custom("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); if (parts.size() == 2) { @@ -3199,7 +3216,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai // -- list_dir_begin( ) -> list_dir_begin() Object if (line.contains("list_dir_begin(")) { int start = line.find("list_dir_begin("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { line = line.substr(0, start) + "list_dir_begin() " + line.substr(end + start) + "# TODOGODOT4 fill missing arguments https://github.com/godotengine/godot/pull/40547"; } @@ -3208,7 +3225,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai // -- draw_line(1,2,3,4,5) -> draw_line(1,2,3,4) CanvasItem if (line.contains("draw_line(")) { int start = line.find("draw_line("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); if (parts.size() == 5) { @@ -3221,7 +3238,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai if (line.contains("func ") && line.contains("var ")) { int start = line.find("func "); start = line.substr(start).find("(") + start; - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); @@ -3239,7 +3256,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai // -- yield(this, \"timeout\") -> await this.timeout GDScript if (line.contains("yield(")) { int start = line.find("yield("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); if (parts.size() == 2) { @@ -3255,7 +3272,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai // -- parse_json( AA ) -> TODO Object if (line.contains("parse_json(")) { int start = line.find("parse_json("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); line = line.substr(0, start) + "JSON.new().stringify(" + connect_arguments(parts, 0) + ")" + line.substr(end + start); @@ -3265,7 +3282,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai // -- .xform(Vector3(a,b,c)) -> * Vector3(a,b,c) Transform if (line.contains(".xform(")) { int start = line.find(".xform("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); if (parts.size() == 1) { @@ -3277,7 +3294,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai // -- .xform_inv(Vector3(a,b,c)) -> * Vector3(a,b,c) Transform if (line.contains(".xform_inv(")) { int start = line.find(".xform_inv("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { String object_exec = get_object_of_execution(line.substr(0, start)); if (line.contains(object_exec + ".xform")) { @@ -3295,7 +3312,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai int start = line.find("connect("); // Protection from disconnect if (start == 0 || line.get(start - 1) != 's') { - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); if (parts.size() == 3) { @@ -3309,7 +3326,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai // -- disconnect(a,b,c) -> disconnect(a,Callable(b,c)) Object if (line.contains("disconnect(")) { int start = line.find("disconnect("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); if (parts.size() == 3) { @@ -3320,7 +3337,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai // -- is_connected(a,b,c) -> is_connected(a,Callable(b,c)) Object if (line.contains("is_connected(")) { int start = line.find("is_connected("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); if (parts.size() == 3) { @@ -3332,7 +3349,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai // -- "(tween_method(A,B,C,D,E,[F,G]) != OK):", "(tween_method(Callable(A,B).bind(F,G),C,D,E) Object if (line.contains("tween_method(")) { int start = line.find("tween_method("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); if (parts.size() == 5) { @@ -3345,7 +3362,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai // -- "(tween_callback(A,B,[C,D]) != OK):", "(connect(Callable(A,B).bind(C,D)) Object if (line.contains("tween_callback(")) { int start = line.find("tween_callback("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); if (parts.size() == 2) { @@ -3359,7 +3376,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai // -- start(a,b,c,d) -> start(Callable(a,b).bind(c),d) Thread if (line.contains("start(")) { int start = line.find("start("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; // Protection from 'func start' if (!line.begins_with("func ")) { if (end > -1) { @@ -3386,7 +3403,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai // assert(speed < 20, str(randi()%10)) -> assert(speed < 20) #,str(randi()%10)) GDScript - GDScript bug constant message if (line.contains("assert(")) { int start = line.find("assert("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); if (parts.size() == 2) { @@ -3397,7 +3414,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai // create_from_image(aa, bb) -> create_from_image(aa) #, bb ImageTexture if (line.contains("create_from_image(")) { int start = line.find("create_from_image("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); if (parts.size() == 2) { @@ -3408,7 +3425,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai // set_cell_item(a, b, c, d ,e) -> set_cell_item(Vector3(a, b, c), d ,e) if (line.contains("set_cell_item(")) { int start = line.find("set_cell_item("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); if (parts.size() > 2) { @@ -3419,7 +3436,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai // get_cell_item(a, b, c) -> get_cell_item(Vector3i(a, b, c)) if (line.contains("get_cell_item(")) { int start = line.find("get_cell_item("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); if (parts.size() == 3) { @@ -3430,7 +3447,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai // get_cell_item_orientation(a, b, c) -> get_cell_item_orientation(Vector3i(a, b, c)) if (line.contains("get_cell_item_orientation(")) { int start = line.find("get_cell_item_orientation("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); if (parts.size() == 3) { @@ -3441,7 +3458,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai // apply_impulse(A, B) -> apply_impulse(B, A) if (line.contains("apply_impulse(")) { int start = line.find("apply_impulse("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); if (parts.size() == 2) { @@ -3452,7 +3469,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai // apply_force(A, B) -> apply_force(B, A) if (line.contains("apply_force(")) { int start = line.find("apply_force("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); if (parts.size() == 2) { @@ -3460,21 +3477,23 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai } } } - // map_to_world(a, b, c) -> map_to_world(Vector3i(a, b, c)) + // map_to_world(a, b, c) -> map_to_local(Vector3i(a, b, c)) if (line.contains("map_to_world(")) { int start = line.find("map_to_world("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); if (parts.size() == 3) { - line = line.substr(0, start) + "map_to_world(Vector3i(" + parts[0] + "," + parts[1] + "," + parts[2] + "))" + line.substr(end + start); + line = line.substr(0, start) + "map_to_local(Vector3i(" + parts[0] + "," + parts[1] + "," + parts[2] + "))" + line.substr(end + start); + } else if (parts.size() == 1) { + line = line.substr(0, start) + "map_to_local(" + parts[0] + ")" + line.substr(end + start); } } } // OS.get_window_safe_area() -> DisplayServer.get_display_safe_area() if (line.contains("OS.get_window_safe_area(")) { int start = line.find("OS.get_window_safe_area("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); if (parts.size() == 0) { @@ -3485,7 +3504,7 @@ void ProjectConverter3To4::process_gdscript_line(String &line, const RegExContai // draw_rect(a,b,c,d,e) -> draw_rect(a,b,c,d)#e) TODOGODOT4 Antialiasing argument is missing if (line.contains("draw_rect(")) { int start = line.find("draw_rect("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); if (parts.size() == 5) { @@ -3538,7 +3557,7 @@ void ProjectConverter3To4::process_csharp_line(String &line, const RegExContaine int start = line.find("Connect("); // Protection from disconnect if (start == 0 || line.get(start - 1) != 's') { - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); if (parts.size() >= 3) { @@ -3550,7 +3569,7 @@ void ProjectConverter3To4::process_csharp_line(String &line, const RegExContaine // -- Disconnect(a,b,c) -> Disconnect(a,Callable(b,c)) Object if (line.contains("Disconnect(")) { int start = line.find("Disconnect("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); if (parts.size() == 3) { @@ -3561,7 +3580,7 @@ void ProjectConverter3To4::process_csharp_line(String &line, const RegExContaine // -- IsConnected(a,b,c) -> IsConnected(a,Callable(b,c)) Object if (line.contains("IsConnected(")) { int start = line.find("IsConnected("); - int end = get_end_parenthess(line.substr(start)) + 1; + int end = get_end_parenthesis(line.substr(start)) + 1; if (end > -1) { Vector<String> parts = parse_arguments(line.substr(start, end)); if (parts.size() == 3) { @@ -3838,7 +3857,7 @@ Vector<String> ProjectConverter3To4::check_for_custom_rename(Vector<String> &lin if (uint64_t(line.length()) <= maximum_line_length) { TypedArray<RegExMatch> reg_match = reg.search_all(line); if (reg_match.size() > 0) { - found_renames.append(line_formatter(current_line, from.replace("\\.", "."), to, line)); // Without replacing it will print "\.shader" instead ".shader" + found_renames.append(line_formatter(current_line, from.replace("\\.", "."), to, line)); // Without replacing it will print "\.shader" instead ".shader". } } current_line++; @@ -3892,19 +3911,28 @@ String ProjectConverter3To4::line_formatter(int current_line, String from, Strin if (line.size() > 400) { line = line.substr(0, 397) + "..."; } - return String("Line (") + itos(current_line) + ") " + from.replace("\r", "").replace("\n", "") + " -> " + to.replace("\r", "").replace("\n", "") + " - LINE \"\"\" " + line.replace("\r", "").replace("\n", "").strip_edges() + " \"\"\""; + + from = from.strip_escapes(); + to = to.strip_escapes(); + line = line.replace("\r", "").replace("\n", "").strip_edges(); + + return vformat("Line(%d), %s -> %s - LINE \"\"\" %s \"\"\"", current_line, from, to, line); } // Prints only full lines e.g.: // Line (1) - FULL LINES - """yield(get_tree().create_timer(3), 'timeout')""" =====> """ await get_tree().create_timer(3).timeout """ -String ProjectConverter3To4::simple_line_formatter(int current_line, String old_line, String line) { +String ProjectConverter3To4::simple_line_formatter(int current_line, String old_line, String new_line) { if (old_line.size() > 1000) { old_line = old_line.substr(0, 997) + "..."; } - if (line.size() > 1000) { - line = line.substr(0, 997) + "..."; + if (new_line.size() > 1000) { + new_line = new_line.substr(0, 997) + "..."; } - return String("Line (") + itos(current_line) + ") - FULL LINES - \"\"\"" + old_line.replace("\r", "").replace("\n", "").strip_edges() + "\"\"\" =====> \"\"\" " + line.replace("\r", "").replace("\n", "").strip_edges() + " \"\"\""; + + old_line = old_line.replace("\r", "").replace("\n", "").strip_edges(); + new_line = new_line.replace("\r", "").replace("\n", "").strip_edges(); + + return vformat("Line (%d) - FULL LINES - \"\"\" %s \"\"\" =====> \"\"\" %s \"\"\"", current_line, old_line, new_line); } // Collects string from vector strings @@ -3920,14 +3948,14 @@ String ProjectConverter3To4::collect_string_from_vector(Vector<String> &vector) return string; } -#else // No regex. +#else // No RegEx. int ProjectConverter3To4::convert() { - ERR_FAIL_V_MSG(ERROR_CODE, "Can't run converter for Godot 3.x projects as RegEx module is disabled."); + ERR_FAIL_V_MSG(ERROR_CODE, "Can't run converter for Godot 3.x projects, because RegEx module is disabled."); } int ProjectConverter3To4::validate_conversion() { - ERR_FAIL_V_MSG(ERROR_CODE, "Can't validate conversion for Godot 3.x projects as RegEx module is disabled."); + ERR_FAIL_V_MSG(ERROR_CODE, "Can't validate conversion for Godot 3.x projects, because RegEx module is disabled."); } #endif // MODULE_REGEX_ENABLED diff --git a/editor/project_converter_3_to_4.h b/editor/project_converter_3_to_4.h index fc6d66c9a8..2cecb9da79 100644 --- a/editor/project_converter_3_to_4.h +++ b/editor/project_converter_3_to_4.h @@ -76,7 +76,7 @@ private: Vector<String> check_for_files(); Vector<String> parse_arguments(const String &line); - int get_end_parenthess(const String &line) const; + int get_end_parenthesis(const String &line) const; String connect_arguments(const Vector<String> &line, int from, int to = -1) const; String get_starting_space(const String &line) const; String get_object_of_execution(const String &line) const; diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp index ed8c7b14c8..69a2670418 100644 --- a/editor/project_manager.cpp +++ b/editor/project_manager.cpp @@ -35,7 +35,7 @@ #include "core/io/dir_access.h" #include "core/io/file_access.h" #include "core/io/resource_saver.h" -#include "core/io/stream_peer_ssl.h" +#include "core/io/stream_peer_tls.h" #include "core/io/zip_io.h" #include "core/os/keyboard.h" #include "core/os/os.h" @@ -59,6 +59,8 @@ #include "servers/navigation_server_3d.h" #include "servers/physics_server_2d.h" +constexpr int GODOT4_CONFIG_VERSION = 5; + class ProjectDialog : public ConfirmationDialog { GDCLASS(ProjectDialog, ConfirmationDialog); @@ -141,7 +143,7 @@ private: install_status_rect->set_texture(new_icon); } - set_size(Size2i(500, 0) * EDSCALE); + set_size(Size2(500, 0) * EDSCALE); } String _test_path() { @@ -761,7 +763,7 @@ public: _test_path(); } - popup_centered(Size2i(500, 0) * EDSCALE); + popup_centered(Size2(500, 0) * EDSCALE); } ProjectDialog() { @@ -1065,6 +1067,7 @@ public: int refresh_project(const String &dir_path); void add_project(const String &dir_path, bool favorite); void save_config(); + void set_project_version(const String &p_project_path, int version); private: static void _bind_methods(); @@ -1673,6 +1676,15 @@ void ProjectList::save_config() { _config.save(_config_path); } +void ProjectList::set_project_version(const String &p_project_path, int p_version) { + for (ProjectList::Item &E : _projects) { + if (E.path == p_project_path) { + E.version = p_version; + break; + } + } +} + int ProjectList::get_project_count() const { return _projects.size(); } @@ -1901,11 +1913,13 @@ void ProjectManager::_notification(int p_what) { filter_option->select(default_sorting); _project_list->set_order_option(default_sorting); +#ifndef ANDROID_ENABLED if (_project_list->get_project_count() >= 1) { // Focus on the search box immediately to allow the user // to search without having to reach for their mouse search_box->grab_focus(); } +#endif if (asset_library) { // Removes extra border margins. @@ -1991,7 +2005,7 @@ void ProjectManager::shortcut_input(const Ref<InputEvent> &p_ev) { // This is handled by the platform implementation on macOS, // so only define the shortcut on other platforms #ifndef MACOS_ENABLED - if (k->get_keycode_with_modifiers() == (KeyModifierMask::CMD | Key::Q)) { + if (k->get_keycode_with_modifiers() == (KeyModifierMask::META | Key::Q)) { _dim_window(); get_tree()->quit(); } @@ -2049,7 +2063,7 @@ void ProjectManager::shortcut_input(const Ref<InputEvent> &p_ev) { } break; case Key::F: { - if (k->is_command_pressed()) { + if (k->is_command_or_control_pressed()) { this->search_box->grab_focus(); } else { keycode_handled = false; @@ -2150,9 +2164,11 @@ void ProjectManager::_open_selected_projects_ask() { return; } + const Size2i popup_min_width = Size2i(600.0 * EDSCALE, 0); + if (selected_list.size() > 1) { - multi_open_ask->set_text(TTR("Are you sure to open more than one project?")); - multi_open_ask->popup_centered(); + multi_open_ask->set_text(vformat(TTR("You requested to open %d projects in parallel. Do you confirm?\nNote that usual checks for engine version compatibility will be bypassed."), selected_list.size())); + multi_open_ask->popup_centered(popup_min_width); return; } @@ -2161,30 +2177,40 @@ void ProjectManager::_open_selected_projects_ask() { return; } - // Update the project settings or don't open - const String conf = project.path.path_join("project.godot"); + // Update the project settings or don't open. const int config_version = project.version; PackedStringArray unsupported_features = project.unsupported_features; Label *ask_update_label = ask_update_settings->get_label(); ask_update_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_LEFT); // Reset in case of previous center align. + full_convert_button->hide(); - // Check if the config_version property was empty or 0 + ask_update_settings->get_ok_button()->set_text("OK"); + + // Check if the config_version property was empty or 0. if (config_version == 0) { - ask_update_settings->set_text(vformat(TTR("The following project settings file does not specify the version of Godot through which it was created.\n\n%s\n\nIf you proceed with opening it, it will be converted to Godot's current configuration file format.\nWarning: You won't be able to open the project with previous versions of the engine anymore."), conf)); - ask_update_settings->popup_centered(); + ask_update_settings->set_text(vformat(TTR("The selected project \"%s\" does not specify its supported Godot version in its configuration file (\"project.godot\").\n\nProject path: %s\n\nIf you proceed with opening it, it will be converted to Godot's current configuration file format.\n\nWarning: You won't be able to open the project with previous versions of the engine anymore."), project.project_name, project.path)); + ask_update_settings->popup_centered(popup_min_width); return; } - // Check if we need to convert project settings from an earlier engine version + // Check if we need to convert project settings from an earlier engine version. if (config_version < ProjectSettings::CONFIG_VERSION) { - ask_update_settings->set_text(vformat(TTR("The following project settings file was generated by an older engine version, and needs to be converted for this version:\n\n%s\n\nDo you want to convert it?\nWarning: You won't be able to open the project with previous versions of the engine anymore."), conf)); - ask_update_settings->popup_centered(); + if (config_version == GODOT4_CONFIG_VERSION - 1 && ProjectSettings::CONFIG_VERSION == GODOT4_CONFIG_VERSION) { // Conversion from Godot 3 to 4. + full_convert_button->show(); + ask_update_settings->set_text(vformat(TTR("The selected project \"%s\" was generated by Godot 3.x, and needs to be converted for Godot 4.x.\n\nProject path: %s\n\nYou have three options:\n- Convert only the configuration file (\"project.godot\"). Use this to open the project without attempting to convert its scenes, resources and scripts.\n- Convert the entire project including its scenes, resources and scripts (recommended if you are upgrading).\n- Do nothing and go back.\n\nWarning: If you select a conversion option, you won't be able to open the project with previous versions of the engine anymore."), project.project_name, project.path)); + ask_update_settings->get_ok_button()->set_text(TTR("Convert project.godot Only")); + } else { + ask_update_settings->set_text(vformat(TTR("The selected project \"%s\" was generated by an older engine version, and needs to be converted for this version.\n\nProject path: %s\n\nDo you want to convert it?\n\nWarning: You won't be able to open the project with previous versions of the engine anymore."), project.project_name, project.path)); + ask_update_settings->get_ok_button()->set_text(TTR("Convert project.godot")); + } + ask_update_settings->popup_centered(popup_min_width); + ask_update_settings->get_cancel_button()->grab_focus(); // To prevent accidents. return; } - // Check if the file was generated by a newer, incompatible engine version + // Check if the file was generated by a newer, incompatible engine version. if (config_version > ProjectSettings::CONFIG_VERSION) { - dialog_error->set_text(vformat(TTR("Can't open project at '%s'.") + "\n" + TTR("The project settings were created by a newer engine version, whose settings are not compatible with this version."), project.path)); - dialog_error->popup_centered(); + dialog_error->set_text(vformat(TTR("Can't open project \"%s\" at the following path:\n\n%s\n\nThe project settings were created by a newer engine version, whose settings are not compatible with this version."), project.project_name, project.path)); + dialog_error->popup_centered(popup_min_width); return; } // Check if the project is using features not supported by this build of Godot. @@ -2213,14 +2239,46 @@ void ProjectManager::_open_selected_projects_ask() { warning_message += TTR("Open anyway? Project will be modified."); ask_update_label->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); ask_update_settings->set_text(warning_message); - ask_update_settings->popup_centered(); + ask_update_settings->popup_centered(popup_min_width); return; } - // Open if the project is up-to-date + // Open if the project is up-to-date. _open_selected_projects(); } +void ProjectManager::_full_convert_button_pressed() { + ask_update_settings->hide(); + ask_full_convert_dialog->popup_centered(Size2i(600.0 * EDSCALE, 0)); + ask_full_convert_dialog->get_cancel_button()->grab_focus(); +} + +void ProjectManager::_perform_full_project_conversion() { + Vector<ProjectList::Item> selected_list = _project_list->get_selected_projects(); + if (selected_list.is_empty()) { + return; + } + + const String &path = selected_list[0].path; + + print_line("Converting project: " + path); + + Ref<ConfigFile> cf; + cf.instantiate(); + cf->load(path.path_join("project.godot")); + cf->set_value("", "config_version", GODOT4_CONFIG_VERSION); + cf->save(path.path_join("project.godot")); + _project_list->set_project_version(path, GODOT4_CONFIG_VERSION); + + List<String> args; + args.push_back("--path"); + args.push_back(path); + args.push_back("--convert-3to4"); + + Error err = OS::get_singleton()->create_instance(args); + ERR_FAIL_COND(err); +} + void ProjectManager::_run_project_confirm() { Vector<ProjectList::Item> selected_list = _project_list->get_selected_projects(); @@ -2443,6 +2501,7 @@ void ProjectManager::_on_order_option_changed(int p_idx) { } void ProjectManager::_on_tab_changed(int p_tab) { +#ifndef ANDROID_ENABLED if (p_tab == 0) { // Projects // Automatically grab focus when the user moves from the Templates tab // back to the Projects tab. @@ -2451,6 +2510,7 @@ void ProjectManager::_on_tab_changed(int p_tab) { // The Templates tab's search field is focused on display in the asset // library editor plugin code. +#endif } void ProjectManager::_on_search_term_changed(const String &p_term) { @@ -2602,7 +2662,7 @@ ProjectManager::ProjectManager() { } PanelContainer *pc = memnew(PanelContainer); - pc->add_theme_style_override("panel", get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); + pc->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); pc->set_v_size_flags(Control::SIZE_EXPAND_FILL); search_tree_vb->add_child(pc); @@ -2624,21 +2684,21 @@ ProjectManager::ProjectManager() { create_btn = memnew(Button); create_btn->set_text(TTR("New Project")); create_btn->add_theme_constant_override("h_separation", btn_h_separation); - create_btn->set_shortcut(ED_SHORTCUT("project_manager/new_project", TTR("New Project"), KeyModifierMask::CMD | Key::N)); + create_btn->set_shortcut(ED_SHORTCUT("project_manager/new_project", TTR("New Project"), KeyModifierMask::CMD_OR_CTRL | Key::N)); create_btn->connect("pressed", callable_mp(this, &ProjectManager::_new_project)); tree_vb->add_child(create_btn); import_btn = memnew(Button); import_btn->set_text(TTR("Import")); import_btn->add_theme_constant_override("h_separation", btn_h_separation); - import_btn->set_shortcut(ED_SHORTCUT("project_manager/import_project", TTR("Import Project"), KeyModifierMask::CMD | Key::I)); + import_btn->set_shortcut(ED_SHORTCUT("project_manager/import_project", TTR("Import Project"), KeyModifierMask::CMD_OR_CTRL | Key::I)); import_btn->connect("pressed", callable_mp(this, &ProjectManager::_import_project)); tree_vb->add_child(import_btn); scan_btn = memnew(Button); scan_btn->set_text(TTR("Scan")); scan_btn->add_theme_constant_override("h_separation", btn_h_separation); - scan_btn->set_shortcut(ED_SHORTCUT("project_manager/scan_projects", TTR("Scan Projects"), KeyModifierMask::CMD | Key::S)); + scan_btn->set_shortcut(ED_SHORTCUT("project_manager/scan_projects", TTR("Scan Projects"), KeyModifierMask::CMD_OR_CTRL | Key::S)); scan_btn->connect("pressed", callable_mp(this, &ProjectManager::_scan_projects)); tree_vb->add_child(scan_btn); @@ -2647,14 +2707,14 @@ ProjectManager::ProjectManager() { open_btn = memnew(Button); open_btn->set_text(TTR("Edit")); open_btn->add_theme_constant_override("h_separation", btn_h_separation); - open_btn->set_shortcut(ED_SHORTCUT("project_manager/edit_project", TTR("Edit Project"), KeyModifierMask::CMD | Key::E)); + open_btn->set_shortcut(ED_SHORTCUT("project_manager/edit_project", TTR("Edit Project"), KeyModifierMask::CMD_OR_CTRL | Key::E)); open_btn->connect("pressed", callable_mp(this, &ProjectManager::_open_selected_projects_ask)); tree_vb->add_child(open_btn); run_btn = memnew(Button); run_btn->set_text(TTR("Run")); run_btn->add_theme_constant_override("h_separation", btn_h_separation); - run_btn->set_shortcut(ED_SHORTCUT("project_manager/run_project", TTR("Run Project"), KeyModifierMask::CMD | Key::R)); + run_btn->set_shortcut(ED_SHORTCUT("project_manager/run_project", TTR("Run Project"), KeyModifierMask::CMD_OR_CTRL | Key::R)); run_btn->connect("pressed", callable_mp(this, &ProjectManager::_run_project)); tree_vb->add_child(run_btn); @@ -2720,9 +2780,10 @@ ProjectManager::ProjectManager() { settings_hb->add_child(h_spacer); language_btn = memnew(OptionButton); - language_btn->set_flat(true); language_btn->set_icon(get_theme_icon(SNAME("Environment"), SNAME("EditorIcons"))); language_btn->set_focus_mode(Control::FOCUS_NONE); + language_btn->set_fit_to_longest_item(false); + language_btn->set_flat(true); language_btn->connect("item_selected", callable_mp(this, &ProjectManager::_language_selected)); #ifdef ANDROID_ENABLED // The language selection dropdown doesn't work on Android (as the setting isn't saved), see GH-60353. @@ -2819,9 +2880,18 @@ ProjectManager::ProjectManager() { add_child(multi_scan_ask); ask_update_settings = memnew(ConfirmationDialog); + ask_update_settings->set_autowrap(true); ask_update_settings->get_ok_button()->connect("pressed", callable_mp(this, &ProjectManager::_confirm_update_settings)); + full_convert_button = ask_update_settings->add_button("Convert Full Project", !GLOBAL_GET("gui/common/swap_cancel_ok")); + full_convert_button->connect("pressed", callable_mp(this, &ProjectManager::_full_convert_button_pressed)); add_child(ask_update_settings); + ask_full_convert_dialog = memnew(ConfirmationDialog); + ask_full_convert_dialog->set_autowrap(true); + ask_full_convert_dialog->set_text(TTR("This option will perform full project conversion, updating scenes, resources and scripts from Godot 3.x to work in Godot 4.0.\n\nNote that this is a best-effort conversion, i.e. it makes upgrading the project easier, but it will not open out-of-the-box and will still require manual adjustments.\n\nIMPORTANT: Make sure to backup your project before converting, as this operation makes it impossible to open it in older versions of Godot.")); + ask_full_convert_dialog->connect("confirmed", callable_mp(this, &ProjectManager::_perform_full_project_conversion)); + add_child(ask_full_convert_dialog); + npdialog = memnew(ProjectDialog); npdialog->connect("projects_updated", callable_mp(this, &ProjectManager::_on_projects_updated)); npdialog->connect("project_created", callable_mp(this, &ProjectManager::_on_project_created)); diff --git a/editor/project_manager.h b/editor/project_manager.h index 10bf25c048..7c05429dde 100644 --- a/editor/project_manager.h +++ b/editor/project_manager.h @@ -87,6 +87,7 @@ class ProjectManager : public Control { ConfirmationDialog *multi_open_ask = nullptr; ConfirmationDialog *multi_run_ask = nullptr; ConfirmationDialog *multi_scan_ask = nullptr; + ConfirmationDialog *ask_full_convert_dialog = nullptr; ConfirmationDialog *ask_update_settings = nullptr; ConfirmationDialog *open_templates = nullptr; EditorAbout *about = nullptr; @@ -97,6 +98,7 @@ class ProjectManager : public Control { AcceptDialog *dialog_error = nullptr; ProjectDialog *npdialog = nullptr; + Button *full_convert_button = nullptr; OptionButton *language_btn = nullptr; LinkButton *version_btn = nullptr; @@ -106,6 +108,8 @@ class ProjectManager : public Control { void _run_project_confirm(); void _open_selected_projects(); void _open_selected_projects_ask(); + void _full_convert_button_pressed(); + void _perform_full_project_conversion(); void _import_project(); void _new_project(); void _rename_project(); diff --git a/editor/project_settings_editor.cpp b/editor/project_settings_editor.cpp index 581315d512..2da49f11cc 100644 --- a/editor/project_settings_editor.cpp +++ b/editor/project_settings_editor.cpp @@ -239,7 +239,7 @@ void ProjectSettingsEditor::shortcut_input(const Ref<InputEvent> &p_event) { handled = true; } - if (k->get_keycode_with_modifiers() == (KeyModifierMask::CMD | Key::F)) { + if (k->is_match(InputEventKey::create_reference(KeyModifierMask::CMD_OR_CTRL | Key::F))) { search_box->grab_focus(); search_box->select_all(); handled = true; @@ -521,7 +521,7 @@ void ProjectSettingsEditor::_update_action_map_editor() { void ProjectSettingsEditor::_update_theme() { search_box->set_right_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); restart_close_button->set_icon(get_theme_icon(SNAME("Close"), SNAME("EditorIcons"))); - restart_container->add_theme_style_override("panel", get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); + restart_container->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); restart_icon->set_texture(get_theme_icon(SNAME("StatusWarning"), SNAME("EditorIcons"))); restart_label->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), SNAME("Editor"))); diff --git a/editor/scene_create_dialog.cpp b/editor/scene_create_dialog.cpp index 9b8684b7b8..573e57ca04 100644 --- a/editor/scene_create_dialog.cpp +++ b/editor/scene_create_dialog.cpp @@ -53,7 +53,7 @@ void SceneCreateDialog::_notification(int p_what) { node_type_3d->set_icon(get_theme_icon(SNAME("Node3D"), SNAME("EditorIcons"))); node_type_gui->set_icon(get_theme_icon(SNAME("Control"), SNAME("EditorIcons"))); node_type_other->add_theme_icon_override(SNAME("icon"), get_theme_icon(SNAME("Node"), SNAME("EditorIcons"))); - status_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); + status_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); } break; } } diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp index cde4490cd3..a437245c57 100644 --- a/editor/scene_tree_dock.cpp +++ b/editor/scene_tree_dock.cpp @@ -1987,7 +1987,7 @@ void SceneTreeDock::_script_created(Ref<Script> p_script) { Node *node = selected.front()->get(); Ref<Script> existing = node->get_script(); - editor_data->get_undo_redo()->create_action(TTR("Attach Script")); + editor_data->get_undo_redo()->create_action(TTR("Attach Script"), UndoRedo::MERGE_DISABLE, node); editor_data->get_undo_redo()->add_do_method(InspectorDock::get_singleton(), "store_script_properties", node); editor_data->get_undo_redo()->add_undo_method(InspectorDock::get_singleton(), "store_script_properties", node); editor_data->get_undo_redo()->add_do_method(node, "set_script", p_script); @@ -1998,7 +1998,7 @@ void SceneTreeDock::_script_created(Ref<Script> p_script) { editor_data->get_undo_redo()->add_undo_method(this, "_update_script_button"); editor_data->get_undo_redo()->commit_action(); } else { - editor_data->get_undo_redo()->create_action(TTR("Attach Script")); + editor_data->get_undo_redo()->create_action(TTR("Attach Script"), UndoRedo::MERGE_DISABLE, selected.front()->get()); for (Node *E : selected) { Ref<Script> existing = E->get_script(); editor_data->get_undo_redo()->add_do_method(InspectorDock::get_singleton(), "store_script_properties", E); @@ -2093,9 +2093,9 @@ void SceneTreeDock::_delete_confirm(bool p_cut) { EditorNode::get_singleton()->get_editor_plugins_over()->make_visible(false); if (p_cut) { - editor_data->get_undo_redo()->create_action(TTR("Cut Node(s)")); + editor_data->get_undo_redo()->create_action(TTR("Cut Node(s)"), UndoRedo::MERGE_DISABLE, remove_list.front()->get()); } else { - editor_data->get_undo_redo()->create_action(TTR("Remove Node(s)")); + editor_data->get_undo_redo()->create_action(TTR("Remove Node(s)"), UndoRedo::MERGE_DISABLE, remove_list.front()->get()); } bool entire_scene = false; @@ -2103,6 +2103,7 @@ void SceneTreeDock::_delete_confirm(bool p_cut) { for (const Node *E : remove_list) { if (E == edited_scene) { entire_scene = true; + break; } } @@ -2220,7 +2221,7 @@ void SceneTreeDock::_do_create(Node *p_parent) { Node *child = Object::cast_to<Node>(c); ERR_FAIL_COND(!child); - editor_data->get_undo_redo()->create_action(TTR("Create Node")); + editor_data->get_undo_redo()->create_action_for_history(TTR("Create Node"), editor_data->get_current_edited_scene_history_id()); if (edited_scene) { editor_data->get_undo_redo()->add_do_method(p_parent, "add_child", child, true); @@ -2637,7 +2638,7 @@ void SceneTreeDock::_script_dropped(String p_file, NodePath p_to) { Ref<Script> scr = ResourceLoader::load(p_file); ERR_FAIL_COND(!scr.is_valid()); if (Node *n = get_node(p_to)) { - editor_data->get_undo_redo()->create_action(TTR("Attach Script")); + editor_data->get_undo_redo()->create_action(TTR("Attach Script"), UndoRedo::MERGE_DISABLE, n); editor_data->get_undo_redo()->add_do_method(InspectorDock::get_singleton(), "store_script_properties", n); editor_data->get_undo_redo()->add_undo_method(InspectorDock::get_singleton(), "store_script_properties", n); editor_data->get_undo_redo()->add_do_method(n, "set_script", scr); @@ -3402,24 +3403,24 @@ SceneTreeDock::SceneTreeDock(Node *p_scene_root, EditorSelection *p_editor_selec ED_SHORTCUT("scene_tree/batch_rename", TTR("Batch Rename"), KeyModifierMask::SHIFT | Key::F2); ED_SHORTCUT_OVERRIDE("scene_tree/batch_rename", "macos", KeyModifierMask::SHIFT | Key::ENTER); - ED_SHORTCUT("scene_tree/add_child_node", TTR("Add Child Node"), KeyModifierMask::CMD | Key::A); - ED_SHORTCUT("scene_tree/instance_scene", TTR("Instantiate Child Scene"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::A); + ED_SHORTCUT("scene_tree/add_child_node", TTR("Add Child Node"), KeyModifierMask::CMD_OR_CTRL | Key::A); + ED_SHORTCUT("scene_tree/instance_scene", TTR("Instantiate Child Scene"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::A); ED_SHORTCUT("scene_tree/expand_collapse_all", TTR("Expand/Collapse Branch")); - ED_SHORTCUT("scene_tree/cut_node", TTR("Cut"), KeyModifierMask::CMD | Key::X); - ED_SHORTCUT("scene_tree/copy_node", TTR("Copy"), KeyModifierMask::CMD | Key::C); - ED_SHORTCUT("scene_tree/paste_node", TTR("Paste"), KeyModifierMask::CMD | Key::V); + ED_SHORTCUT("scene_tree/cut_node", TTR("Cut"), KeyModifierMask::CMD_OR_CTRL | Key::X); + ED_SHORTCUT("scene_tree/copy_node", TTR("Copy"), KeyModifierMask::CMD_OR_CTRL | Key::C); + ED_SHORTCUT("scene_tree/paste_node", TTR("Paste"), KeyModifierMask::CMD_OR_CTRL | Key::V); ED_SHORTCUT("scene_tree/change_node_type", TTR("Change Type")); ED_SHORTCUT("scene_tree/attach_script", TTR("Attach Script")); ED_SHORTCUT("scene_tree/extend_script", TTR("Extend Script")); ED_SHORTCUT("scene_tree/detach_script", TTR("Detach Script")); - ED_SHORTCUT("scene_tree/move_up", TTR("Move Up"), KeyModifierMask::CMD | Key::UP); - ED_SHORTCUT("scene_tree/move_down", TTR("Move Down"), KeyModifierMask::CMD | Key::DOWN); - ED_SHORTCUT("scene_tree/duplicate", TTR("Duplicate"), KeyModifierMask::CMD | Key::D); + ED_SHORTCUT("scene_tree/move_up", TTR("Move Up"), KeyModifierMask::CMD_OR_CTRL | Key::UP); + ED_SHORTCUT("scene_tree/move_down", TTR("Move Down"), KeyModifierMask::CMD_OR_CTRL | Key::DOWN); + ED_SHORTCUT("scene_tree/duplicate", TTR("Duplicate"), KeyModifierMask::CMD_OR_CTRL | Key::D); ED_SHORTCUT("scene_tree/reparent", TTR("Reparent")); ED_SHORTCUT("scene_tree/reparent_to_new_node", TTR("Reparent to New Node")); ED_SHORTCUT("scene_tree/make_root", TTR("Make Scene Root")); ED_SHORTCUT("scene_tree/save_branch_as_scene", TTR("Save Branch as Scene")); - ED_SHORTCUT("scene_tree/copy_node_path", TTR("Copy Node Path"), KeyModifierMask::CMD | KeyModifierMask::SHIFT | Key::C); + ED_SHORTCUT("scene_tree/copy_node_path", TTR("Copy Node Path"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::C); ED_SHORTCUT("scene_tree/delete_no_confirm", TTR("Delete (No Confirm)"), KeyModifierMask::SHIFT | Key::KEY_DELETE); ED_SHORTCUT("scene_tree/delete", TTR("Delete"), Key::KEY_DELETE); diff --git a/editor/scene_tree_editor.cpp b/editor/scene_tree_editor.cpp index c120468ecb..137574640e 100644 --- a/editor/scene_tree_editor.cpp +++ b/editor/scene_tree_editor.cpp @@ -387,17 +387,18 @@ void SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) { Ref<Script> script = p_node->get_script(); if (!script.is_null()) { String additional_notes; + Color button_color = Color(1, 1, 1); // Can't set tooltip after adding button, need to do it before. if (script->is_tool()) { additional_notes += "\n" + TTR("This script is currently running in the editor."); + button_color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); } - item->add_button(0, get_theme_icon(SNAME("Script"), SNAME("EditorIcons")), BUTTON_SCRIPT, false, TTR("Open Script:") + " " + script->get_path() + additional_notes); if (EditorNode::get_singleton()->get_object_custom_type_base(p_node) == script) { - item->set_button_color(0, item->get_button_count(0) - 1, Color(1, 1, 1, 0.5)); - } - if (script->is_tool()) { - item->set_button_color(0, item->get_button_count(0) - 1, get_theme_color(SNAME("accent_color"), SNAME("Editor"))); + additional_notes += "\n" + TTR("This script is a custom type."); + button_color.a = 0.5; } + item->add_button(0, get_theme_icon(SNAME("Script"), SNAME("EditorIcons")), BUTTON_SCRIPT, false, TTR("Open Script:") + " " + script->get_path() + additional_notes); + item->set_button_color(0, item->get_button_count(0) - 1, button_color); } if (p_node->is_class("CanvasItem")) { @@ -602,7 +603,7 @@ void SceneTreeEditor::_update_tree(bool p_scroll_to_selected) { updating_tree = false; tree_dirty = false; - if (!filter.is_empty()) { + if (!filter.strip_edges().is_empty()) { _update_filter(nullptr, p_scroll_to_selected); } } @@ -617,18 +618,28 @@ bool SceneTreeEditor::_update_filter(TreeItem *p_parent, bool p_scroll_to_select return false; } - bool keep = false; + bool keep_for_children = false; for (TreeItem *child = p_parent->get_first_child(); child; child = child->get_next()) { - keep = _update_filter(child, p_scroll_to_selected) || keep; + // Always keep if at least one of the children are kept. + keep_for_children = _update_filter(child, p_scroll_to_selected) || keep_for_children; } - if (!keep) { - StringName node_type = get_node(p_parent->get_metadata(0))->get_class(); - bool is_kept_by_type = (filter.begins_with("type:") && filter.trim_prefix("type:").is_subsequence_ofn(node_type)) || (filter.begins_with("t:") && filter.trim_prefix("t:").is_subsequence_ofn(node_type)); - keep = (filter.is_subsequence_ofn(p_parent->get_text(0)) || is_kept_by_type); + // Now find other reasons to keep this Node, too. + PackedStringArray terms = filter.to_lower().split_spaces(); + bool keep = _item_matches_all_terms(p_parent, terms); + + p_parent->set_visible(keep_for_children || keep); + if (keep_for_children) { + if (keep) { + p_parent->clear_custom_color(0); + p_parent->set_selectable(0, true); + } else { + p_parent->set_custom_color(0, get_theme_color(SNAME("disabled_font_color"), SNAME("Editor"))); + p_parent->set_selectable(0, false); + p_parent->deselect(0); + } } - p_parent->set_visible(keep); if (editor_selection) { Node *n = get_node(p_parent->get_metadata(0)); if (keep) { @@ -643,7 +654,68 @@ bool SceneTreeEditor::_update_filter(TreeItem *p_parent, bool p_scroll_to_select } } - return keep; + return keep || keep_for_children; +} + +bool SceneTreeEditor::_item_matches_all_terms(TreeItem *p_item, PackedStringArray p_terms) { + if (p_terms.is_empty()) { + return true; + } + + for (int i = 0; i < p_terms.size(); i++) { + String term = p_terms[i]; + + // Recognise special filter. + if (term.contains(":") && !term.get_slicec(':', 0).is_empty()) { + String parameter = term.get_slicec(':', 0); + String argument = term.get_slicec(':', 1); + + if (parameter == "type" || parameter == "t") { + // Filter by Type. + String node_type = get_node(p_item->get_metadata(0))->get_class().to_lower(); + + if (!node_type.contains(argument)) { + return false; + } + } else if (parameter == "group" || parameter == "g") { + // Filter by Group. + Node *node = get_node(p_item->get_metadata(0)); + + List<Node::GroupInfo> group_info_list; + node->get_groups(&group_info_list); + if (group_info_list.is_empty()) { + return false; + } + // When argument is empty, match all Nodes belonging to any group. + if (!argument.is_empty()) { + bool term_in_groups = false; + for (int j = 0; j < group_info_list.size(); j++) { + // Ignore private groups. + if (String(group_info_list[j].name).begins_with("__")) { + continue; + } + if (String(group_info_list[j].name).to_lower().contains(argument)) { + term_in_groups = true; + break; + } + } + if (!term_in_groups) { + return false; + } + } + } else { + WARN_PRINT(vformat(TTR("Special Node filter \"%s\" is not recognised. Available filters include \"type\" and \"group\"."), parameter)); + continue; + } + } else { + // Default. + if (!p_item->get_text(0).to_lower().contains(term)) { + return false; + } + } + } + + return true; } void SceneTreeEditor::_compute_hash(Node *p_node, uint64_t &hash) { diff --git a/editor/scene_tree_editor.h b/editor/scene_tree_editor.h index 0c13ad96cd..28ffa4b11b 100644 --- a/editor/scene_tree_editor.h +++ b/editor/scene_tree_editor.h @@ -78,6 +78,7 @@ class SceneTreeEditor : public Control { void _test_update_tree(); void _update_tree(bool p_scroll_to_selected = false); bool _update_filter(TreeItem *p_parent = nullptr, bool p_scroll_to_selected = false); + bool _item_matches_all_terms(TreeItem *p_item, PackedStringArray p_terms); void _tree_changed(); void _tree_process_mode_changed(); void _node_removed(Node *p_node); diff --git a/editor/script_create_dialog.cpp b/editor/script_create_dialog.cpp index 7d065b4920..f57dfe4827 100644 --- a/editor/script_create_dialog.cpp +++ b/editor/script_create_dialog.cpp @@ -134,7 +134,7 @@ void ScriptCreateDialog::_notification(int p_what) { path_button->set_icon(get_theme_icon(SNAME("Folder"), SNAME("EditorIcons"))); parent_browse_button->set_icon(get_theme_icon(SNAME("Folder"), SNAME("EditorIcons"))); parent_search_button->set_icon(get_theme_icon(SNAME("ClassList"), SNAME("EditorIcons"))); - status_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); + status_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); } break; } } @@ -202,7 +202,7 @@ bool ScriptCreateDialog::_validate_parent(const String &p_string) { } } - return ClassDB::class_exists(p_string) || ScriptServer::is_global_class(p_string); + return EditorNode::get_editor_data().is_type_recognized(p_string); } bool ScriptCreateDialog::_validate_class(const String &p_string) { @@ -372,7 +372,15 @@ void ScriptCreateDialog::_create_new() { 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()); + String parent_class = parent_name->get_text(); + if (!ClassDB::class_exists(parent_class) && !ScriptServer::is_global_class(parent_class)) { + // If base is a custom type, replace with script path instead. + const EditorData::CustomType *type = EditorNode::get_editor_data().get_custom_type_by_name(parent_class); + ERR_FAIL_NULL(type); + parent_class = "\"" + type->script->get_path() + "\""; + } + + scr = ScriptServer::get_language(language_menu->get_selected())->make_template(sinfo.content, cname_param, parent_class); if (has_named_classes) { String cname = class_name->get_text(); diff --git a/editor/shader_create_dialog.cpp b/editor/shader_create_dialog.cpp index 522fd7c645..ae533b5b75 100644 --- a/editor/shader_create_dialog.cpp +++ b/editor/shader_create_dialog.cpp @@ -89,7 +89,7 @@ void ShaderCreateDialog::_update_theme() { } path_button->set_icon(get_theme_icon(SNAME("Folder"), SNAME("EditorIcons"))); - status_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("bg"), SNAME("Tree"))); + status_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); } void ShaderCreateDialog::_update_language_info() { diff --git a/editor/translations/af.po b/editor/translations/af.po index f2e389b6f5..8ada9c3379 100644 --- a/editor/translations/af.po +++ b/editor/translations/af.po @@ -4588,6 +4588,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "" @@ -7430,7 +7431,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15506,18 +15508,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Nodus Naam:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "Nodus Naam:" #: editor/scene_tree_dock.cpp @@ -15717,6 +15719,11 @@ msgstr "" #: editor/scene_tree_editor.cpp #, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Nodus Naam:" + +#: editor/scene_tree_editor.cpp +#, fuzzy msgid "(Connecting From)" msgstr "Koppel tans Sein:" @@ -15781,6 +15788,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -17655,6 +17666,21 @@ msgstr "Alle Seleksie" msgid "Auto Update Project" msgstr "Projek Stigters" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Vervang Alles" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Kies 'n Gids" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Kies 'n Gids" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -19446,6 +19472,11 @@ msgstr "Anim Dupliseer Sleutels" msgid "Custom BG Color" msgstr "Anim Dupliseer Sleutels" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Anim Verander Transform" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -20282,6 +20313,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid package short name." msgstr "Ongeldige naam." diff --git a/editor/translations/ar.po b/editor/translations/ar.po index cda76c44c8..adaef249f8 100644 --- a/editor/translations/ar.po +++ b/editor/translations/ar.po @@ -67,14 +67,15 @@ # Jhon Smith <jhonsmaith3@gmail.com>, 2022. # Oo mohab oO <mohab9225@gmail.com>, 2022. # عبد الرحمن أبو سعدة ||Abd Alrahman abo saada <abdalrahmanabs2005@gmail.com>, 2022. +# xX-Void-Xx <arandomdude75@gmail.com>, 2022. +# أحمد النور <ahmed2699@gmail.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-07-23 03:57+0000\n" -"Last-Translator: عبد الرحمن أبو سعدة ||Abd Alrahman abo saada " -"<abdalrahmanabs2005@gmail.com>\n" +"PO-Revision-Date: 2022-09-08 07:39+0000\n" +"Last-Translator: أحمد النور <ahmed2699@gmail.com>\n" "Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/" "godot/ar/>\n" "Language: ar\n" @@ -83,7 +84,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.14-dev\n" +"X-Generator: Weblate 4.14.1-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" @@ -452,9 +453,8 @@ msgid "Command" msgstr "مفتاح Command" #: core/os/input_event.cpp -#, fuzzy msgid "Physical" -msgstr "(فيزيائي)" +msgstr "فيزيائي" #: core/os/input_event.cpp scene/2d/touch_screen_button.cpp #: scene/gui/base_button.cpp scene/gui/texture_button.cpp @@ -508,7 +508,7 @@ msgstr "الضغط" #: core/os/input_event.cpp msgid "Pen Inverted" -msgstr "" +msgstr "قُلب القلم" #: core/os/input_event.cpp msgid "Relative" @@ -1199,7 +1199,7 @@ msgstr "خطوة الدوران:" #: editor/animation_track_editor.cpp editor/script_editor_debugger.cpp #: modules/visual_script/visual_script_nodes.cpp scene/gui/range.cpp msgid "Value" -msgstr "القيمة" +msgstr "قيمة" #: editor/animation_track_editor.cpp #, fuzzy @@ -4575,6 +4575,7 @@ msgstr "أدوات مشروع أو مشهد متنوعة." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "مشروع" @@ -5402,9 +5403,8 @@ msgid "Icon And Font Color" msgstr "لون الأيقونة والخط" #: editor/editor_settings.cpp -#, fuzzy msgid "Base Color" -msgstr "الألوان" +msgstr "اللون الاساسي" #: editor/editor_settings.cpp #, fuzzy @@ -5434,9 +5434,8 @@ msgid "Use Graph Node Headers" msgstr "استخدم رؤوس وحدات الرسم البياني" #: editor/editor_settings.cpp -#, fuzzy msgid "Additional Spacing" -msgstr "تكرار الرسوم المتحركة" +msgstr "مساحة اضافية" #: editor/editor_settings.cpp #, fuzzy @@ -5444,9 +5443,8 @@ msgid "Custom Theme" msgstr "مظهر المحرر/برنامج-جودوه" #: editor/editor_settings.cpp -#, fuzzy msgid "Show Script Button" -msgstr "زر العجلة يميناً" +msgstr "اضهار زر السكربت" #: editor/editor_settings.cpp #, fuzzy @@ -5464,9 +5462,8 @@ msgid "Default Project Path" msgstr "مسار المشروع:" #: editor/editor_settings.cpp -#, fuzzy msgid "On Save" -msgstr "حفظ" +msgstr "عند الحفظ" #: editor/editor_settings.cpp #, fuzzy @@ -5501,9 +5498,8 @@ msgid "Start Create Dialog Fully Expanded" msgstr "بدء نافذة حوار الإنشاء موسعة بالكامل" #: editor/editor_settings.cpp -#, fuzzy msgid "Always Show Folders" -msgstr "إظهار الشبكة دوماً" +msgstr "إظهار الملفات دوماً" #: editor/editor_settings.cpp #, fuzzy @@ -5567,14 +5563,12 @@ msgid "Convert Indent On Save" msgstr "تحويل المسافة البادئة إلى مسافات" #: editor/editor_settings.cpp scene/gui/text_edit.cpp -#, fuzzy msgid "Draw Tabs" -msgstr "استدعاءات الرسم:" +msgstr "رسم فراغات زر التاب" #: editor/editor_settings.cpp scene/gui/text_edit.cpp -#, fuzzy msgid "Draw Spaces" -msgstr "استدعاءات الرسم:" +msgstr "رسم فراغات زر السبايس" #: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp @@ -5592,9 +5586,8 @@ msgid "V Scroll Speed" msgstr "سرعة التمرير العمودي" #: editor/editor_settings.cpp -#, fuzzy msgid "Show Minimap" -msgstr "إظهار المركز" +msgstr "إظهار الخريطة" #: editor/editor_settings.cpp msgid "Minimap Width" @@ -5618,9 +5611,8 @@ msgid "Appearance" msgstr "المظهر" #: editor/editor_settings.cpp scene/gui/text_edit.cpp -#, fuzzy msgid "Show Line Numbers" -msgstr "رقم الخط:" +msgstr "اضهار رقم الخط" #: editor/editor_settings.cpp #, fuzzy @@ -5661,9 +5653,8 @@ msgid "Line Length Guideline Hard Column" msgstr "عمود غامق لتوجيه طول السطر" #: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Script List" -msgstr "محرر النص البرمجي" +msgstr "لائحة السكربتات" #: editor/editor_settings.cpp msgid "Show Members Overview" @@ -5725,16 +5716,14 @@ msgid "Caret Blink Speed" msgstr "سرعة وميض علامة الإقحام" #: editor/editor_settings.cpp -#, fuzzy msgid "Right Click Moves Caret" -msgstr "اضغط بالزر الأيمن لإضافة نقطة" +msgstr "اضغط بالزر الأيمن لإضافة علامة الإقحام" #: editor/editor_settings.cpp modules/gdscript/gdscript.cpp #: modules/gdscript/gdscript_editor.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Completion" -msgstr "نسخ المُحدد" +msgstr "تكملة" #: editor/editor_settings.cpp msgid "Idle Parse Delay" @@ -5793,14 +5782,12 @@ msgid "Grid Map" msgstr "خريطة الشبكة" #: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Pick Distance" -msgstr "اختر المسافة:" +msgstr "اختر المسافة" #: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Preview Size" -msgstr "عرض" +msgstr "حجم العرض" #: editor/editor_settings.cpp msgid "Primary Grid Color" @@ -7500,7 +7487,8 @@ msgid "8 Bit" msgstr "8 بت" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "احاديه" @@ -15550,18 +15538,19 @@ msgstr "" msgid "Make Local" msgstr "اجعله محلياً" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "إسم العقدة:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "لقد تم استخدام هذا الاسم في وظيفة برمجية/ مُتغيّر/ إشارة، من قبل:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "إسم العقدة:" #: editor/scene_tree_dock.cpp @@ -15761,6 +15750,11 @@ msgid "Button Group" msgstr "مجموعة الأزرار" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "إسم العقدة:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(الإتصال من)" @@ -15836,6 +15830,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "اسم عُقدة غير صالح، إن الأحرف التالية غير مسموحة:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "إعادة تسمية العُقدة" @@ -17272,7 +17270,7 @@ msgstr "" #: modules/gltf/gltf_node.cpp scene/3d/spatial.cpp #, fuzzy msgid "Translation" -msgstr "الترجمات" +msgstr "الترجمة" #: modules/gltf/gltf_node.cpp #, fuzzy @@ -17706,6 +17704,21 @@ msgstr "" msgid "Auto Update Project" msgstr "تحديث المشروع تلقائيًا" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "إظهار الكل" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "حدد الوجهة" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "حدد الوجهة" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "نهاية تتبع مكدس الاستثناء الداخلي" @@ -19575,6 +19588,11 @@ msgstr "قص العُقد" msgid "Custom BG Color" msgstr "قص العُقد" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "توسيع الكل" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20432,6 +20450,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "اسم الرُزمة القصير غير صالح." diff --git a/editor/translations/az.po b/editor/translations/az.po index af28a85240..d4ffe0665e 100644 --- a/editor/translations/az.po +++ b/editor/translations/az.po @@ -4444,6 +4444,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "" @@ -7176,7 +7177,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -14914,18 +14916,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Animasiya Addımını Dəyişdirin" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "Animasiya Addımını Dəyişdirin" #: editor/scene_tree_dock.cpp @@ -15115,6 +15117,11 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Animasiya Addımını Dəyişdirin" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "" @@ -15178,6 +15185,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -16983,6 +16994,19 @@ msgstr "" msgid "Auto Update Project" msgstr "Əlaqəni redaktə edin:" +#: modules/mono/godotsharp_dirs.cpp +msgid "Assembly Name" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "Solution Directory" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Layihə Qurucuları" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -18707,6 +18731,11 @@ msgstr "Funksiyalar:" msgid "Custom BG Color" msgstr "Funksiyalar:" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "3D Transformasya izi" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -19503,6 +19532,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "" diff --git a/editor/translations/bg.po b/editor/translations/bg.po index d2d7a56dc3..46640b0b55 100644 --- a/editor/translations/bg.po +++ b/editor/translations/bg.po @@ -4506,6 +4506,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Проект" @@ -7336,7 +7337,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15161,18 +15163,19 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Име на обекта:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "Името вече е заето от друга функция/променлива/сигнал:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Име на обекта:" #: editor/scene_tree_dock.cpp @@ -15364,6 +15367,11 @@ msgid "Button Group" msgstr "Група бутони" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Име на обекта:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(Свързване от)" @@ -15427,6 +15435,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -17325,6 +17337,21 @@ msgstr "Запълване на избраното" msgid "Auto Update Project" msgstr "Редактиране на проекта" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Показване на всичко" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Изберете папка" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Изберете папка" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "Край на вътрешния стек на проследяване за изключението" @@ -19126,6 +19153,11 @@ msgstr "Персонализиран обект" msgid "Custom BG Color" msgstr "Персонализиран обект" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Задаване на отстъп" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -19974,6 +20006,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "Неправилно кратко име на пакет." diff --git a/editor/translations/bn.po b/editor/translations/bn.po index 6f1e8f945d..f32a090f27 100644 --- a/editor/translations/bn.po +++ b/editor/translations/bn.po @@ -4748,6 +4748,7 @@ msgstr "প্রকল্প অথবা দৃশ্যে-ব্যাপী #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp #, fuzzy msgid "Project" msgstr "নতুন প্রকল্প" @@ -7789,7 +7790,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -16332,18 +16334,19 @@ msgstr "" msgid "Make Local" msgstr "স্থানীয় করুন" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "নোডের নাম:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "নামটি ইতিমধ্যেই অপর ফাংশন/চলক(ভেরিয়েবল)/সংকেত(সিগন্যাল)-এ ব্যবহৃত হয়েছে:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "নোডের নাম:" #: editor/scene_tree_dock.cpp @@ -16560,6 +16563,11 @@ msgstr "বোতাম ৭" #: editor/scene_tree_editor.cpp #, fuzzy +msgid "Disable Scene Unique Name" +msgstr "নোডের নাম:" + +#: editor/scene_tree_editor.cpp +#, fuzzy msgid "(Connecting From)" msgstr "সংযোগ..." @@ -16640,6 +16648,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "অগ্রহণযোগ্য নোডের নাম, নীম্নোক্ত অক্ষরসমূহ গ্রহণযোগ্য নয়:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "নোড পুনঃনামকরণ করুন" @@ -18644,6 +18656,21 @@ msgstr "সব সিলেক্ট করুন" msgid "Auto Update Project" msgstr "নামহীন প্রকল্প" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Normal প্রদর্শন" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "একটি স্থান পছন্দ করুন" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "একটি স্থান পছন্দ করুন" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -20545,6 +20572,11 @@ msgstr "নোড-সমূহ কর্তন/কাট করুন" msgid "Custom BG Color" msgstr "নোড-সমূহ কর্তন/কাট করুন" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "ধারক/বাহক পর্যন্ত বিস্তৃত করুন" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -21398,6 +21430,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid package short name." msgstr "অগ্রহণযোগ্য ক্লাস নাম" diff --git a/editor/translations/br.po b/editor/translations/br.po index 823490a280..7b92059104 100644 --- a/editor/translations/br.po +++ b/editor/translations/br.po @@ -4371,6 +4371,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "" @@ -7071,7 +7072,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -14762,18 +14764,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Cheñch Pazenn ar Fiñvskeudenn" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "Cheñch Pazenn ar Fiñvskeudenn" #: editor/scene_tree_dock.cpp @@ -14963,6 +14965,11 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Cheñch Pazenn ar Fiñvskeudenn" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "" @@ -15026,6 +15033,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -16816,6 +16827,18 @@ msgstr "" msgid "Auto Update Project" msgstr "" +#: modules/mono/godotsharp_dirs.cpp +msgid "Assembly Name" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "Solution Directory" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "C# Project Directory" +msgstr "" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -18520,6 +18543,11 @@ msgstr "Fonksionoù :" msgid "Custom BG Color" msgstr "Fonksionoù :" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Roudenn Treuzfurmadur 3D" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -19309,6 +19337,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "" diff --git a/editor/translations/ca.po b/editor/translations/ca.po index 04c9b7761c..b08b3be823 100644 --- a/editor/translations/ca.po +++ b/editor/translations/ca.po @@ -4569,6 +4569,7 @@ msgstr "Eines vàries o d'escena." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Projecte" @@ -7508,7 +7509,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15819,18 +15821,19 @@ msgstr "" msgid "Make Local" msgstr "Fer Local" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Nom del node:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "Nom usat en un altra funció/variable/senyal:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Nom del node:" #: editor/scene_tree_dock.cpp @@ -16034,6 +16037,11 @@ msgid "Button Group" msgstr "Grup de botons" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Nom del node:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(Connectant des de)" @@ -16110,6 +16118,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "El Nom del node no és vàlid. No es permeten els caràcters següents:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "Reanomena el Node" @@ -18069,6 +18081,21 @@ msgstr "Omplir la Selecció" msgid "Auto Update Project" msgstr "Projecte sense nom" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Mostra-ho tot" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Tria un Directori" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Tria un Directori" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "Final de la traça de la pila d'excepció interna" @@ -19976,6 +20003,11 @@ msgstr "Talla els Nodes" msgid "Custom BG Color" msgstr "Talla els Nodes" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Expandir tot" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20832,6 +20864,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid package short name." msgstr "El nom curt del paquet no és vàlid." diff --git a/editor/translations/cs.po b/editor/translations/cs.po index 1e92a92ae7..ed04f66e4b 100644 --- a/editor/translations/cs.po +++ b/editor/translations/cs.po @@ -30,13 +30,14 @@ # Jakub Janšta <jansta.ja@gmail.com>, 2021. # Petr Voparil <voparil.petr96@gmail.com>, 2022. # JoeMoos <josephmoose13@gmail.com>, 2022. +# Mirinek <mirek.nozicka77@gmail.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-04-08 07:29+0000\n" -"Last-Translator: Zbyněk <zbynek.fiala@gmail.com>\n" +"PO-Revision-Date: 2022-08-30 03:11+0000\n" +"Last-Translator: Petr Voparil <voparil.petr96@gmail.com>\n" "Language-Team: Czech <https://hosted.weblate.org/projects/godot-engine/godot/" "cs/>\n" "Language: cs\n" @@ -44,7 +45,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.12-dev\n" +"X-Generator: Weblate 4.14.1-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" @@ -65,7 +66,7 @@ msgstr "Kód pro ukončení (exit code)" #: core/bind/core_bind.cpp #, fuzzy msgid "V-Sync Enabled" -msgstr "Povolit" +msgstr "V-Sync Zapnutý" #: core/bind/core_bind.cpp main/main.cpp msgid "V-Sync Via Compositor" @@ -78,7 +79,7 @@ msgstr "" #: core/bind/core_bind.cpp #, fuzzy msgid "Low Processor Usage Mode" -msgstr "Režim přesouvání" +msgstr "Režim Nízkého Využití Procesoru" #: core/bind/core_bind.cpp msgid "Low Processor Usage Mode Sleep (µsec)" @@ -90,14 +91,12 @@ msgid "Keep Screen On" msgstr "Nechat ladící program otevřený" #: core/bind/core_bind.cpp -#, fuzzy msgid "Min Window Size" -msgstr "Velikost obrysu:" +msgstr "Minimální Velikost Okna" #: core/bind/core_bind.cpp -#, fuzzy msgid "Max Window Size" -msgstr "Velikost obrysu:" +msgstr "Maximální Velikost Okna" #: core/bind/core_bind.cpp #, fuzzy @@ -116,8 +115,9 @@ msgid "Borderless" msgstr "Hraniční pixely" #: core/bind/core_bind.cpp +#, fuzzy msgid "Per Pixel Transparency Enabled" -msgstr "" +msgstr "Per Pixel Průhlednost Aktivována" #: core/bind/core_bind.cpp core/project_settings.cpp #, fuzzy @@ -136,7 +136,7 @@ msgstr "Inicializovat" #: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp #: scene/gui/graph_node.cpp msgid "Resizable" -msgstr "" +msgstr "Přizpůsobitelná velikost" #: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp #: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp @@ -170,7 +170,7 @@ msgstr "Editor" #: core/bind/core_bind.cpp msgid "Print Error Messages" -msgstr "" +msgstr "Vypsat chybové hlášky" #: core/bind/core_bind.cpp #, fuzzy @@ -183,9 +183,8 @@ msgid "Target FPS" msgstr "Cíl" #: core/bind/core_bind.cpp -#, fuzzy msgid "Time Scale" -msgstr "Uzel TimeScale" +msgstr "Časová Osa" #: core/bind/core_bind.cpp main/main.cpp #, fuzzy @@ -213,7 +212,7 @@ msgstr "Výsledky hledání" #: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp msgid "Memory" -msgstr "" +msgstr "Paměť" #: core/command_queue_mt.cpp core/message_queue.cpp #: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp @@ -229,11 +228,11 @@ msgstr "" #: core/command_queue_mt.cpp #, fuzzy msgid "Command Queue" -msgstr "Příkaz: Otočit" +msgstr "Fronta Příkazů" #: core/command_queue_mt.cpp msgid "Multithreading Queue Size (KB)" -msgstr "" +msgstr "Velikost vícevláknové fronty (KB)" #: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp #: modules/visual_script/visual_script_func_nodes.cpp @@ -263,9 +262,8 @@ msgid "Remote FS" msgstr "Vzdálený " #: core/io/file_access_network.cpp -#, fuzzy msgid "Page Size" -msgstr "Strana: " +msgstr "Velikost Stránky" #: core/io/file_access_network.cpp msgid "Page Read Ahead" @@ -292,11 +290,11 @@ msgstr "Kreslené objekty:" #: core/io/multiplayer_api.cpp core/io/packet_peer.cpp #, fuzzy msgid "Allow Object Decoding" -msgstr "Povolit Onion Skinning" +msgstr "Povolit Dekódování Objektu" #: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp msgid "Refuse New Network Connections" -msgstr "" +msgstr "Odmítnout nová síťová připojení" #: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp #, fuzzy @@ -309,9 +307,8 @@ msgid "Root Node" msgstr "Název kořenového uzlu" #: core/io/networked_multiplayer_peer.cpp -#, fuzzy msgid "Refuse New Connections" -msgstr "Připojit" +msgstr "Odmítnout Nová Připojení" #: core/io/networked_multiplayer_peer.cpp #, fuzzy @@ -398,8 +395,9 @@ msgstr "Při volání '%s':" #: core/math/random_number_generator.cpp #: modules/opensimplex/open_simplex_noise.cpp +#, fuzzy msgid "Seed" -msgstr "" +msgstr "Seed" #: core/math/random_number_generator.cpp #, fuzzy @@ -412,7 +410,7 @@ msgstr "" #: core/message_queue.cpp msgid "Max Size (KB)" -msgstr "" +msgstr "Maximální Velikost (KB)" #: core/os/input.cpp #, fuzzy @@ -435,8 +433,9 @@ msgid "Alt" msgstr "všichni" #: core/os/input_event.cpp +#, fuzzy msgid "Shift" -msgstr "" +msgstr "Shift" #: core/os/input_event.cpp #, fuzzy @@ -450,7 +449,7 @@ msgstr "" #: core/os/input_event.cpp #, fuzzy msgid "Command" -msgstr "Komunita" +msgstr "Příkaz" #: core/os/input_event.cpp #, fuzzy @@ -462,7 +461,7 @@ msgstr "Fyzická Klávesa" #: scene/resources/default_theme/default_theme.cpp #, fuzzy msgid "Pressed" -msgstr "Profil" +msgstr "Stisknuté" #: core/os/input_event.cpp #, fuzzy @@ -475,8 +474,9 @@ msgid "Physical Scancode" msgstr "Fyzická Klávesa" #: core/os/input_event.cpp +#, fuzzy msgid "Unicode" -msgstr "" +msgstr "Unicode" #: core/os/input_event.cpp msgid "Echo" @@ -488,9 +488,8 @@ msgid "Button Mask" msgstr "Tlačítko" #: core/os/input_event.cpp scene/2d/node_2d.cpp scene/gui/control.cpp -#, fuzzy msgid "Global Position" -msgstr "Konstantní" +msgstr "Globální Pozice" #: core/os/input_event.cpp #, fuzzy @@ -503,12 +502,14 @@ msgid "Button Index" msgstr "Index tlačítka myši:" #: core/os/input_event.cpp +#, fuzzy msgid "Doubleclick" -msgstr "" +msgstr "Dvojklik" #: core/os/input_event.cpp +#, fuzzy msgid "Tilt" -msgstr "" +msgstr "Sklon" #: core/os/input_event.cpp #, fuzzy @@ -556,11 +557,12 @@ msgstr "Akce" #: core/os/input_event.cpp scene/resources/environment.cpp #: scene/resources/material.cpp msgid "Strength" -msgstr "" +msgstr "Síla" #: core/os/input_event.cpp +#, fuzzy msgid "Delta" -msgstr "" +msgstr "Delta" #: core/os/input_event.cpp #, fuzzy @@ -648,12 +650,12 @@ msgstr "Hlavní scéna" #: core/project_settings.cpp #, fuzzy msgid "Disable stdout" -msgstr "Deaktivovat Autotile" +msgstr "Deaktivovat stdout" #: core/project_settings.cpp #, fuzzy msgid "Disable stderr" -msgstr "Deaktivovaná položka" +msgstr "Deaktivovat stderr" #: core/project_settings.cpp msgid "Use Hidden Project Data Directory" @@ -678,7 +680,7 @@ msgstr "Zobrazit všechny" #: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp #: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp msgid "Width" -msgstr "" +msgstr "Šířka" #: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp #: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp @@ -686,13 +688,13 @@ msgstr "" #: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp #: scene/resources/font.cpp scene/resources/navigation_mesh.cpp #: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp -#, fuzzy msgid "Height" -msgstr "Světlo" +msgstr "Výška" #: core/project_settings.cpp +#, fuzzy msgid "Always On Top" -msgstr "" +msgstr "Vždy na hoře" #: core/project_settings.cpp #, fuzzy @@ -757,7 +759,7 @@ msgstr "Přidat vstup" #: core/project_settings.cpp msgid "UI Accept" -msgstr "" +msgstr "Potvrdit" #: core/project_settings.cpp #, fuzzy @@ -790,8 +792,9 @@ msgid "UI Right" msgstr "Vpravo nahoře" #: core/project_settings.cpp +#, fuzzy msgid "UI Up" -msgstr "" +msgstr "Nahoře" #: core/project_settings.cpp #, fuzzy @@ -836,7 +839,7 @@ msgstr "Fyzikální snímek %" #: scene/3d/physics_body.cpp scene/resources/world.cpp #: servers/physics/space_sw.cpp servers/physics_server.cpp msgid "3D" -msgstr "" +msgstr "3D" #: core/project_settings.cpp #, fuzzy @@ -864,7 +867,7 @@ msgstr "Vykreslovač:" #: scene/resources/multimesh.cpp servers/visual/visual_server_scene.cpp #: servers/visual_server.cpp msgid "Quality" -msgstr "" +msgstr "Kvalita" #: core/project_settings.cpp scene/gui/file_dialog.cpp #: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp @@ -874,8 +877,9 @@ msgid "Filters" msgstr "Filtry:" #: core/project_settings.cpp scene/main/viewport.cpp +#, fuzzy msgid "Sharpen Intensity" -msgstr "" +msgstr "Intenzita Zaostření" #: core/project_settings.cpp editor/editor_export.cpp editor/editor_node.cpp #: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp @@ -924,8 +928,9 @@ msgid "Long Distance Matching" msgstr "" #: core/project_settings.cpp +#, fuzzy msgid "Compression Level" -msgstr "" +msgstr "Úroveň Komprese" #: core/project_settings.cpp msgid "Window Log Size" @@ -937,19 +942,20 @@ msgstr "" #: core/project_settings.cpp msgid "Gzip" -msgstr "" +msgstr "Gzip" #: core/project_settings.cpp platform/android/export/export.cpp msgid "Android" -msgstr "" +msgstr "Android" #: core/project_settings.cpp msgid "Modules" -msgstr "" +msgstr "Moduly" #: core/register_core_types.cpp +#, fuzzy msgid "TCP" -msgstr "" +msgstr "TCP" #: core/register_core_types.cpp #, fuzzy @@ -966,12 +972,11 @@ msgstr "" #: core/register_core_types.cpp editor/editor_settings.cpp main/main.cpp msgid "SSL" -msgstr "" +msgstr "SSL" #: core/register_core_types.cpp main/main.cpp -#, fuzzy msgid "Certificates" -msgstr "Vrcholy:" +msgstr "Certifikáty" #: core/resource.cpp editor/dependency_editor.cpp #: editor/editor_resource_picker.cpp @@ -1042,8 +1047,9 @@ msgstr "EiB" #: drivers/gles3/rasterizer_canvas_base_gles3.cpp #: drivers/gles3/rasterizer_scene_gles3.cpp #: drivers/gles3/rasterizer_storage_gles3.cpp modules/gltf/gltf_state.cpp +#, fuzzy msgid "Buffers" -msgstr "" +msgstr "Vyrovnávací Paměti" #: drivers/gles2/rasterizer_canvas_base_gles2.cpp #: drivers/gles3/rasterizer_canvas_base_gles3.cpp @@ -1065,7 +1071,7 @@ msgstr "" #: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp #: servers/visual_server.cpp msgid "2D" -msgstr "" +msgstr "2D" #: drivers/gles2/rasterizer_canvas_base_gles2.cpp #: drivers/gles3/rasterizer_canvas_base_gles3.cpp @@ -1144,7 +1150,7 @@ msgstr "" #: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp msgid "High Quality" -msgstr "" +msgstr "Vysoká Kvalita" #: drivers/gles3/rasterizer_storage_gles3.cpp msgid "Blend Shape Max Buffer Size (KB)" @@ -4645,6 +4651,7 @@ msgstr "Různé nástroje pro projekt nebo scény." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Projekt" @@ -7576,7 +7583,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15659,18 +15667,19 @@ msgstr "" msgid "Make Local" msgstr "Změnit na lokální" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Název uzlu:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "Jméno už je použito jinou funkcí/proměnnou/signálem:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Název uzlu:" #: editor/scene_tree_dock.cpp @@ -15868,6 +15877,11 @@ msgid "Button Group" msgstr "Skupina tlačítek" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Název uzlu:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(Připojování z)" @@ -15943,6 +15957,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "Neplatný název uzlu, následující znaky nejsou povoleny:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "Přejmenovat uzel" @@ -17871,6 +17889,21 @@ msgstr "Vyplnit výběr" msgid "Auto Update Project" msgstr "Nepojmenovaný projekt" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Zobrazit všechny" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Vyberte složku" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Vyberte složku" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "Konec zásobníku trasování vnitřní výjimky" @@ -19742,6 +19775,11 @@ msgstr "Vyjmout uzly" msgid "Custom BG Color" msgstr "Vyjmout uzly" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Rozbalit vše" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20596,6 +20634,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "Neplatné krátké jméno balíčku." diff --git a/editor/translations/da.po b/editor/translations/da.po index 1bb05be6f9..e83ef150e4 100644 --- a/editor/translations/da.po +++ b/editor/translations/da.po @@ -4697,6 +4697,7 @@ msgstr "Diverse projekt eller scene redskaber." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Projekt" @@ -7636,7 +7637,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15864,18 +15866,19 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Node Navn:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "Navnet allerede bruges af en anden func/var/signal:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Node Navn:" #: editor/scene_tree_dock.cpp @@ -16083,6 +16086,11 @@ msgstr "Føj til Gruppe" #: editor/scene_tree_editor.cpp #, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Node Navn:" + +#: editor/scene_tree_editor.cpp +#, fuzzy msgid "(Connecting From)" msgstr "Forbindelses fejl" @@ -16147,6 +16155,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -18072,6 +18084,21 @@ msgstr "All selection" msgid "Auto Update Project" msgstr "Eksporter Projekt" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Vis alle" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Vælg en Mappe" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Vælg en Mappe" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -19921,6 +19948,11 @@ msgstr "Indsæt Node" msgid "Custom BG Color" msgstr "Indsæt Node" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Udvid alle" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20770,6 +20802,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid package short name." msgstr "Ugyldigt navn." diff --git a/editor/translations/de.po b/editor/translations/de.po index aa92914ada..a34395385c 100644 --- a/editor/translations/de.po +++ b/editor/translations/de.po @@ -83,13 +83,16 @@ # Sajeg <jfx@posteo.de>, 2022. # Tobias Jacobs <tobi@jacobs.rocks>, 2022. # JeremyStarTM <jeremystartm@tuta.io>, 2022. +# Tim <sakul8826@gmail.com>, 2022. +# Anonynonymouse <tom.spaine60388@gmail.com>, 2022. +# Felix Bitsch <felix.a.bitsch@gmail.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-07-31 18:34+0000\n" -"Last-Translator: JeremyStarTM <jeremystartm@tuta.io>\n" +"PO-Revision-Date: 2022-08-30 03:11+0000\n" +"Last-Translator: Felix Bitsch <felix.a.bitsch@gmail.com>\n" "Language-Team: German <https://hosted.weblate.org/projects/godot-engine/" "godot/de/>\n" "Language: de\n" @@ -97,7 +100,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.14-dev\n" +"X-Generator: Weblate 4.14.1-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" @@ -478,7 +481,7 @@ msgstr "Gedrückt" #: core/os/input_event.cpp msgid "Scancode" -msgstr "Tastencode" +msgstr "Scancode" #: core/os/input_event.cpp msgid "Physical Scancode" @@ -1633,7 +1636,7 @@ msgstr "Methodenaufrufsspurschlüssel hinzufügen" #: editor/animation_track_editor.cpp msgid "Method not found in object:" -msgstr "Methode im Objekt nicht gefunden:" +msgstr "Methode nicht im Objekt gefunden:" #: editor/animation_track_editor.cpp msgid "Anim Move Keys" @@ -2815,9 +2818,8 @@ msgid "Project export for platform:" msgstr "Projektexport für Plattform:" #: editor/editor_export.cpp -#, fuzzy msgid "Completed with warnings." -msgstr "Fertiggestellt mit Fehlern." +msgstr "Unter Warnungen fertiggestellt." #: editor/editor_export.cpp msgid "Completed successfully." @@ -3501,7 +3503,7 @@ msgstr "Stile" #: editor/editor_help.cpp msgid "Enumerations" -msgstr "Aufzählungstypen" +msgstr "Aufzählungen" #: editor/editor_help.cpp msgid "Property Descriptions" @@ -4564,6 +4566,7 @@ msgstr "Sonstiges Projekt oder szenenübergreifende Werkzeuge." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Projekt" @@ -5462,7 +5465,7 @@ msgstr "Vorschaubildgröße" #: editor/editor_settings.cpp msgid "Docks" -msgstr "Leisten" +msgstr "Docks" #: editor/editor_settings.cpp msgid "Scene Tree" @@ -5571,7 +5574,7 @@ msgstr "Auswahl ziehen und fallen lassen" #: editor/editor_settings.cpp msgid "Stay In Script Editor On Node Selected" -msgstr "Im Skript Editor bei ausgewähltem Node bleiben" +msgstr "Im Skript-Editor bei ausgewähltem Node bleiben" #: editor/editor_settings.cpp msgid "Appearance" @@ -7339,7 +7342,8 @@ msgid "8 Bit" msgstr "8-Bit" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "Mono" @@ -15359,17 +15363,20 @@ msgstr "" msgid "Make Local" msgstr "Lokal machen" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Enable Scene Unique Name(s)" +msgstr "Szenen-eindeutigen Namen aktivieren" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Unique names already used by another node in the scene:" msgstr "" "Ein anderes Node nutzt schon diesen einzigartigen Namen in dieser Szene." #: editor/scene_tree_dock.cpp -msgid "Enable Scene Unique Name" -msgstr "Szenen-eindeutigen Namen aktivieren" - -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Disable Scene Unique Name" +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Szenen-eindeutigen Namen deaktivieren" #: editor/scene_tree_dock.cpp @@ -15569,6 +15576,10 @@ msgid "Button Group" msgstr "Knopf-Gruppe" #: editor/scene_tree_editor.cpp +msgid "Disable Scene Unique Name" +msgstr "Szenen-eindeutigen Namen deaktivieren" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(Verbindung von)" @@ -15648,6 +15659,11 @@ msgstr "" "Ungültiger Name für ein Node, die folgenden Zeichen sind nicht gestattet:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" +"Ein anderes Node nutzt schon diesen einzigartigen Namen in dieser Szene." + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "Node umbenennen" @@ -17427,6 +17443,21 @@ msgstr "Solution bauen" msgid "Auto Update Project" msgstr "Projekt automatisch aktualisieren" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Anzeigename" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Wähle ein Verzeichnis" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Wähle ein Verzeichnis" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "Ende des inneren Exception-Stack-Traces" @@ -19192,6 +19223,11 @@ msgstr "Eigene Hintergrundfarbe verwenden" msgid "Custom BG Color" msgstr "Eigene Hintergrundfarbe" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Export-Icon" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -19653,8 +19689,8 @@ msgid "" "Could not start codesign executable, make sure Xcode command line tools are " "installed." msgstr "" -"Codesign-Anwendung konnte nicht gestartet werden, stelle sicher dass die " -"Xcode-Kommandozeilen-Tools installiert sind." +"Codesign-Anwendung konnte nicht gestartet werden, bitte sicher stellen dass " +"die Xcode-Kommandozeilen-Hilfsprogramme installiert sind." #: platform/osx/export/export.cpp platform/windows/export/export.cpp msgid "No identity found." @@ -20022,6 +20058,12 @@ msgid "Show Name On Square 310 X 310" msgstr "Zeige Name bei Viereck 310 X 310" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "Ungültiger Paket-Kurzname." @@ -20146,21 +20188,19 @@ msgid "Could not find wine executable at \"%s\"." msgstr "Anwendung wine konnte nicht gefunden werden in „%s“." #: platform/windows/export/export.cpp -#, fuzzy msgid "" "Could not start rcedit executable. Configure rcedit path in the Editor " "Settings (Export > Windows > Rcedit), or disable \"Application > Modify " "Resources\" in the export preset." msgstr "" "Anwendung rcedit konnte nicht gestartet werden. Bitte rcedit-Pfad in " -"Editoreinstellungen festlegen (Export > Windows > Rcedit)." +"Editoreinstellungen festlegen (Export > Windows > Rcedit) oder die " +"Einstellung „Application > Modify Resources“ in der Exportvorlage " +"deaktivieren." #: platform/windows/export/export.cpp -#, fuzzy msgid "rcedit failed to modify executable: %s." -msgstr "" -"Modifikation der Anwendung durch rcedit fehlgeschlagen:\n" -"%s" +msgstr "Modifikation der Anwendung durch rcedit fehlgeschlagen: %s." #: platform/windows/export/export.cpp msgid "Could not find signtool executable at \"%s\"." @@ -20179,21 +20219,18 @@ msgid "Invalid timestamp server." msgstr "Ungültiger Zeitstempelserver." #: platform/windows/export/export.cpp -#, fuzzy msgid "" "Could not start signtool executable. Configure signtool path in the Editor " "Settings (Export > Windows > Signtool), or disable \"Codesign\" in the " "export preset." msgstr "" "Anwendung signtool konnte nicht gestartet werden. Bitte signtool-Pfad in " -"Editoreinstellungen festlegen (Export > Windows > Signtool)." +"Editoreinstellungen festlegen (Export > Windows > Signtool) oder Einstellung " +"„Codesign“ in Exportvorlage deaktivieren." #: platform/windows/export/export.cpp -#, fuzzy msgid "Signtool failed to sign executable: %s." -msgstr "" -"Signieren der Anwendung durch Signtool ist fehlgeschlagen:\n" -"%s" +msgstr "Signieren der Anwendung durch Signtool ist fehlgeschlagen: %s." #: platform/windows/export/export.cpp msgid "Failed to remove temporary file \"%s\"." diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot index 23c58c5ffb..fb76a2c2c7 100644 --- a/editor/translations/editor.pot +++ b/editor/translations/editor.pot @@ -4315,6 +4315,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "" @@ -6983,7 +6984,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -14642,16 +14644,16 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." +#: editor/scene_tree_dock.cpp +msgid "Enable Scene Unique Name(s)" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Enable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Disable Scene Unique Name" +#: editor/scene_tree_dock.cpp +msgid "Disable Scene Unique Name(s)" msgstr "" #: editor/scene_tree_dock.cpp @@ -14841,6 +14843,10 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Disable Scene Unique Name" +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "" @@ -14904,6 +14910,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -16677,6 +16687,18 @@ msgstr "" msgid "Auto Update Project" msgstr "" +#: modules/mono/godotsharp_dirs.cpp +msgid "Assembly Name" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "Solution Directory" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "C# Project Directory" +msgstr "" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -18358,6 +18380,10 @@ msgstr "" msgid "Custom BG Color" msgstr "" +#: platform/iphone/export/export.cpp +msgid "Export Icons" +msgstr "" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -19133,6 +19159,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "" diff --git a/editor/translations/el.po b/editor/translations/el.po index 4b71ed8528..3ab08f3dbd 100644 --- a/editor/translations/el.po +++ b/editor/translations/el.po @@ -4612,6 +4612,7 @@ msgstr "Λοιπά έργα ή εργαλεία για όλη τη σκηνή." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Έργο" @@ -7583,7 +7584,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15791,18 +15793,19 @@ msgstr "" msgid "Make Local" msgstr "Κάνε τοπικό" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Όνομα κόμβου:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "Το όνομα χρησιμοποιείται ήδη από μία άλλη συνάρτηση/μεταβλητή/σήμα:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Όνομα κόμβου:" #: editor/scene_tree_dock.cpp @@ -16006,6 +16009,11 @@ msgid "Button Group" msgstr "Ομαδοποίηση Κουμπιών" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Όνομα κόμβου:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(Πηγή Σύνδεση)" @@ -16081,6 +16089,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "Άκυρο όνομα κόμβου, οι ακόλουθοι χαρακτήρες δεν επιτρέπονται:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "Μετονομασία κόμβου" @@ -18019,6 +18031,21 @@ msgstr "Γέμισμα Επιλογής" msgid "Auto Update Project" msgstr "Ανώνυμο έργο" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Εμφάνιση όλων" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Επιλέξτε ένα λεξικό" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Επιλέξτε ένα λεξικό" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "Τέλος ιχνηλάτησης στοίβας εσωτερικής εξαίρεσης" @@ -19913,6 +19940,11 @@ msgstr "Αποκοπή κόμβων" msgid "Custom BG Color" msgstr "Αποκοπή κόμβων" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Ανάπτυξη Όλων" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20769,6 +20801,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "Άκυρο σύντομο όνομα πακέτου." diff --git a/editor/translations/en_Shaw.po b/editor/translations/en_Shaw.po index 361c10ce1a..63ce9ca3d5 100644 --- a/editor/translations/en_Shaw.po +++ b/editor/translations/en_Shaw.po @@ -4341,6 +4341,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "" @@ -7028,7 +7029,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -14704,18 +14706,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "𐑗𐑱𐑯𐑡 𐑨𐑯𐑦𐑥𐑱𐑖𐑩𐑯 𐑤𐑧𐑙𐑒𐑔" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "𐑗𐑱𐑯𐑡 𐑨𐑯𐑦𐑥𐑱𐑖𐑩𐑯 𐑤𐑧𐑙𐑒𐑔" #: editor/scene_tree_dock.cpp @@ -14905,6 +14907,11 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "𐑗𐑱𐑯𐑡 𐑨𐑯𐑦𐑥𐑱𐑖𐑩𐑯 𐑤𐑧𐑙𐑒𐑔" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "" @@ -14968,6 +14975,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -16747,6 +16758,18 @@ msgstr "" msgid "Auto Update Project" msgstr "" +#: modules/mono/godotsharp_dirs.cpp +msgid "Assembly Name" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "Solution Directory" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "C# Project Directory" +msgstr "" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -18443,6 +18466,11 @@ msgstr "𐑓𐑳𐑙𐑒𐑖𐑩𐑯𐑟:" msgid "Custom BG Color" msgstr "𐑓𐑳𐑙𐑒𐑖𐑩𐑯𐑟:" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "3-𐑛 𐑑𐑮𐑨𐑯𐑕𐑓𐑹𐑥 𐑑𐑮𐑨𐑒" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -19229,6 +19257,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "" diff --git a/editor/translations/eo.po b/editor/translations/eo.po index 0139382972..2bcbc62274 100644 --- a/editor/translations/eo.po +++ b/editor/translations/eo.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2022-06-03 02:51+0000\n" +"PO-Revision-Date: 2022-08-21 06:01+0000\n" "Last-Translator: Kedr <lava20121991@gmail.com>\n" "Language-Team: Esperanto <https://hosted.weblate.org/projects/godot-engine/" "godot/eo/>\n" @@ -27,12 +27,11 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.13-dev\n" +"X-Generator: Weblate 4.14-dev\n" #: core/bind/core_bind.cpp main/main.cpp -#, fuzzy msgid "Tablet Driver" -msgstr "Pelilo de tabulo" +msgstr "Pelilo de e-tabulo" #: core/bind/core_bind.cpp msgid "Clipboard" @@ -72,14 +71,12 @@ msgid "Keep Screen On" msgstr "" #: core/bind/core_bind.cpp -#, fuzzy msgid "Min Window Size" -msgstr "Grando de konturo:" +msgstr "Minimuma fenestra grando" #: core/bind/core_bind.cpp -#, fuzzy msgid "Max Window Size" -msgstr "Grando de konturo:" +msgstr "Maksimuma fenestra grando" #: core/bind/core_bind.cpp #, fuzzy @@ -138,9 +135,8 @@ msgstr "Pozicio de doko" #: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp #: scene/resources/style_box.cpp scene/resources/texture.cpp #: scene/resources/visual_shader.cpp servers/visual_server.cpp -#, fuzzy msgid "Size" -msgstr "Grando: " +msgstr "Grando" #: core/bind/core_bind.cpp msgid "Endian Swap" @@ -166,9 +162,8 @@ msgid "Target FPS" msgstr "Celo" #: core/bind/core_bind.cpp -#, fuzzy msgid "Time Scale" -msgstr "Skalo:" +msgstr "Skalo de tempo" #: core/bind/core_bind.cpp main/main.cpp #, fuzzy @@ -180,14 +175,12 @@ msgid "Error" msgstr "" #: core/bind/core_bind.cpp -#, fuzzy msgid "Error String" -msgstr "Eraro dum movado de:" +msgstr "Literĉeno de eraro" #: core/bind/core_bind.cpp -#, fuzzy msgid "Error Line" -msgstr "Eraro dum movado de:" +msgstr "Lineo de eraroj" #: core/bind/core_bind.cpp #, fuzzy @@ -221,9 +214,8 @@ msgstr "" #: modules/visual_script/visual_script_func_nodes.cpp #: modules/visual_script/visual_script_nodes.cpp #: scene/resources/visual_shader_nodes.cpp -#, fuzzy msgid "Function" -msgstr "Funkcioj:" +msgstr "Funkcio" #: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp #: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp @@ -240,14 +232,12 @@ msgid "Network" msgstr "Reta Profililo" #: core/io/file_access_network.cpp -#, fuzzy msgid "Remote FS" -msgstr "Fora " +msgstr "Fora DS" #: core/io/file_access_network.cpp -#, fuzzy msgid "Page Size" -msgstr "Paĝo: " +msgstr "Grando de paĝo" #: core/io/file_access_network.cpp msgid "Page Read Ahead" @@ -285,9 +275,8 @@ msgid "Network Peer" msgstr "Reta Profililo" #: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp -#, fuzzy msgid "Root Node" -msgstr "Krei radikan nodon:" +msgstr "Radika nodo" #: core/io/networked_multiplayer_peer.cpp #, fuzzy @@ -328,9 +317,8 @@ msgid "Blocking Handshake" msgstr "" #: core/io/udp_server.cpp -#, fuzzy msgid "Max Pending Connections" -msgstr "Redakti Konekton:" +msgstr "Maksimuma kvanto de atendeblaj konektoj" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -475,9 +463,8 @@ msgid "Factor" msgstr "" #: core/os/input_event.cpp -#, fuzzy msgid "Button Index" -msgstr "Indekso de musbutono:" +msgstr "Indekso de butono" #: core/os/input_event.cpp msgid "Doubleclick" @@ -505,9 +492,8 @@ msgstr "Kapti relative" #: scene/3d/cpu_particles.cpp scene/3d/interpolated_camera.cpp #: scene/animation/animation_player.cpp scene/resources/environment.cpp #: scene/resources/particles_material.cpp -#, fuzzy msgid "Speed" -msgstr "Skalo:" +msgstr "Rapideco" #: core/os/input_event.cpp editor/project_settings_editor.cpp #: scene/3d/sprite_3d.cpp @@ -520,9 +506,8 @@ msgid "Axis Value" msgstr "(valoro)" #: core/os/input_event.cpp modules/visual_script/visual_script_func_nodes.cpp -#, fuzzy msgid "Index" -msgstr "Indekso:" +msgstr "Indekso" #: core/os/input_event.cpp editor/project_settings_editor.cpp #: modules/visual_script/visual_script_nodes.cpp @@ -550,9 +535,8 @@ msgid "Message" msgstr "Ŝanĝu" #: core/os/input_event.cpp -#, fuzzy msgid "Pitch" -msgstr "Skalo:" +msgstr "Alteco" #: core/os/input_event.cpp scene/2d/cpu_particles_2d.cpp #: scene/2d/physics_body_2d.cpp scene/3d/cpu_particles.cpp @@ -565,9 +549,8 @@ msgid "Instrument" msgstr "" #: core/os/input_event.cpp -#, fuzzy msgid "Controller Number" -msgstr "Lineo-Numeron:" +msgstr "Numero de kontrolilo" #: core/os/input_event.cpp msgid "Controller Value" @@ -586,9 +569,8 @@ msgid "Config" msgstr "Agordi kapton" #: core/project_settings.cpp -#, fuzzy msgid "Project Settings Override" -msgstr "Projektaj agordoj..." +msgstr "Redifino de projekta agordoj" #: core/project_settings.cpp core/resource.cpp #: editor/animation_track_editor.cpp editor/editor_autoload_settings.cpp @@ -683,9 +665,8 @@ msgid "Audio" msgstr "Aŭdio" #: core/project_settings.cpp -#, fuzzy msgid "Default Bus Layout" -msgstr "Ŝargi la defaŭlta busaranĝo." +msgstr "Busaranĝo je defaŭlto" #: core/project_settings.cpp editor/editor_export.cpp #: editor/editor_file_system.cpp editor/editor_node.cpp @@ -695,14 +676,12 @@ msgid "Editor" msgstr "Redaktilo" #: core/project_settings.cpp -#, fuzzy msgid "Main Run Args" -msgstr "Parametroj de ĉefa sceno:" +msgstr "Bazaj parametroj de lanĉo" #: core/project_settings.cpp -#, fuzzy msgid "Scene Naming" -msgstr "Scena dosierindiko:" +msgstr "Nomado de scenoj" #: core/project_settings.cpp msgid "Search In File Extensions" @@ -733,9 +712,8 @@ msgid "UI Accept" msgstr "" #: core/project_settings.cpp -#, fuzzy msgid "UI Select" -msgstr "Elekti" +msgstr "UI Elekti" #: core/project_settings.cpp #, fuzzy @@ -772,9 +750,8 @@ msgid "UI Down" msgstr "Elŝuta" #: core/project_settings.cpp -#, fuzzy msgid "UI Page Up" -msgstr "Paĝo: " +msgstr "UI paĝon supren" #: core/project_settings.cpp msgid "UI Page Down" @@ -825,9 +802,8 @@ msgstr "Krei fratan triangulo-maŝan kolizifiguron" #: modules/lightmapper_cpu/register_types.cpp scene/main/scene_tree.cpp #: scene/main/viewport.cpp servers/visual/visual_server_scene.cpp #: servers/visual_server.cpp -#, fuzzy msgid "Rendering" -msgstr "Bildigilo:" +msgstr "Bildigo" #: core/project_settings.cpp drivers/gles2/rasterizer_storage_gles2.cpp #: drivers/gles3/rasterizer_scene_gles3.cpp @@ -842,9 +818,8 @@ msgstr "" #: core/project_settings.cpp scene/gui/file_dialog.cpp #: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp #: servers/visual_server.cpp -#, fuzzy msgid "Filters" -msgstr "Filtriloj:" +msgstr "Filtriloj" #: core/project_settings.cpp scene/main/viewport.cpp msgid "Sharpen Intensity" @@ -925,9 +900,8 @@ msgid "TCP" msgstr "" #: core/register_core_types.cpp -#, fuzzy msgid "Connect Timeout Seconds" -msgstr "Konektoj al metodo:" +msgstr "Atendtempo de konekto en sekundoj" #: core/register_core_types.cpp msgid "Packet Peer Stream" @@ -1099,9 +1073,8 @@ msgstr "" #: scene/animation/animation_blend_tree.cpp scene/gui/control.cpp #: scene/main/canvas_layer.cpp scene/resources/environment.cpp #: scene/resources/material.cpp scene/resources/particles_material.cpp -#, fuzzy msgid "Scale" -msgstr "Skalo:" +msgstr "Skalo" #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Follow Surface" @@ -1150,11 +1123,11 @@ msgstr "Enmetu ŝlosilon ĉi tien" #: editor/animation_bezier_editor.cpp msgid "Duplicate Selected Key(s)" -msgstr "Duplikati Elektita(j)n Ŝlosilo(j)n" +msgstr "Duplikati elektita(j)n ŝlosilo(j)n" #: editor/animation_bezier_editor.cpp msgid "Delete Selected Key(s)" -msgstr "Forigi Elektita(j)n Ŝlosilo(j)n" +msgstr "Forigi elektita(j)n ŝlosilo(j)n" #: editor/animation_bezier_editor.cpp msgid "Add Bezier Point" @@ -1215,9 +1188,8 @@ msgstr "Lokaĵigado" #: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp #: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp #: scene/3d/remote_transform.cpp scene/3d/spatial.cpp scene/gui/control.cpp -#, fuzzy msgid "Rotation" -msgstr "Rotacia paŝo:" +msgstr "Rotacio" #: editor/animation_track_editor.cpp editor/script_editor_debugger.cpp #: modules/visual_script/visual_script_nodes.cpp scene/gui/range.cpp @@ -1259,14 +1231,12 @@ msgid "Stream" msgstr "" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Start Offset" -msgstr "Krada deŝovo:" +msgstr "Komenca deŝovo" #: editor/animation_track_editor.cpp -#, fuzzy msgid "End Offset" -msgstr "Krada deŝovo:" +msgstr "Fina deŝovo" #: editor/animation_track_editor.cpp editor/editor_settings.cpp #: editor/import/resource_importer_scene.cpp @@ -1389,14 +1359,12 @@ msgid "Remove this track." msgstr "Forigi ĉi tiun trakon." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Time (s):" -msgstr "Fojo (s): " +msgstr "Tempo (s):" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Position:" -msgstr "Pozicio de doko" +msgstr "Pozicio:" #: editor/animation_track_editor.cpp #, fuzzy @@ -1418,9 +1386,8 @@ msgid "Type:" msgstr "" #: editor/animation_track_editor.cpp -#, fuzzy msgid "(Invalid, expected type: %s)" -msgstr "Nevalida kromprogramo." +msgstr "(Nevalida, atendebla tipo: %s)" #: editor/animation_track_editor.cpp #, fuzzy @@ -1442,9 +1409,8 @@ msgid "Stream:" msgstr "" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Start (s):" -msgstr "Komenci" +msgstr "Komenco (s):" #: editor/animation_track_editor.cpp #, fuzzy @@ -1669,9 +1635,8 @@ msgid "Add Method Track Key" msgstr "Aldoni metodan trakan ŝlosilon" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Method not found in object:" -msgstr "Metodon ne trovis en objekto: " +msgstr "En objekto ne estas tia metodo:" #: editor/animation_track_editor.cpp msgid "Anim Move Keys" @@ -1746,11 +1711,11 @@ msgstr "Averto: Redaktanti importis animadon" #: editor/animation_track_editor.cpp msgid "Select an AnimationPlayer node to create and edit animations." -msgstr "Elektu AnimationPlayer-a nodo por krei kaj redakti animadojn." +msgstr "Elektu AnimationPlayer-nodon por krei kaj redakti animaciojn." #: editor/animation_track_editor.cpp msgid "Only show tracks from nodes selected in tree." -msgstr "Nur vidigi trakojn el elektitajn nodojn en la arbo." +msgstr "Vidigi trakojn nur el elektitajn nodojn en la arbo." #: editor/animation_track_editor.cpp msgid "Group tracks by node or display them as plain list." @@ -1906,7 +1871,7 @@ msgstr "Kopii" #: editor/animation_track_editor.cpp msgid "Select All/None" -msgstr "Elekti Ĉiuj/Neniuj" +msgstr "Elekti Ĉiujn/Neniujn" #: editor/animation_track_editor_plugins.cpp msgid "Add Audio Track Clip" @@ -2578,7 +2543,7 @@ msgstr "Solo" #: editor/editor_audio_buses.cpp msgid "Mute" -msgstr "Mute" +msgstr "Surdigi" #: editor/editor_audio_buses.cpp msgid "Bypass" @@ -2642,9 +2607,8 @@ msgid "There is no '%s' file." msgstr "Estas neniu dosiero '%s'." #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Layout:" -msgstr "Aranĝo" +msgstr "Aranĝo:" #: editor/editor_audio_buses.cpp msgid "Invalid file, not an audio bus layout." @@ -2818,7 +2782,7 @@ msgstr "[ne konservis]" #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first." -msgstr "Bonvolu selekti bazan dosierujon unue." +msgstr "Bonvolu elektu bazan dosierujon." #: editor/editor_dir_dialog.cpp msgid "Choose a Directory" @@ -2852,19 +2816,16 @@ msgid "Project export for platform:" msgstr "" #: editor/editor_export.cpp -#, fuzzy msgid "Completed with warnings." -msgstr "Kopii elektaron" +msgstr "Finite kun eraroj." #: editor/editor_export.cpp -#, fuzzy msgid "Completed successfully." -msgstr "Pakaĵo instalis sukcese!" +msgstr "Finite sen eraroj." #: editor/editor_export.cpp -#, fuzzy msgid "Failed." -msgstr "Eraris:" +msgstr "Malsukcesis." #: editor/editor_export.cpp msgid "Storing File:" @@ -2889,14 +2850,12 @@ msgid "Cannot create file \"%s\"." msgstr "Ne povis krei dosierujon." #: editor/editor_export.cpp -#, fuzzy msgid "Failed to export project files." -msgstr "Ne eble komencas subprocezon!" +msgstr "Malsukcesis eksporti dosierojn de projekto." #: editor/editor_export.cpp -#, fuzzy msgid "Can't open file to read from path \"%s\"." -msgstr "Ne malfermeblas dosieron por skribi:" +msgstr "Ne malfermeblas dosieron por legado el vojo \"%s\"." #: editor/editor_export.cpp #, fuzzy @@ -3024,9 +2983,8 @@ msgid "Custom release template not found." msgstr "Propra eldona ŝablono ne trovitis." #: editor/editor_export.cpp -#, fuzzy msgid "Prepare Template" -msgstr "Ŝablono:" +msgstr "Pretigi ŝablonon" #: editor/editor_export.cpp platform/osx/export/export.cpp #, fuzzy @@ -3034,9 +2992,8 @@ msgid "The given export path doesn't exist." msgstr "La provizinta dosierindiko ne ekzistas." #: editor/editor_export.cpp platform/javascript/export/export.cpp -#, fuzzy msgid "Template file not found: \"%s\"." -msgstr "Ŝablonan dosieron ne trovis:" +msgstr "Ŝablona dosiero ne troviĝas: \"%s\"." #: editor/editor_export.cpp #, fuzzy @@ -3107,8 +3064,7 @@ msgid "" "Allows to work with signals and groups of the node selected in the Scene " "dock." msgstr "" -"Permesas labori la signalojn kaj la grupojn de la nodo elektitas en la Sceno-" -"doko." +"Permesas labori kun signaloj kaj grupoj de la elektita nodo en sceno-panelo." #: editor/editor_feature_profile.cpp msgid "Allows to browse the local file system via a dedicated dock." @@ -3132,7 +3088,7 @@ msgstr "(nenio)" #: editor/editor_feature_profile.cpp msgid "Remove currently selected profile, '%s'? Cannot be undone." -msgstr "Forigi aktuale elektitan profilon '%s'? Ne malfareblas." +msgstr "Forigi kurantan elektitan profilon '%s'? Ne malfareblas." #: editor/editor_feature_profile.cpp msgid "Profile must be a valid filename and must not contain '.'" @@ -3266,7 +3222,7 @@ msgstr "Profilo de funkciaro de Godot" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select Current Folder" -msgstr "Elekti aktualan dosierujon" +msgstr "Elekti kurantan dosierujon" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "File exists, overwrite?" @@ -3334,14 +3290,12 @@ msgid "Save a File" msgstr "Konservi dosieron" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Access" -msgstr "Sukceso!" +msgstr "Atingo" #: editor/editor_file_dialog.cpp editor/editor_settings.cpp -#, fuzzy msgid "Display Mode" -msgstr "Reĝimo de ludado:" +msgstr "Reĝimo de montro" #: editor/editor_file_dialog.cpp #: editor/import/resource_importer_layered_texture.cpp @@ -3359,19 +3313,16 @@ msgid "Mode" msgstr "Panoramada reĝimo" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Current Dir" -msgstr "Aktuala profilo:" +msgstr "Kuranta dosierujo" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Current File" -msgstr "Aktuala profilo:" +msgstr "Kuranta dosiero" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Current Path" -msgstr "Aktuala profilo:" +msgstr "Kuranta vojo" #: editor/editor_file_dialog.cpp editor/editor_settings.cpp #: scene/gui/file_dialog.cpp @@ -4475,9 +4426,8 @@ msgid "Inspector" msgstr "Inspektoro" #: editor/editor_node.cpp -#, fuzzy msgid "Default Property Name Style" -msgstr "Projekta vojo:" +msgstr "Defaŭlta stilo de eca nomo" #: editor/editor_node.cpp msgid "Default Float Step" @@ -4623,6 +4573,7 @@ msgstr "Diversa projekto aŭ tut-scenaj iloj." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Projekto" @@ -4889,9 +4840,8 @@ msgid "Play Custom Scene" msgstr "Ludi laŭmendan scenon" #: editor/editor_node.cpp -#, fuzzy msgid "Changing the video driver requires restarting the editor." -msgstr "Ŝanĝanto de la videa pelilo postulas rekomenci la redaktilon." +msgstr "Por ŝanĝo de videopelilo, necesas restarto de redaktilo." #: editor/editor_node.cpp editor/project_settings_editor.cpp #: editor/settings_config_dialog.cpp @@ -4941,7 +4891,7 @@ msgstr "Instali el dosiero" #: editor/editor_node.cpp msgid "Select android sources file" -msgstr "" +msgstr "Elekti Android dosieron de risurcoj" #: editor/editor_node.cpp msgid "" @@ -5021,9 +4971,8 @@ msgid "Select" msgstr "Elekti" #: editor/editor_node.cpp -#, fuzzy msgid "Select Current" -msgstr "Elekti aktualan dosierujon" +msgstr "Elekti kurantan" #: editor/editor_node.cpp msgid "Open 2D Editor" @@ -5091,9 +5040,8 @@ msgstr "Ĝisdatigi" #: editor/editor_plugin_settings.cpp platform/android/export/export_plugin.cpp #: platform/iphone/export/export.cpp platform/osx/export/export.cpp #: platform/uwp/export/export.cpp -#, fuzzy msgid "Version" -msgstr "Versio:" +msgstr "Versio" #: editor/editor_plugin_settings.cpp #, fuzzy @@ -5230,14 +5178,12 @@ msgstr "Elektinta nodo ne estas Viewport!" #: editor/editor_properties_array_dict.cpp #: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Size:" -msgstr "Grando: " +msgstr "Grando" #: editor/editor_properties_array_dict.cpp -#, fuzzy msgid "Page:" -msgstr "Paĝo: " +msgstr "Paĝo" #: editor/editor_properties_array_dict.cpp #: editor/plugins/theme_editor_plugin.cpp @@ -5324,9 +5270,8 @@ msgid "Extend Script" msgstr "Etendi skripton" #: editor/editor_resource_picker.cpp -#, fuzzy msgid "Script Owner" -msgstr "Nomo de skripto:" +msgstr "Posedanto de scenaro" #: editor/editor_run_native.cpp msgid "" @@ -5502,14 +5447,12 @@ msgid "Directories" msgstr "Direktoj" #: editor/editor_settings.cpp -#, fuzzy msgid "Autoscan Project Path" -msgstr "Projekta vojo:" +msgstr "Vojo de projektaj aŭtoskano" #: editor/editor_settings.cpp -#, fuzzy msgid "Default Project Path" -msgstr "Projekta vojo:" +msgstr "Projekta vojo defaŭlte" #: editor/editor_settings.cpp #, fuzzy @@ -5530,9 +5473,8 @@ msgid "File Dialog" msgstr "" #: editor/editor_settings.cpp -#, fuzzy msgid "Thumbnail Size" -msgstr "Bildeto..." +msgstr "Grando de miniaturoj" #: editor/editor_settings.cpp msgid "Docks" @@ -5666,14 +5608,12 @@ msgid "Appearance" msgstr "" #: editor/editor_settings.cpp scene/gui/text_edit.cpp -#, fuzzy msgid "Show Line Numbers" -msgstr "Lineo-Numeron:" +msgstr "Aperigi numeroj de literĉenoj" #: editor/editor_settings.cpp -#, fuzzy msgid "Line Numbers Zero Padded" -msgstr "Lineo-Numeron:" +msgstr "Numeroj de literĉenoj kun nulaj plenigiloj" #: editor/editor_settings.cpp msgid "Show Bookmark Gutter" @@ -5842,9 +5782,8 @@ msgid "Pick Distance" msgstr "Elektu ĉefan scenon" #: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Preview Size" -msgstr "Antaŭrigardo:" +msgstr "Grando de antaŭrigardo" #: editor/editor_settings.cpp msgid "Primary Grid Color" @@ -5891,14 +5830,12 @@ msgid "Shape" msgstr "" #: editor/editor_settings.cpp -#, fuzzy msgid "Primary Grid Steps" -msgstr "Krada paŝo:" +msgstr "Bazaj paŝoj de krado" #: editor/editor_settings.cpp -#, fuzzy msgid "Grid Size" -msgstr "Krada paŝo:" +msgstr "Grando de krado" #: editor/editor_settings.cpp msgid "Grid Division Level Max" @@ -6073,9 +6010,8 @@ msgid "Bone Color 2" msgstr "Renomi nodon" #: editor/editor_settings.cpp -#, fuzzy msgid "Bone Selected Color" -msgstr "Agordi elektitan profilon:" +msgstr "Koloro de elektita osto" #: editor/editor_settings.cpp msgid "Bone IK Color" @@ -6086,9 +6022,8 @@ msgid "Bone Outline Color" msgstr "" #: editor/editor_settings.cpp -#, fuzzy msgid "Bone Outline Size" -msgstr "Grando de konturo:" +msgstr "Grando de osta konturo" #: editor/editor_settings.cpp msgid "Viewport Border Color" @@ -6181,9 +6116,8 @@ msgid "Auto Save" msgstr "Ne konservi" #: editor/editor_settings.cpp -#, fuzzy msgid "Save Before Running" -msgstr "Konservu scenon antaŭ ruloto..." +msgstr "Konservi antaŭ lanĉo" #: editor/editor_settings.cpp msgid "Font Size" @@ -6191,9 +6125,8 @@ msgstr "" #: editor/editor_settings.cpp #: modules/gdscript/language_server/gdscript_language_server.cpp -#, fuzzy msgid "Remote Host" -msgstr "Fora " +msgstr "Fora retnodo" #: editor/editor_settings.cpp #: modules/gdscript/language_server/gdscript_language_server.cpp @@ -6226,9 +6159,8 @@ msgstr "Mastrumilo de Projektoj" #. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp -#, fuzzy msgid "Sorting Order" -msgstr "Renomas dosierujon:" +msgstr "Ordo de disspecigo" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Symbol Color" @@ -6260,9 +6192,8 @@ msgid "Comment Color" msgstr "" #: editor/editor_settings.cpp -#, fuzzy msgid "String Color" -msgstr "Memoras dosieron:" +msgstr "Koloro de literĉeno" #: editor/editor_settings.cpp platform/javascript/export/export.cpp #: platform/uwp/export/export.cpp @@ -6298,14 +6229,12 @@ msgid "Text Color" msgstr "Elekti koloron" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Line Number Color" -msgstr "Lineo-Numeron:" +msgstr "Koloro de lineaj numeroj" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Safe Line Number Color" -msgstr "Lineo-Numeron:" +msgstr "Koloro de senriskaj lineaj je numeroj" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Caret Color" @@ -6348,9 +6277,8 @@ msgid "Number Color" msgstr "" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Function Color" -msgstr "Funkcioj:" +msgstr "Koloro de funkcio" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -6408,9 +6336,8 @@ msgid "Hide Slider" msgstr "Videblaj koliziaj formoj" #: editor/editor_sub_scene.cpp -#, fuzzy msgid "Select Node(s) to Import" -msgstr "Selektu nodo(j)n por enporti" +msgstr "Elektu nodo(j)n por importado" #: editor/editor_sub_scene.cpp editor/project_manager.cpp msgid "Browse" @@ -7556,7 +7483,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15556,18 +15484,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Nomo de nodo:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "Nomo de nodo:" #: editor/scene_tree_dock.cpp @@ -15765,6 +15693,11 @@ msgid "Button Group" msgstr "Grupo de butono" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Nomo de nodo:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(Konektas el)" @@ -15840,6 +15773,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "Malvalida nomo de nodo, la jenaj signoj ne permesas:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "Renomi nodon" @@ -17745,6 +17682,21 @@ msgstr "" msgid "Auto Update Project" msgstr "Sennoma projekto" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Vidigi tutan" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Elekti dosierujon" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Elekti dosierujon" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -19572,6 +19524,11 @@ msgstr "Eltondi nodo(j)n" msgid "Custom BG Color" msgstr "Eltondi nodo(j)n" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Etendi tuton" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20419,6 +20376,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid package short name." msgstr "Nevalida grupa nomo." diff --git a/editor/translations/es.po b/editor/translations/es.po index 173b195cc4..2788483a33 100644 --- a/editor/translations/es.po +++ b/editor/translations/es.po @@ -85,12 +85,16 @@ # Angel Andrade <aandradeb99@gmail.com>, 2022. # Juan Felipe Gómez López <juanfgomez0912@gmail.com>, 2022. # Pineappletooth <yochank003@gmail.com>, 2022. +# David A. Rodas S. <woshianima@gmail.com>, 2022. +# Fernando Joaquin Manzano Lopez <ticantin12@gmail.com>, 2022. +# M3CG <cgmario1999@gmail.com>, 2022. +# Chalan <Valentin06ch@outlook.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-08-05 01:04+0000\n" +"PO-Revision-Date: 2022-09-07 21:02+0000\n" "Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n" "Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/" "godot/es/>\n" @@ -99,7 +103,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.14-dev\n" +"X-Generator: Weblate 4.14.1-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" @@ -478,7 +482,7 @@ msgstr "Física" #: scene/gui/base_button.cpp scene/gui/texture_button.cpp #: scene/resources/default_theme/default_theme.cpp msgid "Pressed" -msgstr "Preset" +msgstr "Presionado" #: core/os/input_event.cpp msgid "Scancode" @@ -601,11 +605,11 @@ msgstr "Valor del Controlador" #: platform/iphone/export/export.cpp platform/osx/export/export.cpp #: platform/windows/export/export.cpp msgid "Application" -msgstr "Aplicação" +msgstr "Aplicación" #: core/project_settings.cpp main/main.cpp msgid "Config" -msgstr "Configuração" +msgstr "Configuración" #: core/project_settings.cpp msgid "Project Settings Override" @@ -652,11 +656,11 @@ msgstr "Desactivar stderr" #: core/project_settings.cpp msgid "Use Hidden Project Data Directory" -msgstr "Utilizar el Directorio de Datos Ocultos del Proyecto" +msgstr "Usar Directorio de Datos Ocultos del Proyecto" #: core/project_settings.cpp msgid "Use Custom User Dir" -msgstr "Utilizar Directorio de Usuario Personalizado" +msgstr "Usar Directorio de Usuario Personalizado" #: core/project_settings.cpp msgid "Custom User Dir Name" @@ -702,7 +706,7 @@ msgstr "Audio" #: core/project_settings.cpp msgid "Default Bus Layout" -msgstr "Layout de Bus por Defecto" +msgstr "Layout de Bus Predeterminado" #: core/project_settings.cpp editor/editor_export.cpp #: editor/editor_file_system.cpp editor/editor_node.cpp @@ -966,7 +970,7 @@ msgstr "Idioma" #: core/translation.cpp msgid "Test" -msgstr "Probar" +msgstr "Test" #: core/translation.cpp scene/resources/font.cpp msgid "Fallback" @@ -1239,11 +1243,11 @@ msgstr "Stream" #: editor/animation_track_editor.cpp msgid "Start Offset" -msgstr "Desplazamiento de Inicio" +msgstr "Offset de Inicio" #: editor/animation_track_editor.cpp msgid "End Offset" -msgstr "Desplazamiento Final" +msgstr "Offset Final" #: editor/animation_track_editor.cpp editor/editor_settings.cpp #: editor/import/resource_importer_scene.cpp @@ -1700,12 +1704,12 @@ msgstr "" "Esta animación pertenece a una escena importada, por lo que los cambios en " "las pistas importadas no se guardarán.\n" "\n" -"Para habilitar la capacidad de añadir pistas personalizadas, ve a la " +"Para habilitar la posibilidad de añadir pistas personalizadas, ve a la " "configuración de importación de la escena y establece\n" -"\"Animation > Storage\" a \"Files\", activa \"Animation > Keep Custom " -"Tracks\", y luego reimporta.\n" -"También puedes usar un preset de importación que importa animaciones para " -"separar archivos." +"\"Animación > Almacenamiento\" a \"Archivos\", active \"Animación > Mantener " +"Pistas Personalizadas\", y vuelve a importar.\n" +"Como alternativa, utiliza un preset de importación que importe las " +"animaciones a archivos separados." #: editor/animation_track_editor.cpp msgid "Warning: Editing imported animation" @@ -1791,7 +1795,7 @@ msgstr "Ir al Paso Anterior" #: editor/animation_track_editor.cpp msgid "Apply Reset" -msgstr "Aplicar Restablecer" +msgstr "Aplicar Reset" #: editor/animation_track_editor.cpp msgid "Optimize Animation" @@ -2649,11 +2653,11 @@ msgstr "Guardar este Bus Layout a un archivo." #: editor/editor_audio_buses.cpp editor/import_dock.cpp msgid "Load Default" -msgstr "Cargar Valores por Defecto" +msgstr "Cargar Valores Predeterminados" #: editor/editor_audio_buses.cpp msgid "Load the default Bus Layout." -msgstr "Cargar el Bus Layout predeterminado." +msgstr "Cargue el Layout del Bus predeterminado." #: editor/editor_audio_buses.cpp msgid "Create a new Bus Layout." @@ -2689,7 +2693,7 @@ msgstr "No debe coincidir con una constante global existente." #: editor/editor_autoload_settings.cpp msgid "Keyword cannot be used as an autoload name." -msgstr "La palabra clave no se puede utilizar como nombre de autoload." +msgstr "La palabra clave no se puede usar como nombre de autoload." #: editor/editor_autoload_settings.cpp msgid "Autoload '%s' already exists!" @@ -2817,9 +2821,8 @@ msgid "Project export for platform:" msgstr "Exportar proyecto para la plataforma:" #: editor/editor_export.cpp -#, fuzzy msgid "Completed with warnings." -msgstr "Completado con errores." +msgstr "Completado con advertencias." #: editor/editor_export.cpp msgid "Completed successfully." @@ -3150,7 +3153,7 @@ msgstr "Error al guardar el perfil en la ruta: '%s'." #: editor/editor_feature_profile.cpp msgid "Reset to Default" -msgstr "Restablecer Valores por Defecto" +msgstr "Restablecer Valores Predeterminados" #: editor/editor_feature_profile.cpp msgid "Current Profile:" @@ -3221,7 +3224,7 @@ msgstr "Administrar Perfiles de Características del Editor" #: editor/editor_feature_profile.cpp msgid "Default Feature Profile" -msgstr "Perfil de Características por Defecto" +msgstr "Perfil de Características Predeterminado" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select Current Folder" @@ -3920,9 +3923,9 @@ msgid "" "To restore the Default layout to its base settings, use the Delete Layout " "option and delete the Default layout." msgstr "" -"Layout por defecto del editor sobreescrita.\n" -"Para recuperar el layout por defecto, utiliza la opción Eliminar Layout y " -"borra el Layout por defecto." +"Layout por defecto del editor anulado.\n" +"Para recuperar el layout predeterminado, utiliza la opción Eliminar Layout y " +"borra el layout Predeterminado." #: editor/editor_node.cpp msgid "Layout name not found!" @@ -3930,7 +3933,7 @@ msgstr "¡Nombre de layout no encontrado!" #: editor/editor_node.cpp msgid "Restored the Default layout to its base settings." -msgstr "Se restauró el diseño por defecto a su configuración básica." +msgstr "Se restauró el diseño predeterminado a su configuración básica." #: editor/editor_node.cpp msgid "" @@ -4282,7 +4285,7 @@ msgstr "Eliminar Layout" #: editor/editor_node.cpp editor/import_dock.cpp #: editor/script_create_dialog.cpp msgid "Default" -msgstr "Por defecto" +msgstr "Predeterminado" #: editor/editor_node.cpp editor/editor_resource_picker.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp @@ -4415,11 +4418,11 @@ msgstr "Inspector" #: editor/editor_node.cpp msgid "Default Property Name Style" -msgstr "Estilo por Defecto del Nombrado de Propiedades" +msgstr "Estilo del nombre de la Propiedad Predeterminada" #: editor/editor_node.cpp msgid "Default Float Step" -msgstr "Escalonado de Flotantes por Defecto" +msgstr "Escalonado de Flotantes Predeterminado" #: editor/editor_node.cpp scene/gui/tree.cpp msgid "Disable Folding" @@ -4447,7 +4450,7 @@ msgstr "Recursos Para Abrir En Nuevo Inspector" #: editor/editor_node.cpp msgid "Default Color Picker Mode" -msgstr "Modo De Selección De Color Por Defecto" +msgstr "Modo de Selección de Color Predeterminado" #: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp msgid "Version Control" @@ -4557,6 +4560,7 @@ msgstr "Herramientas variadas de proyecto o escena." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Proyecto" @@ -4617,8 +4621,8 @@ msgstr "" "Cuando esta opción está activada, al utilizar el despliegue con un clic, el " "ejecutable intentará conectarse a la IP de este equipo para que el proyecto " "en ejecución pueda ser depurado.\n" -"Esta opción está pensada para ser usada en la depuración remota " -"( normalmente con un dispositivo móvil).\n" +"Esta opción está pensada para ser usada en la depuración remota (normalmente " +"con un dispositivo móvil).\n" "No es necesario habilitarla para usar el depurador GDScript localmente." #: editor/editor_node.cpp @@ -5435,7 +5439,7 @@ msgstr "Autoescaneo de la Ruta del Proyecto" #: editor/editor_settings.cpp msgid "Default Project Path" -msgstr "Ruta del Proyecto por Defecto" +msgstr "Ruta del Proyecto Predeterminada" #: editor/editor_settings.cpp msgid "On Save" @@ -5702,7 +5706,7 @@ msgstr "Colocar Tooltip de Llamada Debajo de la Línea Actual" #: editor/editor_settings.cpp msgid "Callhint Tooltip Offset" -msgstr "Desplazamiento del Tooltip de Llamada" +msgstr "Offset del Tooltip de Llamada" #: editor/editor_settings.cpp msgid "Complete File Paths" @@ -5714,7 +5718,7 @@ msgstr "Añadir Sugerencias de Tipo" #: editor/editor_settings.cpp msgid "Use Single Quotes" -msgstr "Utilizar Comillas Simples" +msgstr "Usar Comillas Simples" #: editor/editor_settings.cpp msgid "Show Help Index" @@ -5818,19 +5822,19 @@ msgstr "Cuadrícula Plano YZ" #: editor/editor_settings.cpp msgid "Default FOV" -msgstr "Campo de Visión por Defecto" +msgstr "FOV Predeterminado" #: editor/editor_settings.cpp msgid "Default Z Near" -msgstr "Z Cercana por Defecto" +msgstr "Z Cercano Predeterminado" #: editor/editor_settings.cpp msgid "Default Z Far" -msgstr "Z Lejana por Defecto" +msgstr "Z Lejano Predeterminado" #: editor/editor_settings.cpp msgid "Lightmap Baking Number Of CPU Threads" -msgstr "Número de hilos de la CPU para el Lightmap Baking" +msgstr "Número de Hilos de la CPU para el Lightmap Baking" #: editor/editor_settings.cpp msgid "Navigation Scheme" @@ -6002,7 +6006,7 @@ msgstr "Crear Pistas Bézier Predeterminadas" #: editor/editor_settings.cpp msgid "Default Create Reset Tracks" -msgstr "Crear Pistas de Reinicio por Defecto" +msgstr "Crear Pistas de Reinicio Predeterminado" #: editor/editor_settings.cpp msgid "Onion Layers Past Color" @@ -6118,7 +6122,7 @@ msgstr "Color de los Comentarios" #: editor/editor_settings.cpp msgid "String Color" -msgstr "Color de Cadena" +msgstr "Color del String" #: editor/editor_settings.cpp platform/javascript/export/export.cpp #: platform/uwp/export/export.cpp @@ -6176,7 +6180,7 @@ msgstr "Color de Selección" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Brace Mismatch Color" -msgstr "" +msgstr "Color de Corchetes Incompletos" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Current Line Color" @@ -6184,7 +6188,7 @@ msgstr "Color de Línea Actual" #: editor/editor_settings.cpp msgid "Line Length Guideline Color" -msgstr "" +msgstr "Color de Guía de la Línea de Longitud" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Word Highlighted Color" @@ -6192,11 +6196,11 @@ msgstr "Color de la Palabra Resaltada" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Number Color" -msgstr "Número del Color" +msgstr "Color del Número" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Function Color" -msgstr "Función Color" +msgstr "Color de la Función" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Member Variable Color" @@ -6212,15 +6216,15 @@ msgstr "Color del Marcador" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Breakpoint Color" -msgstr "Puntos de Interrupción" +msgstr "Color de Puntos de Interrupción" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Executing Line Color" -msgstr "Color de la línea de ejecución" +msgstr "Color de la línea en ejecución" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Code Folding Color" -msgstr "" +msgstr "Color del Código Plegado" #: editor/editor_settings.cpp msgid "Search Result Color" @@ -6246,7 +6250,7 @@ msgstr "Ocultar Deslizador" #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" -msgstr "Selecciona nodo(s) a importar" +msgstr "Seleccione nodo(s) a importar" #: editor/editor_sub_scene.cpp editor/project_manager.cpp msgid "Browse" @@ -6279,7 +6283,7 @@ msgstr "No hay espejos disponibles." #: editor/export_template_manager.cpp msgid "Retrieving the mirror list..." -msgstr "Recuperar la lista de espejos..." +msgstr "Recuperar el listado de mirrors..." #: editor/export_template_manager.cpp msgid "Starting the download..." @@ -6291,7 +6295,7 @@ msgstr "Error al solicitar la URL:" #: editor/export_template_manager.cpp msgid "Connecting to the mirror..." -msgstr "Conectando con el espejo..." +msgstr "Conectando con el mirror..." #: editor/export_template_manager.cpp msgid "Can't resolve the requested address." @@ -6299,11 +6303,11 @@ msgstr "No se puede resolver la dirección solicitada." #: editor/export_template_manager.cpp msgid "Can't connect to the mirror." -msgstr "No se puede conectar al espejo." +msgstr "No se puede conectar con el mirror." #: editor/export_template_manager.cpp msgid "No response from the mirror." -msgstr "No hay respuesta del espejo." +msgstr "No hay respuesta del mirror." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -6320,7 +6324,7 @@ msgstr "Petición fallida:" #: editor/export_template_manager.cpp msgid "Download complete; extracting templates..." -msgstr "Descarga completa; extracción de plantillas..." +msgstr "Descarga completa; extrayendo plantillas..." #: editor/export_template_manager.cpp msgid "Cannot remove temporary file:" @@ -6336,17 +6340,17 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Error getting the list of mirrors." -msgstr "Error al obtener la lista de espejos." +msgstr "Error al obtener el listado de mirrors." #: editor/export_template_manager.cpp msgid "Error parsing JSON with the list of mirrors. Please report this issue!" msgstr "" -"Error al analizar el JSON con la lista de espejos ¡Por favor, reporta este " +"Error al leer el JSON con la lista de mirrors ¡Por favor, informa de este " "problema!" #: editor/export_template_manager.cpp msgid "Best available mirror" -msgstr "El mejor espejo disponible" +msgstr "Mejor mirror disponible" #: editor/export_template_manager.cpp msgid "" @@ -6540,7 +6544,7 @@ msgstr "" #: editor/fileserver/editor_file_server.cpp msgid "File Server" -msgstr "" +msgstr "Servidor de Archivos" #: editor/fileserver/editor_file_server.cpp #: editor/plugins/version_control_editor_plugin.cpp @@ -6913,11 +6917,11 @@ msgstr "Administrar Grupos" #: editor/import/editor_import_collada.cpp msgid "Collada" -msgstr "" +msgstr "Collada" #: editor/import/editor_import_collada.cpp msgid "Use Ambient" -msgstr "" +msgstr "Usar Ambiente" #: editor/import/resource_importer_bitmask.cpp msgid "Create From" @@ -6926,7 +6930,7 @@ msgstr "Crear Desde" #: editor/import/resource_importer_bitmask.cpp #: servers/audio/effects/audio_effect_compressor.cpp msgid "Threshold" -msgstr "" +msgstr "Umbral" #: editor/import/resource_importer_csv_translation.cpp #: editor/import/resource_importer_layered_texture.cpp @@ -7011,7 +7015,7 @@ msgstr "Escalar Mesh" #: editor/import/resource_importer_obj.cpp msgid "Offset Mesh" -msgstr "Offset de Malla" +msgstr "Offset de Mesh" #: editor/import/resource_importer_obj.cpp #: editor/import/resource_importer_scene.cpp @@ -7089,7 +7093,7 @@ msgstr "Almacenamiento" #: editor/import/resource_importer_scene.cpp msgid "Use Legacy Names" -msgstr "" +msgstr "Usar Nombres Heredados" #: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp msgid "Materials" @@ -7117,7 +7121,7 @@ msgstr "Tamaño Lightmap Texel" #: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp msgid "Skins" -msgstr "" +msgstr "Skins" #: editor/import/resource_importer_scene.cpp msgid "Use Named Skins" @@ -7129,7 +7133,7 @@ msgstr "Archivos Externos" #: editor/import/resource_importer_scene.cpp msgid "Store In Subdir" -msgstr "" +msgstr "Guardar en el Subdirectorio" #: editor/import/resource_importer_scene.cpp msgid "Filter Script" @@ -7231,16 +7235,21 @@ msgid "" "%s: Texture detected as used as a normal map in 3D. Enabling red-green " "texture compression to reduce memory usage (blue channel is discarded)." msgstr "" +"%s: Textura detectada siendo usada como mapa de normales en 3D. Activando la " +"compresión de la textura rojo-verde para reducir el uso de memoria (el canal " +"azul se descarta)." #: editor/import/resource_importer_texture.cpp msgid "" "%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap " "generation and VRAM texture compression." msgstr "" +"%s: Textura detectada siendo usada en 3D. Activando el filtro, la " +"repetición, la generación de mipmaps y la compresión de textura VRAM." #: editor/import/resource_importer_texture.cpp msgid "2D, Detect 3D" -msgstr "" +msgstr "2D, Detectar 3D" #: editor/import/resource_importer_texture.cpp msgid "2D Pixel" @@ -7248,7 +7257,7 @@ msgstr "Pixel 2D" #: editor/import/resource_importer_texture.cpp scene/resources/texture.cpp msgid "Lossy Quality" -msgstr "" +msgstr "Con Pérdidas de Calidad" #: editor/import/resource_importer_texture.cpp msgid "HDR Mode" @@ -7256,14 +7265,14 @@ msgstr "Modo HDR" #: editor/import/resource_importer_texture.cpp msgid "BPTC LDR" -msgstr "" +msgstr "BPTC LDR" #: editor/import/resource_importer_texture.cpp #: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp #: scene/2d/mesh_instance_2d.cpp scene/2d/multimesh_instance_2d.cpp #: scene/2d/particles_2d.cpp scene/2d/sprite.cpp scene/resources/style_box.cpp msgid "Normal Map" -msgstr "" +msgstr "Mapa de Normales" #: editor/import/resource_importer_texture.cpp msgid "Process" @@ -7271,7 +7280,7 @@ msgstr "Proceso" #: editor/import/resource_importer_texture.cpp msgid "Fix Alpha Border" -msgstr "" +msgstr "Corregir Borde Alfa" #: editor/import/resource_importer_texture.cpp msgid "Premult Alpha" @@ -7279,7 +7288,7 @@ msgstr "Premult Alpha" #: editor/import/resource_importer_texture.cpp msgid "Hdr As Srgb" -msgstr "" +msgstr "Hdr como Srgb" #: editor/import/resource_importer_texture.cpp msgid "Invert Color" @@ -7295,7 +7304,7 @@ msgstr "Tamaño Límite" #: editor/import/resource_importer_texture.cpp msgid "Detect 3D" -msgstr "" +msgstr "Detectar 3D" #: editor/import/resource_importer_texture.cpp msgid "SVG" @@ -7306,6 +7315,9 @@ msgid "" "Warning, no suitable PC VRAM compression enabled in Project Settings. This " "texture will not display correctly on PC." msgstr "" +"Advertencia, no se ha activado la compresión VRAM para PC en la " +"configuración del proyecto. Esta textura no se mostrará correctamente en el " +"PC." #: editor/import/resource_importer_texture_atlas.cpp msgid "Atlas File" @@ -7321,7 +7333,7 @@ msgstr "Recortar la Región" #: editor/import/resource_importer_texture_atlas.cpp msgid "Trim Alpha Border From Region" -msgstr "" +msgstr "Recortar Borde Alfa de la Región" #: editor/import/resource_importer_wav.cpp scene/2d/physics_body_2d.cpp msgid "Force" @@ -7329,12 +7341,13 @@ msgstr "Fuerza" #: editor/import/resource_importer_wav.cpp msgid "8 Bit" -msgstr "" +msgstr "8 Bit" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" -msgstr "" +msgstr "Mono" #: editor/import/resource_importer_wav.cpp msgid "Max Rate" @@ -7346,7 +7359,7 @@ msgstr "Tasa Máxima Hz" #: editor/import/resource_importer_wav.cpp msgid "Trim" -msgstr "" +msgstr "Recorte" #: editor/import/resource_importer_wav.cpp msgid "Normalize" @@ -7377,7 +7390,7 @@ msgstr "Importador:" #: editor/import_defaults_editor.cpp msgid "Reset to Defaults" -msgstr "Restablecer Valores por Defecto" +msgstr "Restablecer Valores Predeterminados" #: editor/import_dock.cpp msgid "Keep File (No Import)" @@ -7393,7 +7406,7 @@ msgstr "Establecer como predeterminado para '%s'" #: editor/import_dock.cpp msgid "Clear Default for '%s'" -msgstr "Restablecer Predeterminado para '%s'" +msgstr "Eliminar los Valores Predeterminados para '%s'" #: editor/import_dock.cpp msgid "Reimport" @@ -7461,7 +7474,7 @@ msgstr "Localizado" #: editor/inspector_dock.cpp msgid "Localization not available for current language." -msgstr "" +msgstr "La traducción no está disponible para el idioma actual." #: editor/inspector_dock.cpp msgid "Copy Properties" @@ -8341,7 +8354,7 @@ msgstr "Filtros..." #: editor/plugins/asset_library_editor_plugin.cpp scene/main/http_request.cpp msgid "Use Threads" -msgstr "" +msgstr "Usar Hilos" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Contents:" @@ -8569,7 +8582,7 @@ msgstr "Prueba" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Failed to get repository configuration." -msgstr "" +msgstr "Fallo en la obtención de la configuración del repositorio." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Assets ZIP File" @@ -8599,8 +8612,8 @@ msgstr "" #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "Failed creating lightmap images, make sure path is writable." msgstr "" -"Error al crear las imágenes del \"lighmap\", asegúrate de que se puede " -"escribir en la ruta." +"Error al crear las imágenes del lightmap, asegúrate de que se puede escribir " +"en la ruta." #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "Failed determining lightmap size. Maximum lightmap size too small?" @@ -8646,7 +8659,7 @@ msgstr "Configurar Snap" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Grid Offset:" -msgstr "Desplazamiento de Cuadrícula:" +msgstr "Offset de Cuadrícula:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Grid Step:" @@ -8702,7 +8715,7 @@ msgstr "Crear Guías Horizontales y Verticales" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" -msgstr "Ajusta el Offset del pivote del CanvasItem \"%s\" a (%d, %d)" +msgstr "Fija el Offset del pivote del CanvasItem \"%s\" a (%d, %d)" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotate %d CanvasItems" @@ -9326,7 +9339,7 @@ msgstr "Error al instanciar escena desde %s" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Default Type" -msgstr "Cambiar Tipo por Defecto" +msgstr "Cambiar Tipo Predeterminado" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" @@ -9502,11 +9515,11 @@ msgstr "Degradado Editado" #: editor/plugins/gradient_texture_2d_editor_plugin.cpp msgid "Swap GradientTexture2D Fill Points" -msgstr "" +msgstr "Intercambiar Puntos de Relleno de GradientTexture2D" #: editor/plugins/gradient_texture_2d_editor_plugin.cpp msgid "Swap Gradient Fill Points" -msgstr "" +msgstr "Intercambiar Puntos de Relleno de Degradado" #: editor/plugins/gradient_texture_2d_editor_plugin.cpp msgid "Toggle Grid Snap" @@ -9529,7 +9542,7 @@ msgstr "Icono" #: editor/plugins/item_list_editor_plugin.cpp msgid "ID" -msgstr "" +msgstr "ID" #: editor/plugins/item_list_editor_plugin.cpp #: scene/resources/default_theme/default_theme.cpp @@ -10312,11 +10325,11 @@ msgstr "Configurar Cuadrícula:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Offset X:" -msgstr "Desplazamiento de Cuadrícula en X:" +msgstr "Offset de Cuadrícula en X:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Offset Y:" -msgstr "Desplazamiento de Cuadrícula en Y:" +msgstr "Offset de Cuadrícula en Y:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Step X:" @@ -10332,7 +10345,7 @@ msgstr "Sincronizar Huesos con el Polígono" #: editor/plugins/ray_cast_2d_editor_plugin.cpp msgid "Set cast_to" -msgstr "" +msgstr "Establecer cast_to" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "ERROR: Couldn't load resource!" @@ -10663,11 +10676,11 @@ msgstr "Resultados de la Búsqueda" #: editor/plugins/script_editor_plugin.cpp msgid "Open Dominant Script On Scene Change" -msgstr "" +msgstr "Abrir el Script Principal en el Cambio de Escena" #: editor/plugins/script_editor_plugin.cpp msgid "External" -msgstr "" +msgstr "Externo" #: editor/plugins/script_editor_plugin.cpp msgid "Use External Editor" @@ -10683,11 +10696,11 @@ msgstr "Temperatura del Script Activada" #: editor/plugins/script_editor_plugin.cpp msgid "Highlight Current Script" -msgstr "" +msgstr "Resaltar Script Actual" #: editor/plugins/script_editor_plugin.cpp msgid "Script Temperature History Size" -msgstr "" +msgstr "Tamaño de Historial de Temperatura del Script" #: editor/plugins/script_editor_plugin.cpp msgid "Current Script Background Color" @@ -10707,7 +10720,7 @@ msgstr "Lista de Nombres de Script Como" #: editor/plugins/script_editor_plugin.cpp msgid "Exec Flags" -msgstr "" +msgstr "Indicadores de Ejecución" #: editor/plugins/script_editor_plugin.cpp msgid "Clear Recent Scripts" @@ -11284,7 +11297,7 @@ msgid "" "It cannot be used as a reliable indication of in-game performance." msgstr "" "Nota: El valor FPS que se muestra es la velocidad de fotogramas del editor.\n" -"No se puede utilizar como un indicador fiable del rendimiento en el juego." +"No se puede usar como un indicador fiable del rendimiento en el juego." #: editor/plugins/spatial_editor_plugin.cpp msgid "Convert Rooms" @@ -11403,7 +11416,7 @@ msgstr "Incrementar el Campo de Visión" #: editor/plugins/spatial_editor_plugin.cpp msgid "Reset Field of View to Default" -msgstr "Restablecer el Campo de Visión por Defecto" +msgstr "Restablecer el Campo de Visión Predeterminado" #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Object to Floor" @@ -11524,11 +11537,11 @@ msgstr "Posterior" #: editor/plugins/spatial_editor_plugin.cpp msgid "Manipulator Gizmo Size" -msgstr "" +msgstr "Tamaño del Gizmo Manipulador" #: editor/plugins/spatial_editor_plugin.cpp msgid "Manipulator Gizmo Opacity" -msgstr "" +msgstr "Opacidad del Gizmo Manipulador" #: editor/plugins/spatial_editor_plugin.cpp msgid "Show Viewport Rotation Gizmo" @@ -12220,13 +12233,13 @@ msgstr "Establer tipo de base" #: editor/plugins/theme_editor_plugin.cpp msgid "Show Default" -msgstr "Mostrar Por Defecto" +msgstr "Mostrar por Defecto" #: editor/plugins/theme_editor_plugin.cpp msgid "Show default type items alongside items that have been overridden." msgstr "" -"Mostrar los elementos de tipo por defecto junto a los elementos que han sido " -"anulados." +"Mostrar los elementos de tipo predeterminado junto a los elementos que han " +"sido anulados." #: editor/plugins/theme_editor_plugin.cpp msgid "Override All" @@ -12234,7 +12247,7 @@ msgstr "Anular Todo" #: editor/plugins/theme_editor_plugin.cpp msgid "Override all default type items." -msgstr "Anular todos los elementos de tipo por defecto." +msgstr "Anular todos los elementos de tipo predeterminado." #: editor/plugins/theme_editor_plugin.cpp msgid "Select the variation base type from a list of available types." @@ -12268,7 +12281,7 @@ msgstr "Añadir Vista Previa" #: editor/plugins/theme_editor_plugin.cpp msgid "Default Preview" -msgstr "Vista Previa Por Defecto" +msgstr "Vista Previa Predeterminada" #: editor/plugins/theme_editor_plugin.cpp msgid "Select UI Scene:" @@ -12877,7 +12890,7 @@ msgstr "Opciones de Ajuste" #: scene/main/canvas_layer.cpp scene/resources/material.cpp #: scene/resources/particles_material.cpp scene/resources/style_box.cpp msgid "Offset" -msgstr "Desplazamiento" +msgstr "Offset" #: editor/plugins/tile_set_editor_plugin.cpp editor/rename_dialog.cpp #: scene/gui/range.cpp scene/resources/animation.cpp @@ -12907,7 +12920,7 @@ msgstr "Textura" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Tex Offset" -msgstr "Desplazamiento de Textura" +msgstr "Offset de Textura" #: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp #: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp @@ -12938,15 +12951,15 @@ msgstr "Espaciado de Subtile" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Occluder Offset" -msgstr "Desplazamiento del Oclusor" +msgstr "Offset del Oclusor" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Navigation Offset" -msgstr "Desplazamiento de Navegación" +msgstr "Offset de Navegación" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Shape Offset" -msgstr "Desplazamiento del Shape" +msgstr "Offset del Shape" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Shape Transform" @@ -14066,11 +14079,13 @@ msgstr "Ejecutable" #: editor/project_export.cpp msgid "Export the project for all the presets defined." -msgstr "" +msgstr "Exportar el proyecto para todos los presets definidos." #: editor/project_export.cpp msgid "All presets must have an export path defined for Export All to work." msgstr "" +"Todos los presets deben tener una ruta de exportación definida para que " +"Exportar Todo funcione." #: editor/project_export.cpp msgid "Delete preset '%s'?" @@ -14183,6 +14198,8 @@ msgid "" "Note: Encryption key needs to be stored in the binary,\n" "you need to build the export templates from source." msgstr "" +"Nota: La clave de encriptación debe ser almacenada en el binario,\n" +"es necesario construir las plantillas de exportación desde el código fuente." #: editor/project_export.cpp msgid "More Info..." @@ -14944,7 +14961,7 @@ msgstr "Plugins" #: editor/project_settings_editor.cpp msgid "Import Defaults" -msgstr "Valores de Importación por Defecto" +msgstr "Valores de Importación Predeterminados" #: editor/property_editor.cpp msgid "Preset..." @@ -15323,8 +15340,8 @@ msgid "" "Disabling \"editable_instance\" will cause all properties of the node to be " "reverted to their default." msgstr "" -"Desactivar \"editable_instance\" causara que todas las propiedades del nodo " -"vuelvan a sus valores por defecto." +"Desactivar \"editable_instance\" causará que todas las propiedades del nodo " +"vuelvan a sus valores predeterminados." #: editor/scene_tree_dock.cpp msgid "" @@ -15332,23 +15349,26 @@ msgid "" "cause all properties of the node to be reverted to their default." msgstr "" "Activar \"Cargar Como Placeholder\" desactivará \"Hijos Editables\" y " -"causará que todas las propiedades del nodo se reviertan a sus valores por " -"defecto." +"causará que todas las propiedades del nodo se reviertan a sus valores " +"predeterminados." #: editor/scene_tree_dock.cpp msgid "Make Local" msgstr "Crear Local" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp -msgid "Enable Scene Unique Name" +#, fuzzy +msgid "Enable Scene Unique Name(s)" msgstr "Activar Nombre Único de Escena" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Disable Scene Unique Name" +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Unique names already used by another node in the scene:" +msgstr "Otro nodo ya utiliza este nombre único en la escena." + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Desactivar Nombre Único de Escena" #: editor/scene_tree_dock.cpp @@ -15425,7 +15445,7 @@ msgstr "Sub-Recursos" #: editor/scene_tree_dock.cpp msgid "Access as Scene Unique Name" -msgstr "" +msgstr "Acceso como Nombre Único de Escena" #: editor/scene_tree_dock.cpp msgid "Clear Inheritance" @@ -15529,7 +15549,7 @@ msgstr "Mostrar Selección de la Raíz del Árbol de Escenas" #: editor/scene_tree_dock.cpp msgid "Derive Script Globals By Name" -msgstr "" +msgstr "Derivar Script Globales por Nombre" #: editor/scene_tree_dock.cpp msgid "Use Favorites Root Selection" @@ -15548,6 +15568,10 @@ msgid "Button Group" msgstr "Grupo de Botones" #: editor/scene_tree_editor.cpp +msgid "Disable Scene Unique Name" +msgstr "Desactivar Nombre Único de Escena" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(Conectando Desde)" @@ -15561,6 +15585,9 @@ msgid "" "with the '%s' prefix in a node path.\n" "Click to disable this." msgstr "" +"Se puede acceder a este nodo desde cualquier parte de la escena anteponiendo " +"el prefijo '%s' en una ruta de nodo.\n" +"Haz clic para desactivar esto." #: editor/scene_tree_editor.cpp msgid "" @@ -15624,6 +15651,10 @@ msgstr "" "El nombre del nodo no es correcto, las siguientes letras no están permitidas:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "Otro nodo ya utiliza este nombre único en la escena." + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "Renombrar Nodo" @@ -15853,15 +15884,15 @@ msgstr "Filtrar variables apiladas" #: editor/script_editor_debugger.cpp msgid "Auto Switch To Remote Scene Tree" -msgstr "" +msgstr "Cambio Automático al Árbol de Escenas Remoto" #: editor/script_editor_debugger.cpp msgid "Remote Scene Tree Refresh Interval" -msgstr "" +msgstr "Intervalo de Refresco del Árbol de Escenas Remoto" #: editor/script_editor_debugger.cpp msgid "Remote Inspect Refresh Interval" -msgstr "" +msgstr "Intervalo de Refresco de la Inspección Remota" #: editor/script_editor_debugger.cpp msgid "Network Profiler" @@ -15959,7 +15990,7 @@ msgstr "Cambiar Radio de Luces" #: editor/spatial_editor_gizmos.cpp msgid "Stream Player 3D" -msgstr "" +msgstr "Stream Player 3D" #: editor/spatial_editor_gizmos.cpp msgid "Change AudioStreamPlayer3D Emission Angle" @@ -15969,7 +16000,7 @@ msgstr "Cambiar Ángulo de Emisión de AudioStreamPlayer3D" #: platform/osx/export/export.cpp #: scene/resources/default_theme/default_theme.cpp msgid "Camera" -msgstr "" +msgstr "Cámara" #: editor/spatial_editor_gizmos.cpp msgid "Change Camera FOV" @@ -15981,7 +16012,7 @@ msgstr "Cambiar Tamaño de Cámara" #: editor/spatial_editor_gizmos.cpp msgid "Visibility Notifier" -msgstr "" +msgstr "Notificador de Visibilidad" #: editor/spatial_editor_gizmos.cpp msgid "Change Notifier AABB" @@ -16053,19 +16084,19 @@ msgstr "Navegación Sólida Desactivada" #: editor/spatial_editor_gizmos.cpp msgid "Joint Body A" -msgstr "" +msgstr "Unir cuerpo A" #: editor/spatial_editor_gizmos.cpp msgid "Joint Body B" -msgstr "" +msgstr "Unir cuerpo B" #: editor/spatial_editor_gizmos.cpp msgid "Room Edge" -msgstr "" +msgstr "Límite del Room" #: editor/spatial_editor_gizmos.cpp msgid "Room Overlap" -msgstr "" +msgstr "Solapamiento del Room" #: editor/spatial_editor_gizmos.cpp msgid "Set Room Point Position" @@ -16077,11 +16108,11 @@ msgstr "Margen del Portal" #: editor/spatial_editor_gizmos.cpp msgid "Portal Edge" -msgstr "" +msgstr "Borde del Portal" #: editor/spatial_editor_gizmos.cpp msgid "Portal Arrow" -msgstr "" +msgstr "Puntero del Portal" #: editor/spatial_editor_gizmos.cpp msgid "Set Portal Point Position" @@ -16089,7 +16120,7 @@ msgstr "Establecer Posición del Portal Point" #: editor/spatial_editor_gizmos.cpp msgid "Portal Front" -msgstr "" +msgstr "Frente del portal" #: editor/spatial_editor_gizmos.cpp msgid "Portal Back" @@ -16130,7 +16161,7 @@ msgstr "Orificio Oclusor" #: main/main.cpp msgid "Godot Physics" -msgstr "" +msgstr "Físicas de Godot" #: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp #: servers/visual/visual_server_scene.cpp @@ -16152,7 +16183,7 @@ msgstr "Servidor Multihilo" #: main/main.cpp msgid "RID Pool Prealloc" -msgstr "" +msgstr "RID Pool Prealloc" #: main/main.cpp msgid "Debugger stdout" @@ -16160,31 +16191,31 @@ msgstr "Depurador stdout" #: main/main.cpp msgid "Max Chars Per Second" -msgstr "" +msgstr "Máx. Caracteres Por Segundo" #: main/main.cpp msgid "Max Messages Per Frame" -msgstr "" +msgstr "Máx. Llamadas Por Fotograma" #: main/main.cpp msgid "Max Errors Per Second" -msgstr "" +msgstr "Máx. Errores Por Segundo" #: main/main.cpp msgid "Max Warnings Per Second" -msgstr "" +msgstr "Máx. Alertas Por Segundo" #: main/main.cpp msgid "Flush stdout On Print" -msgstr "" +msgstr "Vaciar stdout Al Imprimir" #: main/main.cpp servers/visual_server.cpp msgid "Logging" -msgstr "" +msgstr "Registro" #: main/main.cpp msgid "File Logging" -msgstr "" +msgstr "Registro De Archivos" #: main/main.cpp msgid "Enable File Logging" @@ -16196,11 +16227,11 @@ msgstr "Ruta del Registro" #: main/main.cpp msgid "Max Log Files" -msgstr "" +msgstr "Registro Máx. De Archivos" #: main/main.cpp msgid "Driver" -msgstr "" +msgstr "Controlador" #: main/main.cpp msgid "Driver Name" @@ -16208,19 +16239,19 @@ msgstr "Nombre del Controlador" #: main/main.cpp msgid "Fallback To GLES2" -msgstr "" +msgstr "Altenar A GLES2" #: main/main.cpp msgid "Use Nvidia Rect Flicker Workaround" -msgstr "" +msgstr "Usar la solución de Nvidia Rect Flicker" #: main/main.cpp msgid "DPI" -msgstr "" +msgstr "DPI" #: main/main.cpp msgid "Allow hiDPI" -msgstr "" +msgstr "Permitir hiDPI" #: main/main.cpp msgid "V-Sync" @@ -16232,15 +16263,15 @@ msgstr "Usar Sincronización Vertical" #: main/main.cpp msgid "Per Pixel Transparency" -msgstr "" +msgstr "Transparencia Por Pixel" #: main/main.cpp msgid "Allowed" -msgstr "" +msgstr "Permitido" #: main/main.cpp msgid "Intended Usage" -msgstr "" +msgstr "Uso Planteado" #: main/main.cpp msgid "Framebuffer Allocation" @@ -16252,7 +16283,7 @@ msgstr "Ahorro de Energía" #: main/main.cpp msgid "Threads" -msgstr "" +msgstr "Hilos" #: main/main.cpp servers/physics_2d/physics_2d_server_wrap_mt.h msgid "Thread Model" @@ -16260,11 +16291,11 @@ msgstr "Modelo de Hilo" #: main/main.cpp msgid "Thread Safe BVH" -msgstr "" +msgstr "Hilo Seguro BVH" #: main/main.cpp msgid "Handheld" -msgstr "" +msgstr "Manipulador" #: main/main.cpp platform/javascript/export/export.cpp #: platform/uwp/export/export.cpp @@ -16274,7 +16305,7 @@ msgstr "Orientación" #: main/main.cpp scene/gui/scroll_container.cpp scene/gui/text_edit.cpp #: scene/main/scene_tree.cpp scene/register_scene_types.cpp msgid "Common" -msgstr "Común" +msgstr "Más información" #: main/main.cpp msgid "Physics FPS" @@ -16286,25 +16317,25 @@ msgstr "Forzar FPS" #: main/main.cpp msgid "Enable Pause Aware Picking" -msgstr "" +msgstr "Activar Selección en Pausa" #: main/main.cpp scene/gui/item_list.cpp scene/gui/popup_menu.cpp #: scene/gui/scroll_container.cpp scene/gui/text_edit.cpp scene/gui/tree.cpp #: scene/main/viewport.cpp scene/register_scene_types.cpp msgid "GUI" -msgstr "" +msgstr "GUI" #: main/main.cpp msgid "Drop Mouse On GUI Input Disabled" -msgstr "" +msgstr "Colocar el Mouse en la Entrada de la GUI Desactivada" #: main/main.cpp msgid "stdout" -msgstr "" +msgstr "stdout" #: main/main.cpp msgid "Print FPS" -msgstr "" +msgstr "Imprimir FPS" #: main/main.cpp msgid "Verbose stdout" @@ -16324,19 +16355,19 @@ msgstr "Retraso de los Fotogramas Msec" #: main/main.cpp msgid "Low Processor Mode" -msgstr "" +msgstr "Modo Para Procesadores Lentos" #: main/main.cpp msgid "Delta Sync After Draw" -msgstr "" +msgstr "Sincronizar Delta Después Del Evento Draw" #: main/main.cpp msgid "iOS" -msgstr "" +msgstr "iOS" #: main/main.cpp msgid "Hide Home Indicator" -msgstr "" +msgstr "Ocultar Indicador de Inicio" #: main/main.cpp msgid "Input Devices" @@ -16344,15 +16375,15 @@ msgstr "Dispositivos de Entrada" #: main/main.cpp msgid "Pointing" -msgstr "Apuntador" +msgstr "Puntero" #: main/main.cpp msgid "Touch Delay" -msgstr "" +msgstr "Retraso De Toque" #: main/main.cpp servers/visual_server.cpp msgid "GLES3" -msgstr "" +msgstr "GLES3" #: main/main.cpp servers/visual_server.cpp msgid "Shaders" @@ -16370,11 +16401,11 @@ msgstr "Entorno" #: main/main.cpp msgid "Default Clear Color" -msgstr "" +msgstr "Color Claro Predeterminado" #: main/main.cpp msgid "Boot Splash" -msgstr "" +msgstr "Pantalla de Splash" #: main/main.cpp msgid "Show Image" @@ -16382,11 +16413,11 @@ msgstr "Mostrar Imagen" #: main/main.cpp msgid "Image" -msgstr "" +msgstr "imagen" #: main/main.cpp msgid "Fullsize" -msgstr "" +msgstr "Tamaño completo" #: main/main.cpp scene/resources/dynamic_font.cpp msgid "Use Filter" @@ -16402,23 +16433,23 @@ msgstr "Icono Nativo de macOS" #: main/main.cpp msgid "Windows Native Icon" -msgstr "" +msgstr "Icono Nativo Para Windows" #: main/main.cpp msgid "Buffering" -msgstr "" +msgstr "Buffering" #: main/main.cpp msgid "Agile Event Flushing" -msgstr "" +msgstr "Evento Ágil de Vaciado" #: main/main.cpp msgid "Emulate Touch From Mouse" -msgstr "" +msgstr "Emular Toque Desde El Mouse" #: main/main.cpp msgid "Emulate Mouse From Touch" -msgstr "" +msgstr "Emular Mouse con el Toque" #: main/main.cpp msgid "Mouse Cursor" @@ -16430,11 +16461,11 @@ msgstr "Imagen Personalizada" #: main/main.cpp msgid "Custom Image Hotspot" -msgstr "" +msgstr "Imagen personalizada para el Hotspot" #: main/main.cpp msgid "Tooltip Position Offset" -msgstr "Desplazamiento de Posición del Tooltip" +msgstr "Offset de Posición del Tooltip" #: main/main.cpp modules/mono/mono_gd/gd_mono.cpp msgid "Debugger Agent" @@ -16450,11 +16481,11 @@ msgstr "Tiempo de Espera" #: main/main.cpp msgid "Runtime" -msgstr "" +msgstr "Tiempo De Ejecución" #: main/main.cpp msgid "Unhandled Exception Policy" -msgstr "" +msgstr "Política de Excepciones No Controladas" #: main/main.cpp msgid "Main Loop Type" @@ -16471,11 +16502,11 @@ msgstr "Aspecto" #: main/main.cpp msgid "Shrink" -msgstr "" +msgstr "Reducción" #: main/main.cpp scene/main/scene_tree.cpp msgid "Auto Accept Quit" -msgstr "" +msgstr "Aceptar Cierre Del Programa Automáticamente" #: main/main.cpp scene/main/scene_tree.cpp msgid "Quit On Go Back" @@ -16487,19 +16518,19 @@ msgstr "Ajustar Controles a Píxeles" #: main/main.cpp msgid "Dynamic Fonts" -msgstr "" +msgstr "Fuentes Dinámicas" #: main/main.cpp msgid "Use Oversampling" -msgstr "" +msgstr "Usar Sobremuestreo" #: modules/bullet/register_types.cpp modules/bullet/space_bullet.cpp msgid "Active Soft World" -msgstr "" +msgstr "Soft World Activo" #: modules/csg/csg_gizmos.cpp msgid "CSG" -msgstr "" +msgstr "CSG" #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" @@ -16523,7 +16554,7 @@ msgstr "Operación" #: modules/csg/csg_shape.cpp msgid "Calculate Tangents" -msgstr "" +msgstr "Calcular Tangentes" #: modules/csg/csg_shape.cpp msgid "Use Collision" @@ -16572,7 +16603,7 @@ msgstr "Lados" #: modules/csg/csg_shape.cpp msgid "Cone" -msgstr "" +msgstr "Cono" #: modules/csg/csg_shape.cpp msgid "Inner Radius" @@ -16584,7 +16615,7 @@ msgstr "Radio Exterior" #: modules/csg/csg_shape.cpp msgid "Ring Sides" -msgstr "" +msgstr "Lados del Anillo" #: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp #: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp @@ -16594,11 +16625,11 @@ msgstr "Polígono" #: modules/csg/csg_shape.cpp msgid "Spin Degrees" -msgstr "" +msgstr "Grados de Giro" #: modules/csg/csg_shape.cpp msgid "Spin Sides" -msgstr "" +msgstr "Lados de Giro" #: modules/csg/csg_shape.cpp msgid "Path Node" @@ -16610,11 +16641,11 @@ msgstr "Tipo de Intervalo de Ruta" #: modules/csg/csg_shape.cpp msgid "Path Interval" -msgstr "" +msgstr "Intervalo de Ruta" #: modules/csg/csg_shape.cpp msgid "Path Simplify Angle" -msgstr "" +msgstr "Simplificar Ángulo de Ruta" #: modules/csg/csg_shape.cpp msgid "Path Rotation" @@ -16654,15 +16685,15 @@ msgstr "Siempre Ordenado" #: modules/enet/networked_multiplayer_enet.cpp msgid "Server Relay" -msgstr "" +msgstr "Repetidor del Servidor" #: modules/enet/networked_multiplayer_enet.cpp msgid "DTLS Verify" -msgstr "" +msgstr "Verificar DTLS" #: modules/enet/networked_multiplayer_enet.cpp msgid "DTLS Hostname" -msgstr "" +msgstr "Nombre de Host DTLS" #: modules/enet/networked_multiplayer_enet.cpp msgid "Use DTLS" @@ -16670,11 +16701,11 @@ msgstr "Usar DTLS" #: modules/fbx/editor_scene_importer_fbx.cpp msgid "FBX" -msgstr "" +msgstr "FBX" #: modules/fbx/editor_scene_importer_fbx.cpp msgid "Use FBX" -msgstr "" +msgstr "Usar FBX" #: modules/gdnative/gdnative.cpp msgid "Config File" @@ -16774,7 +16805,7 @@ msgstr "GDScript" #: modules/gdscript/editor/gdscript_highlighter.cpp msgid "Function Definition Color" -msgstr "" +msgstr "Función Definición de Color" #: modules/gdscript/editor/gdscript_highlighter.cpp msgid "Node Path Color" @@ -16786,15 +16817,15 @@ msgstr "" #: modules/gdscript/gdscript.cpp msgid "Treat Warnings As Errors" -msgstr "" +msgstr "Tratar las Advertencias como Errores" #: modules/gdscript/gdscript.cpp msgid "Exclude Addons" -msgstr "" +msgstr "Excluir Addons" #: modules/gdscript/gdscript.cpp msgid "Autocomplete Setters And Getters" -msgstr "" +msgstr "Autocompletar Setters y Getters" #: modules/gdscript/gdscript_functions.cpp msgid "Step argument is zero!" @@ -16846,11 +16877,11 @@ msgstr "Activar Smart Resolve" #: modules/gdscript/language_server/gdscript_language_server.cpp msgid "Show Native Symbols In Editor" -msgstr "" +msgstr "Mostrar Símbolos Nativos en el Editor" #: modules/gdscript/language_server/gdscript_language_server.cpp msgid "Use Thread" -msgstr "" +msgstr "Usar Hilo" #: modules/gltf/editor_scene_exporter_gltf_plugin.cpp msgid "Export Mesh GLTF2" @@ -16866,7 +16897,7 @@ msgstr "Vista del Buffer" #: modules/gltf/gltf_accessor.cpp modules/gltf/gltf_buffer_view.cpp msgid "Byte Offset" -msgstr "Desplazamiento de Byte" +msgstr "Offset de Byte" #: modules/gltf/gltf_accessor.cpp msgid "Component Type" @@ -16894,11 +16925,11 @@ msgstr "Recuento Parcial" #: modules/gltf/gltf_accessor.cpp msgid "Sparse Indices Buffer View" -msgstr "" +msgstr "Vista del Buffer de Índices Esparcidos" #: modules/gltf/gltf_accessor.cpp msgid "Sparse Indices Byte Offset" -msgstr "" +msgstr "Índices Dispersos del Offset de Bytes" #: modules/gltf/gltf_accessor.cpp msgid "Sparse Indices Component Type" @@ -16906,11 +16937,11 @@ msgstr "Índices Dispersos de Tipo de Componente" #: modules/gltf/gltf_accessor.cpp msgid "Sparse Values Buffer View" -msgstr "" +msgstr "Vista del Buffer de Valores Esparcidos" #: modules/gltf/gltf_accessor.cpp msgid "Sparse Values Byte Offset" -msgstr "" +msgstr "Valores Dispersos del Offset de Bytes" #: modules/gltf/gltf_buffer_view.cpp msgid "Buffer" @@ -16934,7 +16965,7 @@ msgstr "Tamaño de FOV" #: modules/gltf/gltf_camera.cpp msgid "Zfar" -msgstr "" +msgstr "Zfar" #: modules/gltf/gltf_camera.cpp msgid "Znear" @@ -16954,7 +16985,7 @@ msgstr "Color" #: modules/gltf/gltf_light.cpp scene/3d/reflection_probe.cpp #: scene/resources/environment.cpp msgid "Intensity" -msgstr "" +msgstr "Intensidad" #: modules/gltf/gltf_light.cpp scene/2d/light_2d.cpp scene/3d/light.cpp msgid "Range" @@ -16962,11 +16993,11 @@ msgstr "Rango" #: modules/gltf/gltf_light.cpp msgid "Inner Cone Angle" -msgstr "" +msgstr "Ángulo del Cono Interior" #: modules/gltf/gltf_light.cpp msgid "Outer Cone Angle" -msgstr "" +msgstr "Ángulo del Cono Exterior" #: modules/gltf/gltf_mesh.cpp msgid "Blend Weights" @@ -16986,7 +17017,7 @@ msgstr "Xform" #: modules/gltf/gltf_node.cpp scene/3d/mesh_instance.cpp msgid "Skin" -msgstr "" +msgstr "Skin" #: modules/gltf/gltf_node.cpp scene/3d/spatial.cpp msgid "Translation" @@ -17002,11 +17033,11 @@ msgstr "Articulaciones" #: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp msgid "Roots" -msgstr "" +msgstr "Raíces" #: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_state.cpp msgid "Unique Names" -msgstr "" +msgstr "Nombres Únicos" #: modules/gltf/gltf_skeleton.cpp msgid "Godot Bone Node" @@ -17022,7 +17053,7 @@ msgstr "Articulaciones Originales" #: modules/gltf/gltf_skin.cpp msgid "Inverse Binds" -msgstr "" +msgstr "Enlaces Inversos" #: modules/gltf/gltf_skin.cpp msgid "Non Joints" @@ -17030,27 +17061,27 @@ msgstr "Sin Articulaciones" #: modules/gltf/gltf_skin.cpp msgid "Joint I To Bone I" -msgstr "" +msgstr "Unir I a Hueso I" #: modules/gltf/gltf_skin.cpp msgid "Joint I To Name" -msgstr "" +msgstr "Unir I a Nombre" #: modules/gltf/gltf_skin.cpp msgid "Godot Skin" -msgstr "" +msgstr "Skin de Godot" #: modules/gltf/gltf_spec_gloss.cpp msgid "Diffuse Img" -msgstr "" +msgstr "Imagen Difusa" #: modules/gltf/gltf_spec_gloss.cpp msgid "Diffuse Factor" -msgstr "" +msgstr "Factor Difuso" #: modules/gltf/gltf_spec_gloss.cpp msgid "Gloss Factor" -msgstr "" +msgstr "Factor de Brillo" #: modules/gltf/gltf_spec_gloss.cpp msgid "Specular Factor" @@ -17103,7 +17134,7 @@ msgstr "Texturas" #: modules/gltf/gltf_state.cpp platform/uwp/export/export.cpp msgid "Images" -msgstr "" +msgstr "Imágenes" #: modules/gltf/gltf_state.cpp msgid "Cameras" @@ -17131,7 +17162,7 @@ msgstr "Animaciones" #: modules/gltf/gltf_texture.cpp msgid "Src Image" -msgstr "Imagen de Origen" +msgstr "Origen de la Imagen" #: modules/gridmap/grid_map.cpp msgid "Mesh Library" @@ -17364,7 +17395,7 @@ msgstr "" #: modules/stb_vorbis/audio_stream_ogg_vorbis.cpp #: modules/stb_vorbis/resource_importer_ogg_vorbis.cpp msgid "Loop Offset" -msgstr "Desplazamiento de Ciclo" +msgstr "Offset de Bucle" #: modules/mobile_vr/mobile_vr_interface.cpp msgid "Eye Height" @@ -17406,6 +17437,21 @@ msgstr "Crear Solución" msgid "Auto Update Project" msgstr "Actualización Automática del Proyecto" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Nombre a Mostrar" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Selecciona un directorio" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Selecciona un directorio" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "Fin del reporte de la pila de excepciones" @@ -17495,7 +17541,7 @@ msgstr "" #: modules/opensimplex/noise_texture.cpp msgid "Noise Offset" -msgstr "Desplazamiento de Ruido" +msgstr "Offset de Ruido" #: modules/opensimplex/open_simplex_noise.cpp msgid "Octaves" @@ -17566,8 +17612,8 @@ msgid "" "A node yielded without working memory, please read the docs on how to yield " "properly!" msgstr "" -"¡Un nodo ejecutó un yield sin memoria de trabajo. Prueba leyendo la " -"documentación sobre cómo utilizar yield!" +"¡Un nodo realizo un yield sin memoria de trabajo, por favor, lee la " +"documentación sobre cómo usar yield correctamente!" #: modules/visual_script/visual_script.cpp msgid "" @@ -17617,7 +17663,7 @@ msgstr "Cambiar Nombre del Argumento" #: modules/visual_script/visual_script_editor.cpp msgid "Set Variable Default Value" -msgstr "Establecer Valor por Defecto de la Variable" +msgstr "Fijar Valor Predeterminado de la Variable" #: modules/visual_script/visual_script_editor.cpp msgid "Set Variable Type" @@ -18034,7 +18080,7 @@ msgstr "Ruta del Nodo" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Use Default Args" -msgstr "Usar Argumentos por Defecto" +msgstr "Usar Argumentos Predeterminados" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Validate" @@ -18787,7 +18833,7 @@ msgid "" "\"Target SDK\" %d is higher than the default version %d. This may work, but " "wasn't tested and may be unstable." msgstr "" -"\"SDK de Destino\" %d es superior a la versión por defecto %d. Podría " +"\"SDK de Destino\" %d es superior a la versión predeterminada %d. Podría " "funcionar, pero no se ha probado y puede ser inestable." #: platform/android/export/export_plugin.cpp @@ -19169,6 +19215,11 @@ msgstr "Usar Color de Fondo Personalizado" msgid "Custom BG Color" msgstr "Color de Fondo Personalizado" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Icono de Exportación" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -19994,6 +20045,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "Nombre corto del paquete inválido." @@ -20020,43 +20077,41 @@ msgstr "Color de fondo inválido." #: platform/uwp/export/export.cpp msgid "Invalid Store Logo image dimensions (should be 50x50)." msgstr "" -"Las dimensiones de la imagen para el Store Logo son inválidas (debería ser " -"50x50)." +"Las dimensiones del logo de la tienda son inválidas (debería ser 50x50)." #: platform/uwp/export/export.cpp msgid "Invalid square 44x44 logo image dimensions (should be 44x44)." msgstr "" -"Las dimensiones de la imagen para el logo cuadrado de 44x44 son inválidas " -"(debería ser 44x44)." +"Las dimensiones de la imagen del logo cuadrado 44x44 son inválidas (deben " +"ser 44x44)." #: platform/uwp/export/export.cpp msgid "Invalid square 71x71 logo image dimensions (should be 71x71)." msgstr "" -"Las dimensiones de la imagen para el logo cuadrado de 71x71 son inválidas " -"(debería ser 71x71)." +"Las dimensiones de la imagen del logo cuadrado 71x71 son inválidas ( deben " +"ser 71x71)." #: platform/uwp/export/export.cpp msgid "Invalid square 150x150 logo image dimensions (should be 150x150)." msgstr "" -"Las dimensiones de la imagen para el logo cuadrado de 150x150 son inválidas " -"(debería ser 150x150)." +"Las dimensiones de la imagen del logo cuadrado 150x150 son inválidas ( deben " +"ser 150x150)." #: platform/uwp/export/export.cpp msgid "Invalid square 310x310 logo image dimensions (should be 310x310)." msgstr "" -"Las dimensiones de la imagen para el logo cuadrado de 310x310 son inválidas " -"(debería ser 310x310)." +"Las dimensiones de la imagen del logo cuadrado 310x310 son inválidas ( deben " +"ser 310x310)." #: platform/uwp/export/export.cpp msgid "Invalid wide 310x150 logo image dimensions (should be 310x150)." -msgstr "" -"Las dimensiones de la imagen para el logo ancho de 310x150 son inválidas " -"(debería ser 310x150)." +msgstr "Las dimensiones del logo son inválidas (deben ser 310x150)." #: platform/uwp/export/export.cpp msgid "Invalid splash screen image dimensions (should be 620x300)." msgstr "" -"Las dimensiones de la imagen del splash son inválidas (debería ser 620x300)." +"Las dimensiones de la imagen de la pantalla de splash son inválidas (deben " +"ser 620x300)." #: platform/uwp/export/export.cpp msgid "UWP" @@ -20131,19 +20186,18 @@ msgid "Could not find wine executable at \"%s\"." msgstr "No se pudo encontrar el ejecutable de wine en \"%s\"." #: platform/windows/export/export.cpp -#, fuzzy msgid "" "Could not start rcedit executable. Configure rcedit path in the Editor " "Settings (Export > Windows > Rcedit), or disable \"Application > Modify " "Resources\" in the export preset." msgstr "" -"No se ha podido iniciar el ejecutable rcedit, configura la ruta de rcedit en " -"la configuración del editor (Exportar > Windows > Rcedit)." +"No se ha podido iniciar el ejecutable de rcedit. Configura la ruta de rcedit " +"en la configuración del editor (Exportar > Windows > Rcedit), o desactiva " +"\"Aplicación > Modificar Recursos\" en el preset de exportación." #: platform/windows/export/export.cpp -#, fuzzy msgid "rcedit failed to modify executable: %s." -msgstr "Fallo al abrir el archivo ejecutable \"%s\"." +msgstr "rcedit falló al modificar el ejecutable: %s." #: platform/windows/export/export.cpp msgid "Could not find signtool executable at \"%s\"." @@ -20162,19 +20216,18 @@ msgid "Invalid timestamp server." msgstr "Servidor de marcas de tiempo inválido." #: platform/windows/export/export.cpp -#, fuzzy msgid "" "Could not start signtool executable. Configure signtool path in the Editor " "Settings (Export > Windows > Signtool), or disable \"Codesign\" in the " "export preset." msgstr "" -"No se ha podido iniciar el ejecutable de signtool, configura la ruta de " -"signtool en la configuración del editor (Exportar > Windows > Signtool)." +"No se ha podido iniciar el ejecutable de signtool. Configura la ruta de " +"signtool en la configuración del editor (Exportar > Windows > Signtool), o " +"desactiva \"Codesign\" en el preset de exportación." #: platform/windows/export/export.cpp -#, fuzzy msgid "Signtool failed to sign executable: %s." -msgstr "Fallo al abrir el archivo ejecutable \"%s\"." +msgstr "Signtool no pudo firmar el ejecutable: %s." #: platform/windows/export/export.cpp msgid "Failed to remove temporary file \"%s\"." @@ -20865,12 +20918,12 @@ msgstr "Curva de Velocidad" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp msgid "Offset Random" -msgstr "Desplazamiento Aleatorio" +msgstr "Offset Aleatorio" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp msgid "Offset Curve" -msgstr "Curva de Desplazamiento" +msgstr "Curva de Offset" #: scene/2d/joints_2d.cpp msgid "Node A and Node B must be PhysicsBody2Ds" @@ -20921,7 +20974,7 @@ msgstr "" #: scene/2d/joints_2d.cpp msgid "Initial Offset" -msgstr "Desplazamiento Inicial" +msgstr "Offset Inicial" #: scene/2d/joints_2d.cpp scene/3d/vehicle_body.cpp msgid "Rest Length" @@ -21016,7 +21069,7 @@ msgstr "Curva de Ancho" #: scene/2d/line_2d.cpp scene/resources/default_theme/default_theme.cpp msgid "Default Color" -msgstr "Color por Defecto" +msgstr "Color Predeterminado" #: scene/2d/line_2d.cpp scene/resources/texture.cpp msgid "Fill" @@ -21128,7 +21181,7 @@ msgstr "Velocidad Máxima" msgid "" "The NavigationAgent2D can be used only under a Node2D inheriting parent node." msgstr "" -"El NavigationAgent2D sólo puede utilizarse bajo un nodo padre hijo de Node2D." +"El NavigationAgent2D solo puede usarse con un nodo padre del tipo Node2D." #: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_obstacle.cpp msgid "Estimate Radius" @@ -21194,7 +21247,7 @@ msgstr "Scroll" #: scene/2d/parallax_background.cpp msgid "Base Offset" -msgstr "Desplazamiento Base" +msgstr "Offset Base" #: scene/2d/parallax_background.cpp msgid "Base Scale" @@ -21291,15 +21344,15 @@ msgstr "" #: scene/2d/path_2d.cpp scene/3d/path.cpp msgid "Unit Offset" -msgstr "Desplazamiento de Unidad" +msgstr "Offset de Unidad" #: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp msgid "H Offset" -msgstr "Desplazamiento H" +msgstr "Offset H" #: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp msgid "V Offset" -msgstr "Desplazamiento V" +msgstr "Offset V" #: scene/2d/path_2d.cpp scene/3d/path.cpp msgid "Cubic Interp" @@ -21338,7 +21391,7 @@ msgstr "" #: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp #: scene/resources/world.cpp scene/resources/world_2d.cpp msgid "Default Gravity" -msgstr "Gravedad por Defecto" +msgstr "Gravedad Predeterminada" #: scene/2d/physics_body_2d.cpp msgid "" @@ -21517,7 +21570,7 @@ msgstr "Ruta Remota" #: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp msgid "Use Global Coordinates" -msgstr "Utilizar Coordenadas Globales" +msgstr "Usar Coordenadas Globales" #: scene/2d/skeleton_2d.cpp scene/3d/skeleton.cpp msgid "Rest" @@ -21525,7 +21578,7 @@ msgstr "Reposo" #: scene/2d/skeleton_2d.cpp msgid "Default Length" -msgstr "Longitud por Defecto" +msgstr "Longitud Predeterminada" #: scene/2d/skeleton_2d.cpp msgid "This Bone2D chain should end at a Skeleton2D node." @@ -21583,7 +21636,7 @@ msgstr "Transformación Personalizada" #: scene/2d/tile_map.cpp msgid "Half Offset" -msgstr "Medio Desplazamiento" +msgstr "Medio Offset" #: scene/2d/tile_map.cpp msgid "Tile Origin" @@ -21877,7 +21930,7 @@ msgstr "Propagación" #: scene/3d/baked_lightmap.cpp msgid "Image Path" -msgstr "" +msgstr "Ruta de la Imagen" #: scene/3d/baked_lightmap.cpp msgid "Light Data" @@ -22263,7 +22316,7 @@ msgstr "Altura de la Celda" #: scene/3d/navigation_agent.cpp msgid "Agent Height Offset" -msgstr "" +msgstr "Offset de Altura del Agente" #: scene/3d/navigation_agent.cpp msgid "Ignore Y" @@ -22273,7 +22326,7 @@ msgstr "Ignorar Y" msgid "" "The NavigationAgent can be used only under a Spatial inheriting parent node." msgstr "" -"El NavigationAgent solo puede utilizarse en un nodo padre de tipo Spatial." +"El NavigationAgent solo puede usarse con un nodo padre de tipo Spatial." #: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp msgid "NavMesh" @@ -22557,7 +22610,7 @@ msgstr "Punto de Equilibrio Angular" #: scene/3d/physics_body.cpp msgid "Body Offset" -msgstr "Desplazamiento del Cuerpo" +msgstr "Offset del Cuerpo" #: scene/3d/physics_joint.cpp msgid "Node A and Node B must be PhysicsBodies" @@ -22761,7 +22814,7 @@ msgstr "Sala Vinculada" #: scene/3d/portal.cpp msgid "Use Default Margin" -msgstr "Usar Margen por Defecto" +msgstr "Usar Margen Predeterminado" #: scene/3d/proximity_group.cpp msgid "Group Name" @@ -22789,7 +22842,7 @@ msgstr "Modo de Actualización" #: scene/3d/reflection_probe.cpp msgid "Origin Offset" -msgstr "Desplazamiento de Origen" +msgstr "Offset de Origen" #: scene/3d/reflection_probe.cpp msgid "Box Projection" @@ -22842,7 +22895,7 @@ msgstr "" #: scene/3d/room.cpp msgid "Use Default Simplify" -msgstr "" +msgstr "Usar Simplificación Predeterminada" #: scene/3d/room.cpp scene/3d/room_manager.cpp msgid "Room Simplify" @@ -22945,7 +22998,7 @@ msgstr "" #: scene/3d/room_manager.cpp msgid "Default Portal Margin" -msgstr "Margen del Portal por Defecto" +msgstr "Margen del Portal Predeterminado" #: scene/3d/room_manager.cpp msgid "Roaming Expansion Margin" @@ -23351,7 +23404,7 @@ msgstr "Opciones de Reproducción" #: scene/animation/animation_player.cpp msgid "Default Blend Time" -msgstr "Tiempo de Mezcla por Defecto" +msgstr "Tiempo de Mezcla Predeterminado" #: scene/animation/animation_player.cpp msgid "Method Call Mode" @@ -23618,7 +23671,7 @@ msgstr "Tamaño Mínimo" #: scene/gui/control.cpp msgid "Pivot Offset" -msgstr "Pivote de Desplazamiento" +msgstr "Pivote de Offset" #: scene/gui/control.cpp msgid "Clip Content" @@ -23666,7 +23719,7 @@ msgstr "" #: scene/gui/control.cpp msgid "Default Cursor Shape" -msgstr "Forma del Cursor por Defecto" +msgstr "Forma del Cursor Predeterminado" #: scene/gui/control.cpp msgid "Pass On Modal Close Click" @@ -23718,7 +23771,7 @@ msgstr "Desconexión Correcta" #: scene/gui/graph_edit.cpp msgid "Scroll Offset" -msgstr "Desplazamiento de Scroll" +msgstr "Offset de Scroll" #: scene/gui/graph_edit.cpp msgid "Snap Distance" @@ -24035,7 +24088,6 @@ msgid "Elapsed Time" msgstr "Tiempo Transcurrido" #: scene/gui/rich_text_effect.cpp -#, fuzzy msgid "Env" msgstr "Env" @@ -24107,7 +24159,7 @@ msgstr "Vertical Activada" #: scene/gui/scroll_container.cpp msgid "Default Scroll Deadzone" -msgstr "" +msgstr "Zona Muerta Predeterminada del Scroll" #: scene/gui/slider.cpp msgid "Scrollable" @@ -24131,7 +24183,7 @@ msgstr "Sufijo" #: scene/gui/split_container.cpp msgid "Split Offset" -msgstr "Desplazamiento de División" +msgstr "Offset de División" #: scene/gui/split_container.cpp scene/gui/tree.cpp msgid "Collapsed" @@ -24260,7 +24312,7 @@ msgstr "Progreso" #: scene/gui/texture_progress.cpp msgid "Progress Offset" -msgstr "" +msgstr "Offset de Progreso" #: scene/gui/texture_progress.cpp msgid "Fill Mode" @@ -24284,7 +24336,7 @@ msgstr "Completar Grados" #: scene/gui/texture_progress.cpp scene/resources/primitive_meshes.cpp msgid "Center Offset" -msgstr "Desplazamiento Central" +msgstr "Offset Central" #: scene/gui/texture_progress.cpp msgid "Nine Patch Stretch" @@ -24515,15 +24567,16 @@ msgstr "" #: scene/main/scene_tree.cpp msgid "Default Environment" -msgstr "Entorno por Defecto" +msgstr "Entorno Predeterminado" #: scene/main/scene_tree.cpp msgid "" "Default Environment as specified in Project Settings (Rendering -> " "Environment -> Default Environment) could not be loaded." msgstr "" -"El Entorno por Defecto como se especifica en Configuración del Proyecto " -"(Rendering -> Environment -> Default Environment) no se ha podido cargar." +"No se ha podido cargar el entorno predeterminado especificado en la " +"configuración del proyecto (Renderizado -> Entorno -> Entorno " +"Predeterminado)." #: scene/main/scene_tree.cpp msgid "Enable Object Picking" @@ -24536,11 +24589,11 @@ msgid "" "Consider using a script's process loop instead of relying on a Timer for " "very low wait times." msgstr "" -"Los tiempos de espera del temporizador muy bajos (< 0,05 segundos) pueden " -"comportarse de manera significativamente diferente dependiendo de la " -"velocidad de fotogramas renderizados o de la física.\n" -"Considera la posibilidad de utilizar un bucle en process dentro del script " -"en lugar de depender de un Timer para tiempos de espera muy bajos." +"Los tiempos de espera del temporizador son muy bajos (< 0.05 segundos) y se " +"puede comportar de manera muy diferente dependiendo de la tasa de fotogramas " +"renderizados o de la física.\n" +"Considera la posibilidad de utilizar un bucle de procesos en un script en " +"lugar de depender de un Timer para tiempos de espera muy bajos." #: scene/main/timer.cpp msgid "Autostart" @@ -24605,7 +24658,6 @@ msgid "FXAA" msgstr "FXAA" #: scene/main/viewport.cpp -#, fuzzy msgid "Debanding" msgstr "Debanding" @@ -24686,9 +24738,8 @@ msgid "Tooltip Delay (sec)" msgstr "Retraso del Tooltip (sec)" #: scene/register_scene_types.cpp -#, fuzzy msgid "Swap OK Cancel" -msgstr "Intercambio OK Cancelar" +msgstr "Cancelar" #: scene/register_scene_types.cpp msgid "Layer Names" @@ -24832,7 +24883,6 @@ msgid "Check V Adjust" msgstr "" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "On Disabled" msgstr "Desactivado" @@ -24854,11 +24904,11 @@ msgstr "Modulación del Contorno de la Fuente" #: scene/resources/default_theme/default_theme.cpp msgid "Shadow Offset X" -msgstr "Desplazamiento de la Sombra en X" +msgstr "Offset de Sombra en X" #: scene/resources/default_theme/default_theme.cpp msgid "Shadow Offset Y" -msgstr "Desplazamiento de la Sombra en Y" +msgstr "Offset de Sombra en Y" #: scene/resources/default_theme/default_theme.cpp msgid "Shadow As Outline" @@ -24923,43 +24973,36 @@ msgid "Completion Lines" msgstr "Finalización de Líneas" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Completion Max Width" -msgstr "Completar" +msgstr "Completar Ancho Máximo" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Completion Scroll Width" -msgstr "Importar Seleccionado" +msgstr "Completar Ancho de Scroll" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Scroll Focus" -msgstr "Llenar superficie" +msgstr "Enfoque de Scroll" #: scene/resources/default_theme/default_theme.cpp msgid "Grabber" msgstr "" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Grabber Highlight" -msgstr "Resaltador de Sintaxis" +msgstr "Agarre Resaltado" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Grabber Pressed" -msgstr "Preset" +msgstr "Agarre Presionado" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Increment" -msgstr "Instrumento" +msgstr "Incremento" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Increment Highlight" -msgstr "Resaltador de Sintaxis" +msgstr "Incremento Resaltado" #: scene/resources/default_theme/default_theme.cpp msgid "Increment Pressed" @@ -24970,9 +25013,8 @@ msgid "Decrement" msgstr "" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Decrement Highlight" -msgstr "Resaltador de Sintaxis" +msgstr "Decremento Resaltado" #: scene/resources/default_theme/default_theme.cpp msgid "Decrement Pressed" @@ -24991,9 +25033,8 @@ msgid "Grabber Area Highlight" msgstr "" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Grabber Disabled" -msgstr "Desactivar Elemento" +msgstr "Agarre Desactivado" #: scene/resources/default_theme/default_theme.cpp msgid "Tick" @@ -25004,74 +25045,60 @@ msgid "Updown" msgstr "" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Scaleborder Size" -msgstr "Tamaño del Borde" +msgstr "Tamaño del Borde de la Escala" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Title Font" -msgstr "Código Fuente" +msgstr "Fuente del Título" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Title Color" -msgstr "Color de Texto" +msgstr "Color del Título" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Title Height" -msgstr "Prueba" +msgstr "Altura del Título" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Close Highlight" -msgstr "Resaltado" +msgstr "Cierre Resaltado" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Close H Offset" -msgstr "Desplazamiento de Ruido" +msgstr "Cerrar Offset H" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Close V Offset" -msgstr "Desplazamiento de Ruido" +msgstr "Cerrar Offset V" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Parent Folder" -msgstr "Crear Carpeta" +msgstr "Carpeta Padre" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Toggle Hidden" -msgstr "Act./Desact. Archivos Ocultos" +msgstr "Oculto" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Panel Disabled" -msgstr "Clip Deshabilitado" +msgstr "Panel Desactivado" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Labeled Separator Left" -msgstr "Separador con nombre" +msgstr "Separador con Etiqueta a la Izquierda" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Labeled Separator Right" -msgstr "Separador con nombre" +msgstr "Separador con Etiqueta a la Derecha" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Font Separator" -msgstr "Separador de Color de Fuentes" +msgstr "Separación de Fuente" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Font Color Accel" -msgstr "Color Hueso 1" +msgstr "Color de Fuente Accel" #: scene/resources/default_theme/default_theme.cpp msgid "Font Color Separator" @@ -25082,230 +25109,188 @@ msgid "V Separation" msgstr "Separación en V" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Selected Frame" -msgstr "Seleccionar Fotogramas" +msgstr "Cuadro Seleccionado" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Default Frame" -msgstr "Z Lejana por Defecto" +msgstr "Cuadro Predeterminado" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Default Focus" -msgstr "Por defecto" +msgstr "Enfoque Predeterminado" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Comment Focus" -msgstr "Confirmar" +msgstr "Comentario Enfocado" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Breakpoint" -msgstr "Puntos de interrupción" +msgstr "Punto de Ruptura" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Resizer" -msgstr "Redimensionable" +msgstr "Reajuste" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Close Color" -msgstr "Colores" +msgstr "Cerrar Color" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Resizer Color" -msgstr "Colores" +msgstr "Cambiar Color" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Title Offset" -msgstr "Desplazamiento de Byte" +msgstr "Offset del Título" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Close Offset" -msgstr "Desplazamiento de Ruido" +msgstr "Offset de Cierre" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Port Offset" -msgstr "Pivote de Desplazamiento" +msgstr "Offset del Puerto" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "BG Focus" -msgstr "Foco en Ruta" +msgstr "Enfocar BG" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Selected Focus" -msgstr "Seleccionar" +msgstr "Enfoque Seleccionado" #: scene/resources/default_theme/default_theme.cpp msgid "Cursor Unfocused" msgstr "" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Button Pressed" -msgstr "Preset" +msgstr "Botón Presionado" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Title Button Normal" -msgstr "Botón de Conmutación" +msgstr "Botón del Título Normal" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Title Button Pressed" -msgstr "Botón de Conmutación" +msgstr "Botón del Título Presionado" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Title Button Hover" -msgstr "Botón de Conmutación" +msgstr "Botón de Título Hover" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Custom Button" -msgstr "CustomNode" +msgstr "Botón Personalizado" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Custom Button Pressed" -msgstr "Opciones de Bus" +msgstr "Botón Personalizado Presionado" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Custom Button Hover" -msgstr "CustomNode" +msgstr "Botón Personalizado Hover" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Select Arrow" -msgstr "Seleccionar Todo" +msgstr "Seleccionar Flecha" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Arrow Collapsed" -msgstr "Colapsar Todo" +msgstr "Flecha Colapsada" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Title Button Font" -msgstr "Botón de Conmutación" +msgstr "Fuente del Título del Botón" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Title Button Color" -msgstr "Color de Selección" +msgstr "Color del Título del Botón" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Guide Color" -msgstr "Color de Guías" +msgstr "Guía de Colores" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Drop Position Color" -msgstr "Posición del Dock" +msgstr "Posición del Gotero de Color" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Relationship Line Color" -msgstr "Opacidad De Línea De Relación" +msgstr "Color de la Línea de Relación" #: scene/resources/default_theme/default_theme.cpp msgid "Custom Button Font Highlight" msgstr "" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Item Margin" -msgstr "Asignar Margen" +msgstr "Margen del Ítem" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Button Margin" -msgstr "Máscara de Botones" +msgstr "Margen del Botón" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Draw Relationship Lines" -msgstr "Opacidad De Línea De Relación" +msgstr "Dibujar Líneas de Relación" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Draw Guides" -msgstr "Mostrar Guías" +msgstr "Guías de Dibujo" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Scroll Border" -msgstr "Desplazarse Verticalmente" +msgstr "Borde del Scroll" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Scroll Speed" -msgstr "Velocidad Desplazamiento V" +msgstr "Velocidad del Scroll" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Icon Margin" -msgstr "Asignar Margen" +msgstr "Margen del Icono" #: scene/resources/default_theme/default_theme.cpp msgid "Line Separation" msgstr "Separación de Líneas" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Tab FG" -msgstr "Tab 1" +msgstr "Pestaña FG" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Tab BG" -msgstr "Tab 1" +msgstr "Pestaña BG" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Tab Disabled" -msgstr "Desactivar Elemento" +msgstr "Pestaña Desactivada" #: scene/resources/default_theme/default_theme.cpp msgid "Menu" msgstr "" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Menu Highlight" -msgstr "Resaltado" +msgstr "Menú Resaltado" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Font Color FG" -msgstr "Color Hueso 1" +msgstr "Color de Fuente FG" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Font Color BG" -msgstr "Color Hueso 1" +msgstr "Color de Fuente BG" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Side Margin" -msgstr "Asignar Margen" +msgstr "Margen Lateral" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Top Margin" -msgstr "Asignar Margen" +msgstr "Margen Superior" #: scene/resources/default_theme/default_theme.cpp msgid "Label V Align FG" @@ -25316,86 +25301,72 @@ msgid "Label V Align BG" msgstr "" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Large" -msgstr "Objetivo" +msgstr "Largo" #: scene/resources/default_theme/default_theme.cpp msgid "Folder" msgstr "Carpeta" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Folder Icon Modulate" -msgstr "Forzar Modulación en Blanco" +msgstr "Modular Icono de Carpeta" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "File Icon Modulate" -msgstr "Modo de Icono" +msgstr "Modular Icono de Archivo" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Files Disabled" -msgstr "Clip Deshabilitado" +msgstr "Archivos Desactivados" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "SV Width" -msgstr "Ancho Izquierda" +msgstr "Ancho SV" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "SV Height" -msgstr "Luz" +msgstr "Alto SV" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "H Width" -msgstr "Ancho Izquierda" +msgstr "Ancho H" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Label Width" -msgstr "Ancho Izquierda" +msgstr "Ancho de Etiqueta" #: scene/resources/default_theme/default_theme.cpp msgid "Screen Picker" msgstr "Selector de Pantalla" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Add Preset" -msgstr "Cargar Ajuste Predeterminado" +msgstr "Añadir Preset" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Color Hue" -msgstr "Textura de Color" +msgstr "Tono de Color" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Color Sample" -msgstr "Colores" +msgstr "Muestra de Color" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Preset BG" -msgstr "Preajuste" +msgstr "Preset BG" #: scene/resources/default_theme/default_theme.cpp msgid "Overbright Indicator" msgstr "" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Preset FG" -msgstr "Preajuste" +msgstr "Preset FG" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Preset BG Icon" -msgstr "Preajuste" +msgstr "Preset Icono BG" #: scene/resources/default_theme/default_theme.cpp msgid "Normal Font" @@ -25414,9 +25385,8 @@ msgid "Bold Italics Font" msgstr "Fuente Negrita y Cursiva" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Mono Font" -msgstr "Fuente Principal" +msgstr "Fuente Mono" #: scene/resources/default_theme/default_theme.cpp msgid "Table H Separation" @@ -25443,9 +25413,8 @@ msgid "Margin Bottom" msgstr "Margen Inferior" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Autohide" -msgstr "Corte Automático" +msgstr "Ocultar Automáticamente" #: scene/resources/default_theme/default_theme.cpp msgid "Minus" @@ -25456,76 +25425,64 @@ msgid "More" msgstr "" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Grid Minor" -msgstr "Color de Cuadrícula" +msgstr "Grid Menor" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Grid Major" -msgstr "Mapeo de Cuadrícula" +msgstr "Grid Mayor" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Selection Fill" -msgstr "Sólo selección" +msgstr "Relleno de Selección" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Selection Stroke" -msgstr "Seleccionar Propiedad" +msgstr "Selección de Stroke" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Activity" -msgstr "Acción" +msgstr "Actividad" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Bezier Len Pos" -msgstr "Mover Puntos Bezier" +msgstr "Bezier Len Pos" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Bezier Len Neg" -msgstr "Bezier" +msgstr "Bezier Len Neg" #: scene/resources/default_theme/default_theme.cpp msgid "Port Grab Distance Horizontal" msgstr "" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Port Grab Distance Vertical" -msgstr "WaitInstanceSignal" +msgstr "Distancia Vertical del Puerto de Agarre" #: scene/resources/dynamic_font.cpp msgid "Hinting" msgstr "" #: scene/resources/dynamic_font.cpp -#, fuzzy msgid "Override Oversampling" -msgstr "Elemento de Anulación" +msgstr "Anular Sobremuestreo" #: scene/resources/dynamic_font.cpp -#, fuzzy msgid "Font Path" -msgstr "Foco en Ruta" +msgstr "Ruta de la Fuente" #: scene/resources/dynamic_font.cpp msgid "Outline Size" msgstr "Tamaño del Contorno" #: scene/resources/dynamic_font.cpp -#, fuzzy msgid "Outline Color" -msgstr "Función" +msgstr "Color del Contorno" #: scene/resources/dynamic_font.cpp -#, fuzzy msgid "Use Mipmaps" -msgstr "Señales" +msgstr "Usar Mipmaps" #: scene/resources/dynamic_font.cpp msgid "Extra Spacing" @@ -25536,9 +25493,8 @@ msgid "Char" msgstr "Char" #: scene/resources/dynamic_font.cpp -#, fuzzy msgid "Font Data" -msgstr "Con Datos" +msgstr "Datos de la Fuente" #: scene/resources/environment.cpp msgid "Background" @@ -25549,14 +25505,12 @@ msgid "Sky" msgstr "" #: scene/resources/environment.cpp -#, fuzzy msgid "Sky Custom FOV" -msgstr "CustomNode" +msgstr "FOV Personalizado del Cielo" #: scene/resources/environment.cpp -#, fuzzy msgid "Sky Orientation" -msgstr "Documentación en línea" +msgstr "Orientación del Cielo" #: scene/resources/environment.cpp msgid "Sky Rotation" @@ -25575,14 +25529,12 @@ msgid "Camera Feed ID" msgstr "" #: scene/resources/environment.cpp -#, fuzzy msgid "Ambient Light" -msgstr "Indentar a la Derecha" +msgstr "Luz Ambiental" #: scene/resources/environment.cpp -#, fuzzy msgid "Sky Contribution" -msgstr "Condición" +msgstr "Contribución del Cielo" #: scene/resources/environment.cpp msgid "Fog" @@ -25597,64 +25549,52 @@ msgid "Sun Amount" msgstr "Cantidad de Sol" #: scene/resources/environment.cpp -#, fuzzy msgid "Depth Enabled" -msgstr "Profundidad" +msgstr "Profundidad Activada" #: scene/resources/environment.cpp -#, fuzzy msgid "Depth Begin" -msgstr "Profundidad" +msgstr "Inicio de la Profundidad" #: scene/resources/environment.cpp -#, fuzzy msgid "Depth End" -msgstr "Profundidad" +msgstr "Fin de la Profundidad" #: scene/resources/environment.cpp -#, fuzzy msgid "Depth Curve" -msgstr "Partir Curva" +msgstr "Curva de Profundidad" #: scene/resources/environment.cpp -#, fuzzy msgid "Transmit Enabled" -msgstr "Filtrar señales" +msgstr "Transmisión Activada" #: scene/resources/environment.cpp -#, fuzzy msgid "Transmit Curve" -msgstr "Partir Curva" +msgstr "Curva de Transmisión" #: scene/resources/environment.cpp -#, fuzzy msgid "Height Enabled" -msgstr "Filtrar señales" +msgstr "Altura Activada" #: scene/resources/environment.cpp -#, fuzzy msgid "Height Min" -msgstr "Luz" +msgstr "Altura Mínima" #: scene/resources/environment.cpp -#, fuzzy msgid "Height Max" -msgstr "Luz" +msgstr "Altura Máxima" #: scene/resources/environment.cpp -#, fuzzy msgid "Height Curve" -msgstr "Partir Curva" +msgstr "Curva de Altura" #: scene/resources/environment.cpp -#, fuzzy msgid "Tonemap" -msgstr "Remapeos" +msgstr "Tonemap" #: scene/resources/environment.cpp -#, fuzzy msgid "Exposure" -msgstr "Exportar" +msgstr "Exposición" #: scene/resources/environment.cpp msgid "White" @@ -25673,14 +25613,12 @@ msgid "Max Luma" msgstr "" #: scene/resources/environment.cpp -#, fuzzy msgid "SS Reflections" -msgstr "Escalar Selección" +msgstr "Reflexiones SS" #: scene/resources/environment.cpp -#, fuzzy msgid "Max Steps" -msgstr "Paso" +msgstr "Pasos Máximos" #: scene/resources/environment.cpp msgid "Fade In" @@ -25691,9 +25629,8 @@ msgid "Fade Out" msgstr "Fundido de Salida" #: scene/resources/environment.cpp -#, fuzzy msgid "Depth Tolerance" -msgstr "Profundidad" +msgstr "Tolerancia de Profundidad" #: scene/resources/environment.cpp scene/resources/material.cpp msgid "Roughness" @@ -25712,14 +25649,12 @@ msgid "Intensity 2" msgstr "" #: scene/resources/environment.cpp scene/resources/material.cpp -#, fuzzy msgid "Light Affect" -msgstr "Ancho Derecha" +msgstr "Influencia de la Luz" #: scene/resources/environment.cpp -#, fuzzy msgid "AO Channel Affect" -msgstr "Depuración del Canal UV" +msgstr "Influencia del Canal AO" #: scene/resources/environment.cpp msgid "Blur" @@ -25750,42 +25685,40 @@ msgid "Glow" msgstr "" #: scene/resources/environment.cpp -#, fuzzy msgid "Levels" -msgstr "Desarrolladores" +msgstr "Niveles" #: scene/resources/environment.cpp #: servers/audio/effects/audio_effect_chorus.cpp msgid "1" -msgstr "" +msgstr "1" #: scene/resources/environment.cpp #: servers/audio/effects/audio_effect_chorus.cpp msgid "2" -msgstr "" +msgstr "2" #: scene/resources/environment.cpp #: servers/audio/effects/audio_effect_chorus.cpp -#, fuzzy msgid "3" -msgstr "3D" +msgstr "3" #: scene/resources/environment.cpp #: servers/audio/effects/audio_effect_chorus.cpp msgid "4" -msgstr "" +msgstr "4" #: scene/resources/environment.cpp msgid "5" -msgstr "" +msgstr "5" #: scene/resources/environment.cpp msgid "6" -msgstr "" +msgstr "6" #: scene/resources/environment.cpp msgid "7" -msgstr "" +msgstr "7" #: scene/resources/environment.cpp msgid "Bloom" @@ -25800,9 +25733,8 @@ msgid "HDR Luminance Cap" msgstr "" #: scene/resources/environment.cpp -#, fuzzy msgid "HDR Scale" -msgstr "Escala" +msgstr "Escala HDR" #: scene/resources/environment.cpp msgid "Bicubic Upscale" @@ -25813,9 +25745,8 @@ msgid "Adjustments" msgstr "" #: scene/resources/environment.cpp -#, fuzzy msgid "Brightness" -msgstr "Luz" +msgstr "Luminosidad" #: scene/resources/environment.cpp msgid "Saturation" @@ -25830,60 +25761,52 @@ msgid "Ascent" msgstr "Aumento" #: scene/resources/font.cpp -#, fuzzy msgid "Distance Field" -msgstr "Modo Sin Distracciones" +msgstr "Campo de Distancia" #: scene/resources/gradient.cpp -#, fuzzy msgid "Raw Data" -msgstr "Profundidad" +msgstr "Datos en Crudo" #: scene/resources/gradient.cpp msgid "Offsets" -msgstr "Desplazamientos" +msgstr "Offsets" #: scene/resources/height_map_shape.cpp msgid "Map Width" msgstr "" #: scene/resources/height_map_shape.cpp -#, fuzzy msgid "Map Depth" -msgstr "Profundidad" +msgstr "Mapa de Profundidad" #: scene/resources/height_map_shape.cpp -#, fuzzy msgid "Map Data" -msgstr "Profundidad" +msgstr "Datos del Mapa" #: scene/resources/line_shape_2d.cpp msgid "D" msgstr "" #: scene/resources/material.cpp -#, fuzzy msgid "Next Pass" -msgstr "Siguiente Plano" +msgstr "Siguiente Paso" #: scene/resources/material.cpp msgid "Use Shadow To Opacity" msgstr "" #: scene/resources/material.cpp -#, fuzzy msgid "Unshaded" -msgstr "Mostrar Sin Sombreado" +msgstr "Sin Sombreado" #: scene/resources/material.cpp -#, fuzzy msgid "Vertex Lighting" -msgstr "Iluminación directa" +msgstr "Iluminación de Vértices" #: scene/resources/material.cpp -#, fuzzy msgid "Use Point Size" -msgstr "Vista Frontal" +msgstr "Usar Tamaño del Punto" #: scene/resources/material.cpp msgid "World Triplanar" @@ -25898,23 +25821,20 @@ msgid "Do Not Receive Shadows" msgstr "" #: scene/resources/material.cpp -#, fuzzy msgid "Disable Ambient Light" -msgstr "Indentar a la Derecha" +msgstr "Desactivar Luz Ambiental" #: scene/resources/material.cpp -#, fuzzy msgid "Ensure Correct Normals" -msgstr "Transformar Normales" +msgstr "Asegurar Normales Correctas" #: scene/resources/material.cpp msgid "Albedo Tex MSDF" msgstr "" #: scene/resources/material.cpp -#, fuzzy msgid "Vertex Color" -msgstr "Vértice" +msgstr "Color del Vértice" #: scene/resources/material.cpp msgid "Use As Albedo" @@ -25929,39 +25849,32 @@ msgid "Parameters" msgstr "Parámetros" #: scene/resources/material.cpp -#, fuzzy msgid "Diffuse Mode" -msgstr "Modo desplazamiento lateral" +msgstr "Modo Difuso" #: scene/resources/material.cpp -#, fuzzy msgid "Specular Mode" -msgstr "Modo de Regla" +msgstr "Modo Especular" #: scene/resources/material.cpp -#, fuzzy msgid "Depth Draw Mode" -msgstr "Modo de Interpolación" +msgstr "Modo de Dibujo de Profundidad" #: scene/resources/material.cpp -#, fuzzy msgid "Line Width" -msgstr "Ancho Izquierda" +msgstr "Ancho de Línea" #: scene/resources/material.cpp -#, fuzzy msgid "Point Size" -msgstr "Vista Frontal" +msgstr "Tamaño de Punto" #: scene/resources/material.cpp -#, fuzzy msgid "Billboard Mode" -msgstr "Modo de Regla" +msgstr "Modo Billboard" #: scene/resources/material.cpp -#, fuzzy msgid "Billboard Keep Scale" -msgstr "Modo de Regla" +msgstr "Mantener Escala del Billboard" #: scene/resources/material.cpp msgid "Grow" @@ -25976,19 +25889,16 @@ msgid "Use Alpha Scissor" msgstr "" #: scene/resources/material.cpp -#, fuzzy msgid "Particles Anim" -msgstr "Partículas" +msgstr "Animación de Partículas" #: scene/resources/material.cpp -#, fuzzy msgid "H Frames" -msgstr "Fotograma %" +msgstr "Cuadros H" #: scene/resources/material.cpp -#, fuzzy msgid "V Frames" -msgstr "Fotograma %" +msgstr "Cuadros V" #: scene/resources/material.cpp msgid "Albedo" @@ -25999,14 +25909,12 @@ msgid "Metallic" msgstr "" #: scene/resources/material.cpp -#, fuzzy msgid "Texture Channel" -msgstr "Región de Textura" +msgstr "Canal de Textura" #: scene/resources/material.cpp -#, fuzzy msgid "Emission" -msgstr "Máscara de Emisión" +msgstr "Emisión" #: scene/resources/material.cpp msgid "On UV2" @@ -26021,9 +25929,8 @@ msgid "Rim" msgstr "" #: scene/resources/material.cpp -#, fuzzy msgid "Clearcoat" -msgstr "Limpiar" +msgstr "Transparencia" #: scene/resources/material.cpp msgid "Gloss" @@ -26038,32 +25945,28 @@ msgid "Flowmap" msgstr "" #: scene/resources/material.cpp -#, fuzzy msgid "Ambient Occlusion" -msgstr "Oclusión" +msgstr "Oclusión Ambiental" #: scene/resources/material.cpp msgid "Deep Parallax" msgstr "" #: scene/resources/material.cpp -#, fuzzy msgid "Min Layers" -msgstr "Capa" +msgstr "Capas Mínimas" #: scene/resources/material.cpp -#, fuzzy msgid "Max Layers" -msgstr "Capa" +msgstr "Capas Máximas" #: scene/resources/material.cpp msgid "Flip Tangent" msgstr "" #: scene/resources/material.cpp -#, fuzzy msgid "Flip Binormal" -msgstr "Voltear Portal" +msgstr "Voltear Binormal" #: scene/resources/material.cpp msgid "Subsurf Scatter" @@ -26082,14 +25985,12 @@ msgid "Detail" msgstr "" #: scene/resources/material.cpp -#, fuzzy msgid "UV Layer" -msgstr "Capa" +msgstr "Capa UV" #: scene/resources/material.cpp -#, fuzzy msgid "UV1" -msgstr "UV" +msgstr "UV1" #: scene/resources/material.cpp msgid "Triplanar" @@ -26100,42 +26001,36 @@ msgid "Triplanar Sharpness" msgstr "" #: scene/resources/material.cpp -#, fuzzy msgid "UV2" -msgstr "UV" +msgstr "UV2" #: scene/resources/material.cpp -#, fuzzy msgid "Proximity Fade" -msgstr "Modo de Prioridad" +msgstr "Desvanecimiento de Proximidad" #: scene/resources/material.cpp msgid "Distance Fade" msgstr "" #: scene/resources/material.cpp -#, fuzzy msgid "Async Mode" -msgstr "Modo desplazamiento lateral" +msgstr "Modo Asíncrono" #: scene/resources/mesh.cpp -#, fuzzy msgid "Lightmap Size Hint" -msgstr "Calcular Lightmaps" +msgstr "Sugerencia de Tamaño del Lightmap" #: scene/resources/mesh.cpp scene/resources/primitive_meshes.cpp msgid "Custom AABB" msgstr "" #: scene/resources/mesh_library.cpp -#, fuzzy msgid "Mesh Transform" -msgstr "Transformar" +msgstr "Transformación de Mesh" #: scene/resources/mesh_library.cpp -#, fuzzy msgid "NavMesh Transform" -msgstr "Reestablecer Transformación" +msgstr "Transformación de NavMesh" #: scene/resources/multimesh.cpp msgid "Color Format" @@ -26150,9 +26045,8 @@ msgid "Custom Data Format" msgstr "" #: scene/resources/multimesh.cpp -#, fuzzy msgid "Instance Count" -msgstr "Instanciar" +msgstr "Conteo de Instancias" #: scene/resources/multimesh.cpp msgid "Visible Instance Count" @@ -26163,9 +26057,8 @@ msgid "Sampling" msgstr "Muestreo" #: scene/resources/navigation_mesh.cpp -#, fuzzy msgid "Partition Type" -msgstr "Establecer tipo de base de variación" +msgstr "Tipo de Partición" #: scene/resources/navigation_mesh.cpp msgid "Parsed Geometry Type" @@ -26176,18 +26069,16 @@ msgid "Source Geometry Mode" msgstr "" #: scene/resources/navigation_mesh.cpp -#, fuzzy msgid "Source Group Name" -msgstr "Fuente" +msgstr "Nombre del Grupo de Origen" #: scene/resources/navigation_mesh.cpp msgid "Cells" msgstr "" #: scene/resources/navigation_mesh.cpp -#, fuzzy msgid "Agents" -msgstr "Segmentos" +msgstr "Agentes" #: scene/resources/navigation_mesh.cpp msgid "Max Climb" @@ -26198,14 +26089,12 @@ msgid "Max Slope" msgstr "" #: scene/resources/navigation_mesh.cpp -#, fuzzy msgid "Regions" -msgstr "Región" +msgstr "Regiones" #: scene/resources/navigation_mesh.cpp -#, fuzzy msgid "Merge Size" -msgstr "Unir desde escena" +msgstr "Tamaño de Unión" #: scene/resources/navigation_mesh.cpp msgid "Edges" @@ -26220,9 +26109,8 @@ msgid "Verts Per Poly" msgstr "" #: scene/resources/navigation_mesh.cpp -#, fuzzy msgid "Details" -msgstr "Mostrar Por Defecto" +msgstr "Detalles" #: scene/resources/navigation_mesh.cpp msgid "Sample Distance" @@ -26245,14 +26133,12 @@ msgid "Walkable Low Height Spans" msgstr "" #: scene/resources/navigation_mesh.cpp -#, fuzzy msgid "Baking AABB" -msgstr "Generando AABB" +msgstr "Bakear AABB" #: scene/resources/navigation_mesh.cpp -#, fuzzy msgid "Baking AABB Offset" -msgstr "Desplazamiento Base" +msgstr "Bakear Offset AABB" #: scene/resources/occluder_shape.cpp msgid "Spheres" @@ -26263,14 +26149,12 @@ msgid "OccluderShapeSphere Set Spheres" msgstr "Establecer Esferas OccluderShapeSphere" #: scene/resources/occluder_shape_polygon.cpp -#, fuzzy msgid "Polygon Points" -msgstr "Polígonos" +msgstr "Puntos de Polígonos" #: scene/resources/occluder_shape_polygon.cpp -#, fuzzy msgid "Hole Points" -msgstr "Mover Puntos" +msgstr "Puntos de Rotura" #: scene/resources/packed_scene.cpp msgid "Bundled" @@ -26281,9 +26165,8 @@ msgid "Trail" msgstr "" #: scene/resources/particles_material.cpp -#, fuzzy msgid "Divisor" -msgstr "Dividir %s" +msgstr "Divisor" #: scene/resources/particles_material.cpp msgid "Size Modifier" @@ -26306,9 +26189,8 @@ msgid "Color Texture" msgstr "Textura de Color" #: scene/resources/particles_material.cpp -#, fuzzy msgid "Point Count" -msgstr "Añadir Puerto de Entrada" +msgstr "Conteo de Puntos" #: scene/resources/particles_material.cpp msgid "Scale Random" @@ -26367,9 +26249,8 @@ msgid "Is Hemisphere" msgstr "" #: scene/resources/primitive_meshes.cpp -#, fuzzy msgid "Curve Step" -msgstr "Partir Curva" +msgstr "Paso de Curva" #: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp msgid "Slips On Slope" @@ -26384,19 +26265,16 @@ msgid "Custom Solver Bias" msgstr "" #: scene/resources/skin.cpp -#, fuzzy msgid "Bind Count" -msgstr "Añadir Puerto de Entrada" +msgstr "Conteo de Vinculaciones" #: scene/resources/skin.cpp -#, fuzzy msgid "Bind" msgstr "Vinculación" #: scene/resources/skin.cpp -#, fuzzy msgid "Bone" -msgstr "Huesos" +msgstr "Hueso" #: scene/resources/sky.cpp msgid "Radiance Size" @@ -26407,9 +26285,8 @@ msgid "Panorama" msgstr "" #: scene/resources/sky.cpp -#, fuzzy msgid "Top Color" -msgstr "Siguiente Plano" +msgstr "Color Superior" #: scene/resources/sky.cpp msgid "Horizon Color" @@ -26420,19 +26297,16 @@ msgid "Ground" msgstr "Suelo" #: scene/resources/sky.cpp -#, fuzzy msgid "Bottom Color" -msgstr "Marcadores" +msgstr "Color Inferior" #: scene/resources/sky.cpp -#, fuzzy msgid "Sun" -msgstr "Ejecutar" +msgstr "Sol" #: scene/resources/sky.cpp -#, fuzzy msgid "Latitude" -msgstr "Sustituir" +msgstr "Latitud" #: scene/resources/sky.cpp msgid "Longitude" @@ -26447,23 +26321,20 @@ msgid "Angle Max" msgstr "" #: scene/resources/style_box.cpp -#, fuzzy msgid "Content Margin" -msgstr "Asignar Margen" +msgstr "Margen de Contenido" #: scene/resources/style_box.cpp -#, fuzzy msgid "Expand Margin" -msgstr "Expandir Todo" +msgstr "Expandir Margen" #: scene/resources/style_box.cpp msgid "Skew" msgstr "" #: scene/resources/style_box.cpp -#, fuzzy msgid "Corner Radius" -msgstr "Cambiar Radio Interno de Torus" +msgstr "Radio de Esquina" #: scene/resources/style_box.cpp msgid "Corner Detail" @@ -26482,121 +26353,100 @@ msgid "Grow End" msgstr "" #: scene/resources/texture.cpp -#, fuzzy msgid "Load Path" -msgstr "Cargar Ajuste Predeterminado" +msgstr "Ruta de Carga" #: scene/resources/texture.cpp -#, fuzzy msgid "Base Texture" -msgstr "Eliminar Textura" +msgstr "Textura Base" #: scene/resources/texture.cpp msgid "Image Size" msgstr "Tamaño de la Imagen" #: scene/resources/texture.cpp -#, fuzzy msgid "Side" -msgstr "Mostrar Guías" +msgstr "Lado" #: scene/resources/texture.cpp -#, fuzzy msgid "Front" -msgstr "Vista Frontal" +msgstr "Frente" #: scene/resources/texture.cpp -#, fuzzy msgid "Back" -msgstr "Retroceder" +msgstr "Posterior" #: scene/resources/texture.cpp -#, fuzzy msgid "Storage Mode" -msgstr "Modo de Escalado" +msgstr "Modo de Almacenamiento" #: scene/resources/texture.cpp -#, fuzzy msgid "Lossy Storage Quality" -msgstr "Captura" +msgstr "Calidad de Almacenamiento con Pérdidas" #: scene/resources/texture.cpp -#, fuzzy msgid "From" -msgstr "Rellene Desde" +msgstr "Desde" #: scene/resources/texture.cpp -#, fuzzy msgid "To" -msgstr "Superior" +msgstr "A" #: scene/resources/texture.cpp -#, fuzzy msgid "Base" -msgstr "Tipo Base" +msgstr "Base" #: scene/resources/texture.cpp -#, fuzzy msgid "Current Frame" -msgstr "Nombre de la escena actual" +msgstr "Cuadro Actual" #: scene/resources/texture.cpp -#, fuzzy msgid "Pause" -msgstr "Modo desplazamiento lateral" +msgstr "Pausa" #: scene/resources/texture.cpp msgid "Which Feed" msgstr "" #: scene/resources/texture.cpp -#, fuzzy msgid "Camera Is Active" -msgstr "Respetar Mayúsculas/Minúsculas" +msgstr "Cámara Activa" #: scene/resources/theme.cpp -#, fuzzy msgid "Default Font" -msgstr "Por defecto" +msgstr "Fuente Predeterminada" #: scene/resources/visual_shader.cpp msgid "Output Port For Preview" msgstr "" #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Depth Draw" -msgstr "Modo de Interpolación" +msgstr "Dibujo de Profundidad" #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Cull" -msgstr "Modo de Regla" +msgstr "Cull" #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Diffuse" -msgstr "Modo desplazamiento lateral" +msgstr "Difuso" #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Async" -msgstr "Modo desplazamiento lateral" +msgstr "Asíncrono" #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Modes" -msgstr "Modo" +msgstr "Modos" #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Input Name" -msgstr "Mapa de Entrada" +msgstr "Nombre de Entrada" #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Uniform Name" -msgstr "Establecer Nombre de Uniform" +msgstr "Nombre del Uniform" #: scene/resources/visual_shader_nodes.cpp msgid "" @@ -26615,85 +26465,72 @@ msgid "Invalid source for shader." msgstr "Fuente inválida para el shader." #: scene/resources/visual_shader_nodes.cpp -#, fuzzy msgid "Texture Type" -msgstr "Región de Textura" +msgstr "Tipo de Textura" #: scene/resources/visual_shader_nodes.cpp msgid "Cube Map" msgstr "" #: scene/resources/visual_shader_nodes.cpp -#, fuzzy msgid "Default Value Enabled" -msgstr "Perfil de Características de Godot" +msgstr "Valor Predeterminado Activado" #: scene/resources/visual_shader_nodes.cpp -#, fuzzy msgid "Default Value" -msgstr "Cambiar Valor de Entrada" +msgstr "Valor Predeterminado" #: scene/resources/visual_shader_nodes.cpp -#, fuzzy msgid "Color Default" -msgstr "Cargar Valores por Defecto" +msgstr "Color Predeterminado" #: scene/resources/visual_shader_nodes.cpp msgid "Invalid comparison function for that type." msgstr "Función de comparación inválida para este tipo." #: scene/resources/world.cpp -#, fuzzy msgid "Fallback Environment" -msgstr "Ver Entorno" +msgstr "Entorno de Retorno" #: scene/resources/world.cpp -#, fuzzy msgid "Scenario" -msgstr "Escena" +msgstr "Escenario" #: scene/resources/world.cpp scene/resources/world_2d.cpp -#, fuzzy msgid "Navigation Map" -msgstr "Navegación" +msgstr "Mapa de Navegación" #: scene/resources/world.cpp scene/resources/world_2d.cpp msgid "Direct Space State" msgstr "" #: scene/resources/world.cpp scene/resources/world_2d.cpp -#, fuzzy msgid "Default Gravity Vector" -msgstr "Vista Previa Por Defecto" +msgstr "Vector de Gravedad Predeterminado" #: scene/resources/world.cpp scene/resources/world_2d.cpp -#, fuzzy msgid "Default Linear Damp" -msgstr "Izquierda Lineal" +msgstr "Amortiguación Lineal Predeterminada" #: scene/resources/world.cpp scene/resources/world_2d.cpp msgid "Default Angular Damp" -msgstr "" +msgstr "Amortiguación Angular Predeterminada" #: scene/resources/world.cpp -#, fuzzy msgid "Default Map Up" -msgstr "Escalonado de Flotantes por Defecto" +msgstr "Mapa Superior Predeterminado" #: scene/resources/world.cpp scene/resources/world_2d.cpp -#, fuzzy msgid "Default Cell Size" -msgstr "Vista Previa Por Defecto" +msgstr "Vista Previa Predeterminada" #: scene/resources/world.cpp scene/resources/world_2d.cpp -#, fuzzy msgid "Default Cell Height" -msgstr "Prueba" +msgstr "Altura de Celda Predeterminada" #: scene/resources/world.cpp scene/resources/world_2d.cpp -#, fuzzy msgid "Default Edge Connection Margin" -msgstr "Margen de Conexión de Bordes" +msgstr "Margen de Conexión de Bordes Predeterminado" #: scene/resources/world_2d.cpp msgid "Canvas" @@ -26704,9 +26541,8 @@ msgid "Is Primary" msgstr "" #: servers/arvr/arvr_interface.cpp -#, fuzzy msgid "Is Initialized" -msgstr "Inicializar" +msgstr "Inicializado" #: servers/arvr/arvr_interface.cpp msgid "AR" @@ -26717,14 +26553,12 @@ msgid "Is Anchor Detection Enabled" msgstr "" #: servers/arvr_server.cpp -#, fuzzy msgid "Primary Interface" -msgstr "Interfaz de usuario" +msgstr "Interfaz Principal" #: servers/audio/audio_stream.cpp -#, fuzzy msgid "Audio Stream" -msgstr "Radio Elemento" +msgstr "Audio Stream" #: servers/audio/audio_stream.cpp msgid "Random Pitch" @@ -26766,9 +26600,8 @@ msgid "Rate Hz" msgstr "" #: servers/audio/effects/audio_effect_chorus.cpp -#, fuzzy msgid "Depth (ms)" -msgstr "Profundidad" +msgstr "Profundidad (ms)" #: servers/audio/effects/audio_effect_chorus.cpp #: servers/audio/effects/audio_effect_delay.cpp @@ -26791,9 +26624,8 @@ msgid "Attack (µs)" msgstr "" #: servers/audio/effects/audio_effect_compressor.cpp -#, fuzzy msgid "Release (ms)" -msgstr "Release" +msgstr "Release (ms)" #: servers/audio/effects/audio_effect_compressor.cpp msgid "Mix" @@ -26814,14 +26646,12 @@ msgstr "" #: servers/audio/effects/audio_effect_delay.cpp #: servers/audio/effects/audio_effect_phaser.cpp #: servers/audio/effects/audio_effect_reverb.cpp -#, fuzzy msgid "Feedback" -msgstr "Enviar Feedback de la Documentación" +msgstr "Feedback" #: servers/audio/effects/audio_effect_delay.cpp -#, fuzzy msgid "Low-pass" -msgstr "Omitir" +msgstr "Paso Bajo" #: servers/audio/effects/audio_effect_distortion.cpp msgid "Pre Gain" @@ -26836,14 +26666,12 @@ msgid "Drive" msgstr "" #: servers/audio/effects/audio_effect_distortion.cpp -#, fuzzy msgid "Post Gain" -msgstr "Posterior" +msgstr "Ganancia Puntual" #: servers/audio/effects/audio_effect_filter.cpp -#, fuzzy msgid "Resonance" -msgstr "Recursos" +msgstr "Resonancia" #: servers/audio/effects/audio_effect_limiter.cpp msgid "Ceiling dB" @@ -26891,9 +26719,8 @@ msgid "Room Size" msgstr "" #: servers/audio/effects/audio_effect_reverb.cpp -#, fuzzy msgid "High-pass" -msgstr "Omitir" +msgstr "Paso Alto" #: servers/audio/effects/audio_effect_spectrum_analyzer.cpp msgid "Tap Back Pos" @@ -26912,51 +26739,44 @@ msgid "Surround" msgstr "" #: servers/audio_server.cpp -#, fuzzy msgid "Enable Audio Input" -msgstr "Renombrar Bus de Audio" +msgstr "Activar Entrada de Audio" #: servers/audio_server.cpp -#, fuzzy msgid "Output Latency" -msgstr "Salida" +msgstr "Latencia de Salida" #: servers/audio_server.cpp msgid "Channel Disable Threshold dB" msgstr "" #: servers/audio_server.cpp -#, fuzzy msgid "Channel Disable Time" -msgstr "Cambiar Tiempo de Mezcla" +msgstr "Tiempo de Desconexión del Canal" #: servers/audio_server.cpp msgid "Video Delay Compensation (ms)" msgstr "" #: servers/audio_server.cpp -#, fuzzy msgid "Bus Count" -msgstr "Añadir Puerto de Entrada" +msgstr "Conteo de Buses" #: servers/audio_server.cpp -#, fuzzy msgid "Capture Device" -msgstr "Capturar desde píxel" +msgstr "Dispositivo de Captura" #: servers/audio_server.cpp -#, fuzzy msgid "Global Rate Scale" -msgstr "Variable" +msgstr "Escala Global de Porcentajes" #: servers/camera/camera_feed.cpp msgid "Feed" msgstr "" #: servers/camera/camera_feed.cpp -#, fuzzy msgid "Is Active" -msgstr "Perspectiva" +msgstr "Activo" #: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp msgid "Sleep Threshold Linear" @@ -26983,28 +26803,24 @@ msgid "Inverse Mass" msgstr "" #: servers/physics_2d_server.cpp servers/physics_server.cpp -#, fuzzy msgid "Inverse Inertia" -msgstr "Vista Libre Izquierda" +msgstr "Inercia Inversa" #: servers/physics_2d_server.cpp servers/physics_server.cpp msgid "Total Angular Damp" msgstr "" #: servers/physics_2d_server.cpp servers/physics_server.cpp -#, fuzzy msgid "Total Linear Damp" -msgstr "Lineal" +msgstr "Amortiguación Lineal Total" #: servers/physics_2d_server.cpp servers/physics_server.cpp -#, fuzzy msgid "Total Gravity" -msgstr "Vista Previa Por Defecto" +msgstr "Gravedad Total" #: servers/physics_2d_server.cpp servers/physics_server.cpp -#, fuzzy msgid "Linear Velocity" -msgstr "Inicializar" +msgstr "Velocidad Lineal" #: servers/physics_2d_server.cpp servers/physics_server.cpp msgid "Exclude" @@ -27015,9 +26831,8 @@ msgid "Shape RID" msgstr "" #: servers/physics_2d_server.cpp servers/physics_server.cpp -#, fuzzy msgid "Collide With Bodies" -msgstr "Modo de Colisión" +msgstr "Colisión de Cuerpos" #: servers/physics_2d_server.cpp servers/physics_server.cpp msgid "Collide With Areas" @@ -27028,39 +26843,32 @@ msgid "Motion Remainder" msgstr "" #: servers/physics_2d_server.cpp servers/physics_server.cpp -#, fuzzy msgid "Collision Point" -msgstr "Modo de Colisión" +msgstr "Punto de Colisión" #: servers/physics_2d_server.cpp servers/physics_server.cpp -#, fuzzy msgid "Collision Normal" -msgstr "Modo de Colisión" +msgstr "Colisión Normal" #: servers/physics_2d_server.cpp servers/physics_server.cpp -#, fuzzy msgid "Collision Depth" -msgstr "Modo de Colisión" +msgstr "Profundidad de Colisión" #: servers/physics_2d_server.cpp servers/physics_server.cpp -#, fuzzy msgid "Collision Safe Fraction" -msgstr "Modo de Colisión" +msgstr "Fracción Segura de Colisión" #: servers/physics_2d_server.cpp servers/physics_server.cpp -#, fuzzy msgid "Collision Unsafe Fraction" -msgstr "Modo de Colisión" +msgstr "Fracción Insegura de Colisión" #: servers/physics_2d_server.cpp servers/physics_server.cpp -#, fuzzy msgid "Physics Engine" -msgstr "Fotogramas de Física %" +msgstr "Motor de Física" #: servers/physics_server.cpp -#, fuzzy msgid "Center Of Mass" -msgstr "Centro Izquierda" +msgstr "Centro de la Masa" #: servers/physics_server.cpp msgid "Principal Inertia Axes" @@ -27071,22 +26879,20 @@ msgid "Varying may not be assigned in the '%s' function." msgstr "No se puede asignar la variable en la función '%s'." #: servers/visual/shader_language.cpp -#, fuzzy msgid "" "Varyings which were assigned in 'vertex' function may not be reassigned in " "'fragment' or 'light'." msgstr "" -"Las variaciones asignadas en función 'vértice' no pueden reasignarse en " -"'fragmento' o 'luz'." +"Las variaciones que se asignaron en la función 'vertex'no pueden reasignarse " +"en 'fragment' o 'light'." #: servers/visual/shader_language.cpp -#, fuzzy msgid "" "Varyings which were assigned in 'fragment' function may not be reassigned in " "'vertex' or 'light'." msgstr "" -"Varyings Cuál asignó en 'fragmento' la función no puede ser reasignada en " -"'vértice' o 'ligero'." +"Las variaciones que se asignaron en la función 'fragment' no pueden " +"reasignarse en 'vertex' o 'light'." #: servers/visual/shader_language.cpp msgid "Assignment to function." @@ -27105,48 +26911,40 @@ msgid "Spatial Partitioning" msgstr "Partición de Espacios" #: servers/visual_server.cpp -#, fuzzy msgid "Render Loop Enabled" -msgstr "Filtrar señales" +msgstr "Bucle de Renderización Activado" #: servers/visual_server.cpp -#, fuzzy msgid "VRAM Compression" -msgstr "Expresión" +msgstr "Compresión VRAM" #: servers/visual_server.cpp -#, fuzzy msgid "Import BPTC" -msgstr "Importar" +msgstr "Importar BPTC" #: servers/visual_server.cpp -#, fuzzy msgid "Import S3TC" -msgstr "Importar" +msgstr "Importar S3TC" #: servers/visual_server.cpp -#, fuzzy msgid "Import ETC" -msgstr "Importar" +msgstr "Importar ETC" #: servers/visual_server.cpp -#, fuzzy msgid "Import ETC2" -msgstr "Importar" +msgstr "Importar ETC2" #: servers/visual_server.cpp -#, fuzzy msgid "Import PVRTC" -msgstr "Importar Theme" +msgstr "Importar PVRTC" #: servers/visual_server.cpp msgid "Lossless Compression" msgstr "" #: servers/visual_server.cpp -#, fuzzy msgid "Force PNG" -msgstr "Forzar Push" +msgstr "Forzar PNG" #: servers/visual_server.cpp msgid "WebP Compression Level" @@ -27157,9 +26955,8 @@ msgid "Time Rollover Secs" msgstr "" #: servers/visual_server.cpp -#, fuzzy msgid "Cubemap Size" -msgstr "Cambiar Tamaño de Cámara" +msgstr "Tamaño del Cubemap" #: servers/visual_server.cpp msgid "Quadrant 0 Subdiv" @@ -27178,19 +26975,16 @@ msgid "Quadrant 3 Subdiv" msgstr "" #: servers/visual_server.cpp -#, fuzzy msgid "Shadows" -msgstr "Shader" +msgstr "Sombras" #: servers/visual_server.cpp -#, fuzzy msgid "Filter Mode" -msgstr "Filtrar nodos" +msgstr "Modo de Filtrado" #: servers/visual_server.cpp -#, fuzzy msgid "Texture Array Reflections" -msgstr "Centrar Selección" +msgstr "Reflejos del Array de Texturas" #: servers/visual_server.cpp msgid "High Quality GGX" @@ -27201,9 +26995,8 @@ msgid "Irradiance Max Size" msgstr "" #: servers/visual_server.cpp -#, fuzzy msgid "Shading" -msgstr "Relleno" +msgstr "Sombreado" #: servers/visual_server.cpp msgid "Force Vertex Shading" @@ -27222,9 +27015,8 @@ msgid "Mesh Storage" msgstr "" #: servers/visual_server.cpp -#, fuzzy msgid "Split Stream" -msgstr "Partir Curva" +msgstr "Stream Dividido" #: servers/visual_server.cpp msgid "Use Physical Light Attenuation" @@ -27263,23 +27055,20 @@ msgid "Use Software Skinning" msgstr "" #: servers/visual_server.cpp -#, fuzzy msgid "Ninepatch Mode" -msgstr "Modo de Interpolación" +msgstr "Modo Ninepatch" #: servers/visual_server.cpp -#, fuzzy msgid "OpenGL" -msgstr "Abrir" +msgstr "OpenGL" #: servers/visual_server.cpp msgid "Batching Send Null" -msgstr "" +msgstr "Envío de Lotes Nulo" #: servers/visual_server.cpp -#, fuzzy msgid "Batching Stream" -msgstr "Renombrar por lote" +msgstr "Flujo de Lotes" #: servers/visual_server.cpp msgid "Legacy Orphan Buffers" @@ -27291,16 +27080,15 @@ msgstr "" #: servers/visual_server.cpp msgid "Batching" -msgstr "Puesta en marcha" +msgstr "División en Lotes" #: servers/visual_server.cpp msgid "Use Batching" -msgstr "" +msgstr "Usar División en Lotes" #: servers/visual_server.cpp -#, fuzzy msgid "Use Batching In Editor" -msgstr "Actualización del editor" +msgstr "Usar División en Lotes en el Editor" #: servers/visual_server.cpp msgid "Single Rect Fallback" @@ -27332,12 +27120,11 @@ msgstr "" #: servers/visual_server.cpp msgid "Flash Batching" -msgstr "" +msgstr "Procesamiento Instantáneo de Lotes" #: servers/visual_server.cpp -#, fuzzy msgid "Diagnose Frame" -msgstr "Pegar Fotograma" +msgstr "Diagnosticar Cuadro" #: servers/visual_server.cpp msgid "GLES2" @@ -27352,9 +27139,8 @@ msgid "Disable Half Float" msgstr "" #: servers/visual_server.cpp -#, fuzzy msgid "Enable High Float" -msgstr "Activar Prioridad" +msgstr "Activar Flotante Alto" #: servers/visual_server.cpp msgid "Precision" @@ -27369,9 +27155,8 @@ msgid "UV Contract Amount" msgstr "" #: servers/visual_server.cpp -#, fuzzy msgid "Use Simple PVS" -msgstr "Usar Ajuste de Escalado" +msgstr "Usar PVS Simple" #: servers/visual_server.cpp msgid "PVS Logging" @@ -27382,18 +27167,16 @@ msgid "Use Signals" msgstr "Usar Señales" #: servers/visual_server.cpp -#, fuzzy msgid "Remove Danglers" -msgstr "Eliminar Tile" +msgstr "Eliminar Danglers" #: servers/visual_server.cpp msgid "Flip Imported Portals" msgstr "Voltear Portales Importados" #: servers/visual_server.cpp -#, fuzzy msgid "Occlusion Culling" -msgstr "Ver Eliminación de Oclusión" +msgstr "Occlusion Culling" #: servers/visual_server.cpp msgid "Max Active Spheres" diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po index 10a562d0b8..5babe4ff23 100644 --- a/editor/translations/es_AR.po +++ b/editor/translations/es_AR.po @@ -4584,6 +4584,7 @@ msgstr "Herramientas misceláneas a nivel proyecto o escena." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Proyecto" @@ -7533,7 +7534,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15614,18 +15616,19 @@ msgstr "" msgid "Make Local" msgstr "Crear Local" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Nombre de Nodo:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "El nombre ya está en uso por otra función/variable/señal:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Nombre de Nodo:" #: editor/scene_tree_dock.cpp @@ -15828,6 +15831,11 @@ msgid "Button Group" msgstr "Grupo de Botones" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Nombre de Nodo:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(Conectando Desde)" @@ -15904,6 +15912,10 @@ msgstr "" "Nombre de nodo inválido, los siguientes caracteres no están permitidos:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "Renombrar Nodo" @@ -17830,6 +17842,21 @@ msgstr "Construir Solución" msgid "Auto Update Project" msgstr "Proyecto Sin Nombre" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Mostrar Todo" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Elegí un Directorio" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Elegí un Directorio" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "Fin del stack trace de excepción interna" @@ -19698,6 +19725,11 @@ msgstr "CustomNode" msgid "Custom BG Color" msgstr "CustomNode" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Expandir Todos" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20593,6 +20625,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "Nombre corto de paquete inválido." diff --git a/editor/translations/et.po b/editor/translations/et.po index 3976c9f0bd..20da09ffc5 100644 --- a/editor/translations/et.po +++ b/editor/translations/et.po @@ -4507,6 +4507,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Projekt" @@ -7299,7 +7300,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15134,18 +15136,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Sõlme nimi:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "Sõlme nimi:" #: editor/scene_tree_dock.cpp @@ -15337,6 +15339,11 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Sõlme nimi:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "" @@ -15400,6 +15407,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -17256,6 +17267,21 @@ msgstr "Poolresolutioon" msgid "Auto Update Project" msgstr "Projekt" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Kuva kõik" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Vali kataloog" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Vali kataloog" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -19042,6 +19068,11 @@ msgstr "Kustuta sõlm(ed)" msgid "Custom BG Color" msgstr "Kustuta sõlm(ed)" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Laienda kõik" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -19877,6 +19908,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "" diff --git a/editor/translations/eu.po b/editor/translations/eu.po index 3e69f3c4b9..c0f1953269 100644 --- a/editor/translations/eu.po +++ b/editor/translations/eu.po @@ -4426,6 +4426,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Proiektua" @@ -7197,7 +7198,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -14999,18 +15001,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Animazio berriaren izena:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "Animazio berriaren izena:" #: editor/scene_tree_dock.cpp @@ -15200,6 +15202,11 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Animazio berriaren izena:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "" @@ -15263,6 +15270,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -17102,6 +17113,21 @@ msgstr "" msgid "Auto Update Project" msgstr "Proiektua" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Erakutsi guztiak" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Ireki direktorioa" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Ireki direktorioa" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -18861,6 +18887,11 @@ msgstr "Funtzioak:" msgid "Custom BG Color" msgstr "Funtzioak:" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Esportatu" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -19684,6 +19715,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "" diff --git a/editor/translations/fa.po b/editor/translations/fa.po index 86b847e530..186ab7264e 100644 --- a/editor/translations/fa.po +++ b/editor/translations/fa.po @@ -26,13 +26,18 @@ # Seyed Fazel Alavi <fazel8195@gmail.com>, 2022. # Giga hertz <gigahertzyt@gmail.com>, 2022. # Aryan Azadeh <aryan@azadeh.email>, 2022. +# Mitsuha Miamizu <mitsuha.miamizu4444@gmail.com>, 2022. +# LordProfo <nimaentity30@gmail.com>, 2022. +# LordProfo (Nima) <nimaentity30@gmail.com>, 2022. +# John Smith <pkafsharix@gmail.com>, 2022. +# Ali Jafari <ali.jafari.sn@gmail.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-06-20 06:44+0000\n" -"Last-Translator: Aryan Azadeh <aryan@azadeh.email>\n" +"PO-Revision-Date: 2022-09-09 12:36+0000\n" +"Last-Translator: LordProfo (Nima) <nimaentity30@gmail.com>\n" "Language-Team: Persian <https://hosted.weblate.org/projects/godot-engine/" "godot/fa/>\n" "Language: fa\n" @@ -40,107 +45,97 @@ 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.13.1-dev\n" +"X-Generator: Weblate 4.14.1-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" -msgstr "" +msgstr "درایور تبلت" #: core/bind/core_bind.cpp -#, fuzzy msgid "Clipboard" -msgstr "حافظه پنهان خالی است!" +msgstr "کلیپبورد" #: core/bind/core_bind.cpp -#, fuzzy msgid "Current Screen" -msgstr "حرکت دادن گره(ها)" +msgstr "صفحه کنونی" #: core/bind/core_bind.cpp msgid "Exit Code" -msgstr "" +msgstr "کد خروج" #: core/bind/core_bind.cpp -#, fuzzy msgid "V-Sync Enabled" -msgstr "روشن" +msgstr "V-Sync فعال شد" #: core/bind/core_bind.cpp main/main.cpp msgid "V-Sync Via Compositor" -msgstr "" +msgstr "V-Sync از طریق کامپوزیتور" #: core/bind/core_bind.cpp main/main.cpp msgid "Delta Smoothing" -msgstr "" +msgstr "هموارسازی دلتا" #: core/bind/core_bind.cpp -#, fuzzy msgid "Low Processor Usage Mode" -msgstr "حالت صدور:" +msgstr "حالت استفادهٔ کم پردازنده" #: core/bind/core_bind.cpp msgid "Low Processor Usage Mode Sleep (µsec)" -msgstr "" +msgstr "حالت خواب استفاده کم پردازنده (µsec)" #: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp msgid "Keep Screen On" -msgstr "" +msgstr "روشن نگه داشتن صفحه نمایش" #: core/bind/core_bind.cpp -#, fuzzy msgid "Min Window Size" -msgstr "باز کردن و اجرای یک اسکریپت" +msgstr "حداقل اندازهٔ پنجره" #: core/bind/core_bind.cpp -#, fuzzy msgid "Max Window Size" -msgstr "باز کردن و اجرای یک اسکریپت" +msgstr "حداکثر اندازهٔ پنجره" #: core/bind/core_bind.cpp -#, fuzzy msgid "Screen Orientation" -msgstr "شمارش ها" +msgstr "جهت صفحه نمایش" #: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp #: platform/uwp/os_uwp.cpp -#, fuzzy msgid "Window" -msgstr "چارچوب جدید" +msgstr "پنجره" #: core/bind/core_bind.cpp core/project_settings.cpp msgid "Borderless" -msgstr "" +msgstr "بدون حاشیه" #: core/bind/core_bind.cpp msgid "Per Pixel Transparency Enabled" -msgstr "" +msgstr "شفافیت پیکسل به پیکسل فعال است" #: core/bind/core_bind.cpp core/project_settings.cpp -#, fuzzy msgid "Fullscreen" msgstr "حالت تمام صفحه" #: core/bind/core_bind.cpp msgid "Maximized" -msgstr "" +msgstr "حداکثر اندازه" #: core/bind/core_bind.cpp msgid "Minimized" -msgstr "" +msgstr "حداقل اندازه" #: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp #: scene/gui/graph_node.cpp msgid "Resizable" -msgstr "" +msgstr "قابل تغییر اندازه" #: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp #: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp #: scene/3d/physics_body.cpp scene/3d/remote_transform.cpp #: scene/gui/control.cpp scene/gui/line_edit.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Position" -msgstr "برداشتن موج" +msgstr "موقعیت" #: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp #: main/main.cpp modules/gridmap/grid_map.cpp @@ -152,61 +147,55 @@ msgstr "برداشتن موج" #: scene/resources/style_box.cpp scene/resources/texture.cpp #: scene/resources/visual_shader.cpp servers/visual_server.cpp msgid "Size" -msgstr "" +msgstr "اندازه" #: core/bind/core_bind.cpp msgid "Endian Swap" -msgstr "" +msgstr "جابهجایی اندیان" #: core/bind/core_bind.cpp -#, fuzzy msgid "Editor Hint" -msgstr "ویرایشگر" +msgstr "راهنمای ویرایشگر" #: core/bind/core_bind.cpp msgid "Print Error Messages" -msgstr "" +msgstr "چاپ کردن پیام خطا" #: core/bind/core_bind.cpp -#, fuzzy msgid "Iterations Per Second" -msgstr "حالت درون یابی(درونیابی روشی است برای یافتن مقدار تابع درون یک بازه)" +msgstr "تکرار در ثانیه" #: core/bind/core_bind.cpp msgid "Target FPS" -msgstr "" +msgstr "FPS هدف" #: core/bind/core_bind.cpp -#, fuzzy msgid "Time Scale" -msgstr "بومی" +msgstr "مقیاس زمانی" #: core/bind/core_bind.cpp main/main.cpp msgid "Physics Jitter Fix" -msgstr "" +msgstr "حل لرزش فیزیک" #: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp msgid "Error" -msgstr "" +msgstr "خطا" #: core/bind/core_bind.cpp -#, fuzzy msgid "Error String" -msgstr "خطا در بارگذاری:" +msgstr "رشته خطا" #: core/bind/core_bind.cpp -#, fuzzy msgid "Error Line" -msgstr "خطا در بارگذاری:" +msgstr "خط خطا" #: core/bind/core_bind.cpp -#, fuzzy msgid "Result" -msgstr "جستجوی راهنما" +msgstr "نتیجه" #: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp msgid "Memory" -msgstr "" +msgstr "مموری" #: core/command_queue_mt.cpp core/message_queue.cpp #: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp @@ -217,46 +206,43 @@ msgstr "" #: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h #: servers/visual_server.cpp msgid "Limits" -msgstr "" +msgstr "محدودیتها" #: core/command_queue_mt.cpp msgid "Command Queue" -msgstr "" +msgstr "صف فرمان" #: core/command_queue_mt.cpp msgid "Multithreading Queue Size (KB)" -msgstr "" +msgstr "انداهٔ صف چند رشتهای (کیلوبایت)" #: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp #: modules/visual_script/visual_script_func_nodes.cpp #: modules/visual_script/visual_script_nodes.cpp #: scene/resources/visual_shader_nodes.cpp -#, fuzzy msgid "Function" -msgstr "توابع" +msgstr "تابع" #: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp #: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp msgid "Data" -msgstr "" +msgstr "داده" #: core/io/file_access_network.cpp core/register_core_types.cpp #: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp #: modules/gdscript/language_server/gdscript_language_server.cpp #: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Network" -msgstr "صدور پروژه" +msgstr "شبکه" #: core/io/file_access_network.cpp -#, fuzzy msgid "Remote FS" -msgstr "برداشتن" +msgstr "ریموت FS" #: core/io/file_access_network.cpp msgid "Page Size" -msgstr "" +msgstr "اندازهٔ صفحه" #: core/io/file_access_network.cpp msgid "Page Read Ahead" @@ -264,81 +250,77 @@ msgstr "" #: core/io/http_client.cpp msgid "Blocking Mode Enabled" -msgstr "" +msgstr "حالت مسدود کردن فعال شد" #: core/io/http_client.cpp -#, fuzzy msgid "Connection" msgstr "اتصال" #: core/io/http_client.cpp +#, fuzzy msgid "Read Chunk Size" -msgstr "" +msgstr "خواندن اندازه تکه" #: core/io/marshalls.cpp msgid "Object ID" -msgstr "" +msgstr "شناسهٔ شیء" #: core/io/multiplayer_api.cpp core/io/packet_peer.cpp msgid "Allow Object Decoding" -msgstr "" +msgstr "اجازه رمزگشایی شی" #: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp msgid "Refuse New Network Connections" -msgstr "" +msgstr "رد کردن اتصالات شبکه جدید" #: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp -#, fuzzy msgid "Network Peer" -msgstr "صدور پروژه" +msgstr "همتای شبکه" #: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp -#, fuzzy msgid "Root Node" -msgstr "تغییر نام" +msgstr "نود ریشه ای" #: core/io/networked_multiplayer_peer.cpp -#, fuzzy msgid "Refuse New Connections" -msgstr "اتصال" +msgstr "از اتصالات جدید خودداری کنید" #: core/io/networked_multiplayer_peer.cpp -#, fuzzy msgid "Transfer Mode" -msgstr "گره جابجای" +msgstr "حالت انتقال" #: core/io/packet_peer.cpp msgid "Encode Buffer Max Size" -msgstr "" +msgstr "رمزگذاری حداکثر اندازه بافر" #: core/io/packet_peer.cpp msgid "Input Buffer Max Size" -msgstr "" +msgstr "ورود حداکثر اندازه بافر" #: core/io/packet_peer.cpp msgid "Output Buffer Max Size" -msgstr "" +msgstr "حد اکثر اندازه خروجی بافر" #: core/io/packet_peer.cpp msgid "Stream Peer" -msgstr "" +msgstr "جریان همتا" #: core/io/stream_peer.cpp msgid "Big Endian" -msgstr "" +msgstr "اندیان بزرگ" #: core/io/stream_peer.cpp msgid "Data Array" -msgstr "" +msgstr "آرایه داده" #: core/io/stream_peer_ssl.cpp +#, fuzzy msgid "Blocking Handshake" -msgstr "" +msgstr "مسدود کردن دست دادن" #: core/io/udp_server.cpp -#, fuzzy msgid "Max Pending Connections" -msgstr "ویرایش اتصال:" +msgstr "حداکثر اتصالات معلق" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -347,28 +329,27 @@ msgstr "نوع نامعتبر ورودی برای ()convert، ثوابت *_TYPE #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp msgid "Expected a string of length 1 (a character)." -msgstr "یک رشته بهطول 1 ( یک کاراکتر) مورد انتظار است." +msgstr "یک رشته (string) به اندازه 1 (کاراکتر) مورد انتظار است." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/mono/glue/gd_glue.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "" -"تعداد بایت های مورد نظر برای رمزگشایی بایت ها کافی نیست، و یا فرمت نامعتبر " +"تعداد بایتهای مورد نظر برای رمزگشایی بایتها کافی نیست، و یا فرمت نامعتبر " "است ." #: core/math/expression.cpp -#, fuzzy msgid "Invalid input %d (not passed) in expression" -msgstr "ورودی نامعتبر i% (تایید نشده) در عبارت" +msgstr "ورودی نامعتبر %d (تایید نشده) در عبارت" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" -msgstr "از self نمیتوان استفاده کرد زیرا نمونه صفر است (رد نشده است)" +msgstr "از self نمیتوان استفاده کرد زیرا نمونه null است (مقدار نگرفته است)" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." -msgstr "عملگر های نامعتبر به عملگر %s, %s و %s." +msgstr "عملوند های نامعتبر به عملگر %s, %s , %s." #: core/math/expression.cpp msgid "Invalid index of type %s for base type %s" @@ -384,34 +365,32 @@ msgstr "آرگومان های نامعتبر برای ساخت '%s'" #: core/math/expression.cpp msgid "On call to '%s':" -msgstr "به هنگام فراخوان تابع'%s':" +msgstr "به هنگام فراخوان تابع '%s':" #: core/math/random_number_generator.cpp #: modules/opensimplex/open_simplex_noise.cpp msgid "Seed" -msgstr "" +msgstr "دانه" #: core/math/random_number_generator.cpp -#, fuzzy msgid "State" -msgstr "وضعیت:" +msgstr "وضعیت" #: core/message_queue.cpp msgid "Message Queue" -msgstr "" +msgstr "صف پیام" #: core/message_queue.cpp msgid "Max Size (KB)" -msgstr "" +msgstr "حداکثر اندازه (کیلوبایت)" #: core/os/input.cpp -#, fuzzy msgid "Mouse Mode" -msgstr "انتخاب حالت" +msgstr "حالت ماوس" #: core/os/input.cpp msgid "Use Accumulated Input" -msgstr "" +msgstr "استفاده از ورودی انباشته" #: core/os/input_event.cpp editor/project_settings_editor.cpp #: servers/audio_server.cpp @@ -419,105 +398,93 @@ msgid "Device" msgstr "دستگاه" #: core/os/input_event.cpp -#, fuzzy msgid "Alt" -msgstr "همه" +msgstr "آلت" #: core/os/input_event.cpp msgid "Shift" -msgstr "" +msgstr "شیفت" #: core/os/input_event.cpp -#, fuzzy msgid "Control" -msgstr "مهار نسخه" +msgstr "کنترل" #: core/os/input_event.cpp msgid "Meta" -msgstr "" +msgstr "متا" #: core/os/input_event.cpp -#, fuzzy msgid "Command" -msgstr "جامعه" +msgstr "دستور" #: core/os/input_event.cpp -#, fuzzy msgid "Physical" -msgstr "روشن" +msgstr "فیزیکی" #: core/os/input_event.cpp scene/2d/touch_screen_button.cpp #: scene/gui/base_button.cpp scene/gui/texture_button.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Pressed" -msgstr "بازنشانی بزرگنمایی" +msgstr "فشردهشده" #: core/os/input_event.cpp -#, fuzzy msgid "Scancode" -msgstr "پویش" +msgstr "اسکنکد" #: core/os/input_event.cpp msgid "Physical Scancode" -msgstr "" +msgstr "اسکنکد فیزیکی" #: core/os/input_event.cpp msgid "Unicode" -msgstr "" +msgstr "یونیکد" #: core/os/input_event.cpp msgid "Echo" -msgstr "" +msgstr "اکو" #: core/os/input_event.cpp scene/gui/base_button.cpp -#, fuzzy msgid "Button Mask" -msgstr "Button" +msgstr "ماسک دکمه" #: core/os/input_event.cpp scene/2d/node_2d.cpp scene/gui/control.cpp -#, fuzzy msgid "Global Position" -msgstr "ثابت" +msgstr "موقعیت عمومی" #: core/os/input_event.cpp msgid "Factor" -msgstr "" +msgstr "عامل" #: core/os/input_event.cpp -#, fuzzy msgid "Button Index" -msgstr "Button" +msgstr "ایندکس دکمه" #: core/os/input_event.cpp msgid "Doubleclick" -msgstr "" +msgstr "دابلکلیک" #: core/os/input_event.cpp msgid "Tilt" -msgstr "" +msgstr "شیب" #: core/os/input_event.cpp -#, fuzzy msgid "Pressure" -msgstr "بازنشانی بزرگنمایی" +msgstr "فشار" #: core/os/input_event.cpp msgid "Pen Inverted" -msgstr "" +msgstr "قلم معکوس" #: core/os/input_event.cpp -#, fuzzy msgid "Relative" -msgstr "GDNative" +msgstr "نسبت" #: core/os/input_event.cpp scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp #: scene/3d/cpu_particles.cpp scene/3d/interpolated_camera.cpp #: scene/animation/animation_player.cpp scene/resources/environment.cpp #: scene/resources/particles_material.cpp -#, fuzzy msgid "Speed" -msgstr "بومی" +msgstr "سرعت" #: core/os/input_event.cpp editor/project_settings_editor.cpp #: scene/3d/sprite_3d.cpp @@ -525,80 +492,72 @@ msgid "Axis" msgstr "محور" #: core/os/input_event.cpp -#, fuzzy msgid "Axis Value" -msgstr "(مقدار)" +msgstr "مقدار محور" #: core/os/input_event.cpp modules/visual_script/visual_script_func_nodes.cpp -#, fuzzy msgid "Index" -msgstr "اندیس:" +msgstr "ایندکس" #: core/os/input_event.cpp editor/project_settings_editor.cpp #: modules/visual_script/visual_script_nodes.cpp #: scene/2d/touch_screen_button.cpp -#, fuzzy msgid "Action" -msgstr "افزودن وظیفه" +msgstr "عمل" #: core/os/input_event.cpp scene/resources/environment.cpp #: scene/resources/material.cpp msgid "Strength" -msgstr "" +msgstr "قدرت" #: core/os/input_event.cpp msgid "Delta" -msgstr "" +msgstr "دلتا" #: core/os/input_event.cpp -#, fuzzy msgid "Channel" -msgstr "تغییر بده" +msgstr "کانال" #: core/os/input_event.cpp main/main.cpp -#, fuzzy msgid "Message" -msgstr "تغییر بده" +msgstr "پیام" #: core/os/input_event.cpp -#, fuzzy msgid "Pitch" -msgstr "سوییچ" +msgstr "" #: core/os/input_event.cpp scene/2d/cpu_particles_2d.cpp #: scene/2d/physics_body_2d.cpp scene/3d/cpu_particles.cpp #: scene/3d/physics_body.cpp scene/resources/particles_material.cpp msgid "Velocity" -msgstr "" +msgstr "سرعت" #: core/os/input_event.cpp +#, fuzzy msgid "Instrument" -msgstr "" +msgstr "ابزار" #: core/os/input_event.cpp -#, fuzzy msgid "Controller Number" -msgstr "شماره خط:" +msgstr "شماره کنترلر" #: core/os/input_event.cpp msgid "Controller Value" -msgstr "" +msgstr "مقدار کنترلر" #: core/project_settings.cpp editor/editor_node.cpp main/main.cpp #: platform/iphone/export/export.cpp platform/osx/export/export.cpp #: platform/windows/export/export.cpp -#, fuzzy msgid "Application" -msgstr "افزودن وظیفه" +msgstr "اپلیکیشن" #: core/project_settings.cpp main/main.cpp msgid "Config" -msgstr "" +msgstr "پیکربندی" #: core/project_settings.cpp -#, fuzzy msgid "Project Settings Override" -msgstr "تنظیمات طرح…" +msgstr "لغو تنظیمات پروژه" #: core/project_settings.cpp core/resource.cpp #: editor/animation_track_editor.cpp editor/editor_autoload_settings.cpp @@ -629,7 +588,7 @@ msgstr "اجرا" #: core/project_settings.cpp editor/editor_node.cpp #: editor/run_settings_dialog.cpp main/main.cpp msgid "Main Scene" -msgstr "" +msgstr "صحنهٔ اصلی" #: core/project_settings.cpp #, fuzzy @@ -643,28 +602,27 @@ msgstr "غیرفعال شده" #: core/project_settings.cpp msgid "Use Hidden Project Data Directory" -msgstr "" +msgstr "استفاده از فهرست دادههای پروژه پنهان" #: core/project_settings.cpp msgid "Use Custom User Dir" -msgstr "" +msgstr "استفاده از Custom User Dir" #: core/project_settings.cpp msgid "Custom User Dir Name" -msgstr "" +msgstr "نام دلخواه برای دایرکتوری کاربر" #: core/project_settings.cpp main/main.cpp #: platform/javascript/export/export.cpp platform/osx/export/export.cpp #: platform/uwp/os_uwp.cpp -#, fuzzy msgid "Display" -msgstr "نشان دادن همه" +msgstr "نمایش" #: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp #: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp #: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp msgid "Width" -msgstr "" +msgstr "عرض" #: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp #: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp @@ -673,21 +631,19 @@ msgstr "" #: scene/resources/font.cpp scene/resources/navigation_mesh.cpp #: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp msgid "Height" -msgstr "" +msgstr "ارتفاع" #: core/project_settings.cpp msgid "Always On Top" -msgstr "" +msgstr "همیشه در بالا" #: core/project_settings.cpp -#, fuzzy msgid "Test Width" -msgstr "خطی" +msgstr "آزمایش عرض" #: core/project_settings.cpp -#, fuzzy msgid "Test Height" -msgstr "آزمودن" +msgstr "آزمایش ارتفاع" #: core/project_settings.cpp editor/animation_track_editor.cpp #: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp @@ -695,56 +651,54 @@ msgid "Audio" msgstr "صدا" #: core/project_settings.cpp -#, fuzzy msgid "Default Bus Layout" -msgstr "طرح پیش فرض اتوبوس را بارگیری کنید." +msgstr "چیدمان اتوبوس پیشفرض" #: core/project_settings.cpp editor/editor_export.cpp #: editor/editor_file_system.cpp editor/editor_node.cpp #: editor/editor_settings.cpp editor/script_create_dialog.cpp #: scene/2d/camera_2d.cpp scene/3d/light.cpp scene/main/node.cpp msgid "Editor" -msgstr "ویرایِشگَر" +msgstr "ویرایشگر" #: core/project_settings.cpp +#, fuzzy msgid "Main Run Args" -msgstr "" +msgstr "آرگومان های اصلی اجرا" #: core/project_settings.cpp msgid "Scene Naming" -msgstr "" +msgstr "نامگذاری صحنه" #: core/project_settings.cpp msgid "Search In File Extensions" -msgstr "" +msgstr "جستجو در پسوند فایل" #: core/project_settings.cpp msgid "Script Templates Search Path" -msgstr "" +msgstr "مسیر جستجوی الگوهای اسکریپت" #: core/project_settings.cpp -#, fuzzy msgid "Version Control Autoload On Startup" -msgstr "مهار نسخه" +msgstr "بارگذاری خودکار نسخهٔ کنترل در هنگام راهاندازی" #: core/project_settings.cpp -#, fuzzy msgid "Version Control Plugin Name" -msgstr "مهار نسخه" +msgstr "نام افزونه کنترل نسخه" #: core/project_settings.cpp scene/2d/collision_object_2d.cpp #: scene/3d/collision_object.cpp scene/gui/control.cpp msgid "Input" -msgstr "" +msgstr "ورودی" #: core/project_settings.cpp msgid "UI Accept" -msgstr "" +msgstr "پذیرش UI" #: core/project_settings.cpp #, fuzzy msgid "UI Select" -msgstr "انتخاب شده را حذف کن" +msgstr "انتخاب رابط کاربری" #: core/project_settings.cpp #, fuzzy @@ -752,45 +706,46 @@ msgid "UI Cancel" msgstr "لغو" #: core/project_settings.cpp +#, fuzzy msgid "UI Focus Next" -msgstr "" +msgstr "تمرکز بعدی رابط کاربری" #: core/project_settings.cpp +#, fuzzy msgid "UI Focus Prev" -msgstr "" +msgstr "تمرکز قبلی رابط کاربری" #: core/project_settings.cpp msgid "UI Left" -msgstr "" +msgstr "کلید چپ" #: core/project_settings.cpp msgid "UI Right" -msgstr "" +msgstr "کلید راست" #: core/project_settings.cpp msgid "UI Up" -msgstr "" +msgstr "کلید بالا" #: core/project_settings.cpp -#, fuzzy msgid "UI Down" -msgstr "پایین" +msgstr "UI پایین" #: core/project_settings.cpp msgid "UI Page Up" -msgstr "" +msgstr "کلید Page Up" #: core/project_settings.cpp msgid "UI Page Down" -msgstr "" +msgstr "کلید Page Down" #: core/project_settings.cpp msgid "UI Home" -msgstr "" +msgstr "UI خانه" #: core/project_settings.cpp msgid "UI End" -msgstr "" +msgstr "UI پایان" #: core/project_settings.cpp main/main.cpp modules/bullet/register_types.cpp #: modules/bullet/space_bullet.cpp scene/2d/physics_body_2d.cpp @@ -801,7 +756,7 @@ msgstr "" #: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp #: servers/physics_server.cpp msgid "Physics" -msgstr "" +msgstr "فیزیک" #: core/project_settings.cpp editor/editor_settings.cpp #: editor/import/resource_importer_layered_texture.cpp @@ -811,11 +766,11 @@ msgstr "" #: scene/3d/physics_body.cpp scene/resources/world.cpp #: servers/physics/space_sw.cpp servers/physics_server.cpp msgid "3D" -msgstr "" +msgstr "سه بعدی" #: core/project_settings.cpp msgid "Smooth Trimesh Collision" -msgstr "" +msgstr "برخورد روان مش مثلثی" #: core/project_settings.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp #: drivers/gles2/rasterizer_scene_gles2.cpp @@ -827,7 +782,7 @@ msgstr "" #: scene/main/viewport.cpp servers/visual/visual_server_scene.cpp #: servers/visual_server.cpp msgid "Rendering" -msgstr "" +msgstr "رندر کردن" #: core/project_settings.cpp drivers/gles2/rasterizer_storage_gles2.cpp #: drivers/gles3/rasterizer_scene_gles3.cpp @@ -837,18 +792,17 @@ msgstr "" #: scene/resources/multimesh.cpp servers/visual/visual_server_scene.cpp #: servers/visual_server.cpp msgid "Quality" -msgstr "" +msgstr "کیفیت" #: core/project_settings.cpp scene/gui/file_dialog.cpp #: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp #: servers/visual_server.cpp -#, fuzzy msgid "Filters" -msgstr "صافی:" +msgstr "فیلترها" #: core/project_settings.cpp scene/main/viewport.cpp msgid "Sharpen Intensity" -msgstr "" +msgstr "تیز کردن شدت" #: core/project_settings.cpp editor/editor_export.cpp editor/editor_node.cpp #: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp @@ -864,14 +818,13 @@ msgstr "اشکال یابی" #: core/project_settings.cpp main/main.cpp modules/gdscript/gdscript.cpp #: modules/visual_script/visual_script.cpp scene/resources/dynamic_font.cpp -#, fuzzy msgid "Settings" -msgstr "ترجیحات" +msgstr "تنظیمات" #: core/project_settings.cpp editor/script_editor_debugger.cpp main/main.cpp #: modules/mono/mono_gd/gd_mono.cpp msgid "Profiler" -msgstr "" +msgstr "پروفایلر" #: core/project_settings.cpp #, fuzzy @@ -879,13 +832,12 @@ msgid "Max Functions" msgstr "تغییر نام نقش" #: core/project_settings.cpp scene/3d/vehicle_body.cpp -#, fuzzy msgid "Compression" -msgstr "انتقال را در انیمیشن تغییر بده" +msgstr "فشردهسازی" #: core/project_settings.cpp msgid "Formats" -msgstr "" +msgstr "فرمتها" #: core/project_settings.cpp msgid "Zstd" @@ -893,11 +845,11 @@ msgstr "" #: core/project_settings.cpp msgid "Long Distance Matching" -msgstr "" +msgstr "تطبیق مسافت طولانی" #: core/project_settings.cpp msgid "Compression Level" -msgstr "" +msgstr "سطح فشردهسازی" #: core/project_settings.cpp msgid "Window Log Size" @@ -913,20 +865,19 @@ msgstr "" #: core/project_settings.cpp platform/android/export/export.cpp msgid "Android" -msgstr "" +msgstr "اندروید" #: core/project_settings.cpp msgid "Modules" -msgstr "" +msgstr "ماژولها" #: core/register_core_types.cpp msgid "TCP" -msgstr "" +msgstr "تیسیپی" #: core/register_core_types.cpp -#, fuzzy msgid "Connect Timeout Seconds" -msgstr "اتصال به گره:" +msgstr "" #: core/register_core_types.cpp msgid "Packet Peer Stream" @@ -934,11 +885,11 @@ msgstr "" #: core/register_core_types.cpp msgid "Max Buffer (Power of 2)" -msgstr "" +msgstr "حداکثر بافر (به توان 2)" #: core/register_core_types.cpp editor/editor_settings.cpp main/main.cpp msgid "SSL" -msgstr "" +msgstr "SSL" #: core/register_core_types.cpp main/main.cpp #, fuzzy @@ -964,22 +915,20 @@ msgid "Path" msgstr "آدرس" #: core/script_language.cpp -#, fuzzy msgid "Source Code" -msgstr "منبع" +msgstr "کد منبع" #: core/translation.cpp editor/project_settings_editor.cpp msgid "Locale" msgstr "بومی" #: core/translation.cpp -#, fuzzy msgid "Test" -msgstr "آزمودن" +msgstr "آزمایش" #: core/translation.cpp scene/resources/font.cpp msgid "Fallback" -msgstr "" +msgstr "بازگشت" #: core/ustring.cpp scene/resources/segment_shape_2d.cpp msgid "B" @@ -1015,17 +964,19 @@ msgstr "اگزابایت" #: drivers/gles3/rasterizer_scene_gles3.cpp #: drivers/gles3/rasterizer_storage_gles3.cpp modules/gltf/gltf_state.cpp msgid "Buffers" -msgstr "" +msgstr "بافرها" #: drivers/gles2/rasterizer_canvas_base_gles2.cpp #: drivers/gles3/rasterizer_canvas_base_gles3.cpp +#, fuzzy msgid "Canvas Polygon Buffer Size (KB)" -msgstr "" +msgstr "اندازه بافر پرده چندضعلی (کیلوبایت)" #: drivers/gles2/rasterizer_canvas_base_gles2.cpp #: drivers/gles3/rasterizer_canvas_base_gles3.cpp +#, fuzzy msgid "Canvas Polygon Index Buffer Size (KB)" -msgstr "" +msgstr "اندازه بافر شاخص پرده چندضعلی (کیلوبایت)" #: drivers/gles2/rasterizer_canvas_base_gles2.cpp #: drivers/gles3/rasterizer_canvas_base_gles3.cpp editor/editor_settings.cpp @@ -1037,7 +988,7 @@ msgstr "" #: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp #: servers/visual_server.cpp msgid "2D" -msgstr "" +msgstr "دو بعدی" #: drivers/gles2/rasterizer_canvas_base_gles2.cpp #: drivers/gles3/rasterizer_canvas_base_gles3.cpp @@ -1047,44 +998,46 @@ msgstr "چفت:" #: drivers/gles2/rasterizer_canvas_base_gles2.cpp #: drivers/gles3/rasterizer_canvas_base_gles3.cpp +#, fuzzy msgid "Use GPU Pixel Snap" -msgstr "" +msgstr "استفاده از قالب زنی پیکسل کارت گرافیک" #: drivers/gles2/rasterizer_scene_gles2.cpp #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Immediate Buffer Size (KB)" -msgstr "" +msgstr "اندازه بافر فوری (کیلوبایت)" #: drivers/gles2/rasterizer_storage_gles2.cpp #: drivers/gles3/rasterizer_storage_gles3.cpp +#, fuzzy msgid "Lightmapping" -msgstr "" +msgstr "نقشه برداری نور" #: drivers/gles2/rasterizer_storage_gles2.cpp #: drivers/gles3/rasterizer_storage_gles3.cpp msgid "Use Bicubic Sampling" -msgstr "" +msgstr "استفاده از نمونه برداری دو مکعبی" #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Max Renderable Elements" -msgstr "" +msgstr "حداکثر عناصر قابل اجرا" #: drivers/gles3/rasterizer_scene_gles3.cpp +#, fuzzy msgid "Max Renderable Lights" -msgstr "" +msgstr "حداکثر نور های قابل رندر" #: drivers/gles3/rasterizer_scene_gles3.cpp -#, fuzzy msgid "Max Renderable Reflections" -msgstr "انتخاب شده را حذف کن" +msgstr "حداکثر بازتابهای قابل رندر" #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Max Lights Per Object" -msgstr "" +msgstr "حداکثر نور ها در هر شیء" #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Subsurface Scattering" -msgstr "" +msgstr "پراکندگی زیر سطحی" #: drivers/gles3/rasterizer_scene_gles3.cpp editor/animation_track_editor.cpp #: editor/import/resource_importer_texture.cpp @@ -1096,29 +1049,29 @@ msgstr "" #: scene/animation/animation_blend_tree.cpp scene/gui/control.cpp #: scene/main/canvas_layer.cpp scene/resources/environment.cpp #: scene/resources/material.cpp scene/resources/particles_material.cpp -#, fuzzy msgid "Scale" -msgstr "بومی" +msgstr "مقیاس" #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Follow Surface" -msgstr "" +msgstr "دنبال کردن سطح" #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Weight Samples" -msgstr "" +msgstr "نمونههای وزنی" #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Voxel Cone Tracing" -msgstr "" +msgstr "ردیابی مخروط واکسلی" #: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp msgid "High Quality" -msgstr "" +msgstr "کیفیت بالا" #: drivers/gles3/rasterizer_storage_gles3.cpp +#, fuzzy msgid "Blend Shape Max Buffer Size (KB)" -msgstr "" +msgstr "حداکثر اندازه بافر شکل ترکیبی (کیلوبایت)" #. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror). #: editor/animation_bezier_editor.cpp @@ -1163,11 +1116,11 @@ msgstr "انتقال نقاط بِزیِر" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" -msgstr "تکرار کلید های متحرک" +msgstr "تکرار کلیدهای متحرک" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Delete Keys" -msgstr "حذف کلید های متحرک" +msgstr "حذف کلیدهای متحرک" #: editor/animation_track_editor.cpp msgid "Anim Change Keyframe Time" @@ -1192,67 +1145,63 @@ msgstr "تغییر فراخوان متحرک" #: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp #: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Frame" -msgstr "انتخاب یک گره" +msgstr "فریم" #: editor/animation_track_editor.cpp editor/editor_profiler.cpp #: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp #: scene/3d/cpu_particles.cpp scene/3d/particles.cpp #: scene/resources/particles_material.cpp servers/visual_server.cpp -#, fuzzy msgid "Time" -msgstr "زمان:" +msgstr "زمان" #: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp #: platform/osx/export/export.cpp -#, fuzzy msgid "Location" -msgstr "بومیسازی" +msgstr "مکان" #: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp #: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp #: scene/3d/remote_transform.cpp scene/3d/spatial.cpp scene/gui/control.cpp -#, fuzzy msgid "Rotation" -msgstr "وضعیت:" +msgstr "چرخش" #: editor/animation_track_editor.cpp editor/script_editor_debugger.cpp #: modules/visual_script/visual_script_nodes.cpp scene/gui/range.cpp msgid "Value" -msgstr "" +msgstr "مقدار" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Arg Count" -msgstr "افزودن عمل ورودی" +msgstr "تعداد Arg" #: editor/animation_track_editor.cpp main/main.cpp #: modules/mono/mono_gd/gd_mono.cpp msgid "Args" -msgstr "" +msgstr "آرگومانها" #: editor/animation_track_editor.cpp editor/editor_settings.cpp #: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp #: modules/gltf/gltf_light.cpp modules/visual_script/visual_script_nodes.cpp #: scene/3d/physics_body.cpp scene/resources/visual_shader_nodes.cpp msgid "Type" -msgstr "" +msgstr "تایپ" #: editor/animation_track_editor.cpp +#, fuzzy msgid "In Handle" -msgstr "" +msgstr "دسته داخل" #: editor/animation_track_editor.cpp msgid "Out Handle" -msgstr "" +msgstr "دسته بیرون" #: editor/animation_track_editor.cpp #: editor/import/resource_importer_texture.cpp #: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp #: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp msgid "Stream" -msgstr "" +msgstr "استریم" #: editor/animation_track_editor.cpp #, fuzzy @@ -1262,7 +1211,7 @@ msgstr "انتخاب حالت" #: editor/animation_track_editor.cpp #, fuzzy msgid "End Offset" -msgstr "ساختن گره" +msgstr "انحراف پایانی" #: editor/animation_track_editor.cpp editor/editor_settings.cpp #: editor/import/resource_importer_scene.cpp @@ -1275,8 +1224,9 @@ msgid "Animation" msgstr "انیمیشن" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Easing" -msgstr "" +msgstr "آسان کردن" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Keyframe Time" @@ -1313,7 +1263,7 @@ msgstr "ویژگی مسیر" #: editor/animation_track_editor.cpp msgid "3D Transform Track" -msgstr "مسیر دگرشکل 3D" +msgstr "مسیر دگرشکل سهبعدی" #: editor/animation_track_editor.cpp msgid "Call Method Track" @@ -1321,7 +1271,7 @@ msgstr "فراخوان تابع مسیر" #: editor/animation_track_editor.cpp msgid "Bezier Curve Track" -msgstr "مسیر منحنی بِزیِر" +msgstr "مسیر منحنی Bezier" #: editor/animation_track_editor.cpp msgid "Audio Playback Track" @@ -1329,19 +1279,19 @@ msgstr "مسیر Audio Playback" #: editor/animation_track_editor.cpp msgid "Animation Playback Track" -msgstr "مسیر پخش Animation" +msgstr "مسیر پخش انیمیشن" #: editor/animation_track_editor.cpp msgid "Animation length (frames)" -msgstr "طول انیمیشن ( frames)" +msgstr "طول انیمیشن (فریم)" #: editor/animation_track_editor.cpp msgid "Animation length (seconds)" -msgstr "طول انیمیشن (seconds)" +msgstr "طول انیمیشن (ثانیه)" #: editor/animation_track_editor.cpp msgid "Add Track" -msgstr "ترک را اضافه کن" +msgstr "افزودن ترک" #: editor/animation_track_editor.cpp msgid "Animation Looping" @@ -1354,15 +1304,15 @@ msgstr "وظایف:" #: editor/animation_track_editor.cpp msgid "Audio Clips:" -msgstr "کلیپ های صوتی:" +msgstr "کلیپهای صوتی:" #: editor/animation_track_editor.cpp msgid "Anim Clips:" -msgstr "کلیپ های انیمیشن:" +msgstr "کلیپهای انیمیشن:" #: editor/animation_track_editor.cpp msgid "Change Track Path" -msgstr "تغییرمیسر path" +msgstr "تغییرمسیر ترک" #: editor/animation_track_editor.cpp msgid "Toggle this track on/off." @@ -1370,11 +1320,11 @@ msgstr "دِگرحالتِ روشن/خاموش این قطعه." #: editor/animation_track_editor.cpp msgid "Update Mode (How this property is set)" -msgstr "حالت بروزرسانی (نحوه تنظیم این ویژگی)" +msgstr "حالت بهروزرسانی (نحوه تنظیم این ویژگی)" #: editor/animation_track_editor.cpp scene/resources/gradient.cpp msgid "Interpolation Mode" -msgstr "حالت درون یابی(درونیابی روشی است برای یافتن مقدار تابع درون یک بازه)" +msgstr "حالت درونیابی" #: editor/animation_track_editor.cpp msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" @@ -1385,25 +1335,22 @@ msgid "Remove this track." msgstr "این ترک را حذف کن." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Time (s):" -msgstr "زمان(s): " +msgstr "زمان:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Position:" -msgstr "برداشتن موج" +msgstr "موقعیت:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Rotation:" -msgstr "وضعیت:" +msgstr "چرخش:" #: editor/animation_track_editor.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp #: editor/plugins/multimesh_editor_plugin.cpp msgid "Scale:" -msgstr "" +msgstr "مقیاس:" #: editor/animation_track_editor.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp @@ -1411,17 +1358,15 @@ msgstr "" #: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Type:" -msgstr "" +msgstr "نوع:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "(Invalid, expected type: %s)" -msgstr "نام دارایی ایندکس نامعتبر." +msgstr "(نامعتبر, نوع مورد انتظار: %s)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Easing:" -msgstr "انتقال" +msgstr "تسهیل:" #: editor/animation_track_editor.cpp msgid "In-Handle:" @@ -1432,23 +1377,20 @@ msgid "Out-Handle:" msgstr "" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Stream:" -msgstr "افزودن مورد" +msgstr "استریم" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Start (s):" -msgstr "شروع" +msgstr "شروع:" #: editor/animation_track_editor.cpp msgid "End (s):" -msgstr "" +msgstr "پایان(ها):" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation Clip:" -msgstr "گره انیمیشن" +msgstr "کلیپ انیمیشن:" #: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" @@ -1507,7 +1449,7 @@ msgstr "اضافه کردن مقدار(های) ریست" #: editor/animation_track_editor.cpp msgid "Delete Key(s)" -msgstr "حذف کلید(key)" +msgstr "حذف کلید(ها)" #: editor/animation_track_editor.cpp msgid "Change Animation Update Mode" @@ -1515,11 +1457,11 @@ msgstr "تغییر حالت بروزرسانی انیمیشن" #: editor/animation_track_editor.cpp msgid "Change Animation Interpolation Mode" -msgstr "تغییر حالت درون یابی(Interpolation ) انیمیشن" +msgstr "تغییر حالت درون یابی (Interpolation) انیمیشن" #: editor/animation_track_editor.cpp msgid "Change Animation Loop Mode" -msgstr "تغییر حالت تکررار (Loop) انیمیشن" +msgstr "تغییر حالت تکرار (Loop) انیمیشن" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" @@ -1532,14 +1474,12 @@ msgstr "حذف ترک انیمشین" #: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp #: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Editors" -msgstr "ویرایشگر" +msgstr "ویرایشگرها" #: editor/animation_track_editor.cpp editor/editor_settings.cpp -#, fuzzy msgid "Confirm Insert Track" -msgstr "درج ترک و کلید در انیمیشن" +msgstr "درج آهنگ را تأیید کنید" #. TRANSLATORS: %s will be replaced by a phrase describing the target of track. #: editor/animation_track_editor.cpp @@ -1561,7 +1501,7 @@ msgstr "ساختن %d قطعه جدید و درج کلیدها؟" #: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Create" -msgstr "تولید" +msgstr "ایجاد کردن" #: editor/animation_track_editor.cpp msgid "Anim Insert" @@ -1584,7 +1524,7 @@ msgstr "انیمیشن پلیر نمی تواند خود را انیمیت کن #. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. #: editor/animation_track_editor.cpp msgid "property '%s'" -msgstr "ویژگی \"٪ s\"" +msgstr "ویژگی '%s'" #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" @@ -1617,14 +1557,14 @@ msgid "" "-AudioStreamPlayer2D\n" "-AudioStreamPlayer3D" msgstr "" -"آهنگ های صوتی فقط می توانند به گره های نوع (nodes) اشاره کنند\n" +"آهنگهای صوتی فقط میتوانند به گرههای نوع (nodes) اشاره کنند:\n" "-AudioStreamPlayer\n" "-AudioStreamPlayer2D\n" "-AudioStreamPlayer3D" #: editor/animation_track_editor.cpp msgid "Animation tracks can only point to AnimationPlayer nodes." -msgstr "آهنگ های انیمیشن فقط می توانند به گره های انیمش پلیر اشاره کنند." +msgstr "آهنگهای انیمیشن فقط میتوانند به گرههای انیمیشن پلیر اشاره کنند." #: editor/animation_track_editor.cpp msgid "Not possible to add a new track without a root" @@ -1632,11 +1572,11 @@ msgstr "بدون ریشه اضافه کردن مسیر امکان پذیر نی #: editor/animation_track_editor.cpp msgid "Invalid track for Bezier (no suitable sub-properties)" -msgstr "مسیر نامعتبر برای بِزیِر( زیر-خواص نامناسب)" +msgstr "مسیر نامعتبر برای Bezier ( زیر-خواص نامناسب)" #: editor/animation_track_editor.cpp msgid "Add Bezier Track" -msgstr "افزودن مسیر بِزیِر" +msgstr "افزودن مسیر Bezier" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a key." @@ -1644,7 +1584,7 @@ msgstr "مسیر قطعه نامعتبر، پس نمیتوان یک کلید #: editor/animation_track_editor.cpp msgid "Track is not of type Spatial, can't insert key" -msgstr "آهنگ از نوع مکانی نیست ، نمی تواند کلید را وارد کند" +msgstr "آهنگ از نوع مکانی نیست، نمیتواند کلید را وارد کند" #: editor/animation_track_editor.cpp msgid "Add Transform Track Key" @@ -1652,7 +1592,7 @@ msgstr "افزودن کلید مسیر دگرشکل" #: editor/animation_track_editor.cpp msgid "Add Track Key" -msgstr "افزودن کلید مسیر" +msgstr "افزودن کلید ترک" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." @@ -1677,7 +1617,7 @@ msgstr "کلیدها را در انیمیشن جابجا کن" #: servers/camera/camera_feed.cpp servers/physics_2d_server.cpp #: servers/physics_server.cpp msgid "Transform" -msgstr "" +msgstr "تبدیل" #: editor/animation_track_editor.cpp editor/editor_help.cpp msgid "Methods" @@ -1685,7 +1625,7 @@ msgstr "روش ها" #: editor/animation_track_editor.cpp msgid "Bezier" -msgstr "" +msgstr "بزیه" #: editor/animation_track_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -2275,8 +2215,9 @@ msgid "Open" msgstr "باز کن" #: editor/dependency_editor.cpp +#, fuzzy msgid "Owners of: %s (Total: %d)" -msgstr "" +msgstr "صاحبان: %s (کل: %d)" #: editor/dependency_editor.cpp msgid "" @@ -2402,7 +2343,7 @@ msgstr "مؤلفان" #: editor/editor_about.cpp msgid "Platinum Sponsors" -msgstr "حامیان پلاتین" +msgstr "حامیان سطح platinum" #: editor/editor_about.cpp msgid "Gold Sponsors" @@ -2418,7 +2359,7 @@ msgstr "اهداکنندگان برنزیحامیان مالی" #: editor/editor_about.cpp msgid "Mini Sponsors" -msgstr "حامیان مالی کوچک" +msgstr "حامیان سطح Mini" #: editor/editor_about.cpp msgid "Gold Donors" @@ -2835,22 +2776,21 @@ msgid "Choose" msgstr "انتخاب کنید" #: editor/editor_export.cpp +#, fuzzy msgid "Project export for platform:" -msgstr "" +msgstr "خروجی پروژه برای سکو:" #: editor/editor_export.cpp -#, fuzzy msgid "Completed with warnings." -msgstr "کپی کردن مسیر node" +msgstr "با هشدار تکمیل شد." #: editor/editor_export.cpp -#, fuzzy msgid "Completed successfully." -msgstr "بسته با موفقیت نصب شد!" +msgstr "با موفقیت انجام شد." #: editor/editor_export.cpp msgid "Failed." -msgstr "" +msgstr "ناموفق." #: editor/editor_export.cpp msgid "Storing File:" @@ -2865,45 +2805,40 @@ msgid "Packing" msgstr "بسته بندی" #: editor/editor_export.cpp -#, fuzzy msgid "Save PCK" -msgstr "ذخیره در" +msgstr "ذخیره PCk" #: editor/editor_export.cpp -#, fuzzy msgid "Cannot create file \"%s\"." -msgstr "ناتوان در ساختن پوشه." +msgstr "نمیتوان فایل \"%s\" راساخت." #: editor/editor_export.cpp -#, fuzzy msgid "Failed to export project files." -msgstr "نمیتواند یک پوشه ایجاد شود." +msgstr "نمیتوان از فایلهای پروژه خروجی گرفت ." #: editor/editor_export.cpp -#, fuzzy msgid "Can't open file to read from path \"%s\"." -msgstr "ناتوان در گشودن پروژه" +msgstr "نمیتوان فایل را از مسیر \"%s\" برای خواندن بازکرد." #: editor/editor_export.cpp -#, fuzzy msgid "Save ZIP" -msgstr "ذخیره در" +msgstr "ذخیره ZIP" #: editor/editor_export.cpp msgid "" "Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " "Etc' in Project Settings." msgstr "" -"پلتفرم مورد نظر به فشرده سازی تکستچر 'ETC' برای GLES2 نیاز دارد . 'واردکردن " -"ETC' را در تنظیمات پروژه فعال کنید." +"پلتفرم مورد نظر به فشرده سازی تکستچر 'ETC' برای GLES2 نیاز دارد . 'Import " +"Etc' را در تنظیمات پروژه فعال کنید." #: editor/editor_export.cpp msgid "" "Target platform requires 'ETC2' texture compression for GLES3. Enable " "'Import Etc 2' in Project Settings." msgstr "" -"پلتفرم مورد نظر به فشرده سازی تکستچر 'ETC' برای GLES2 نیاز دارد . 'واردکردن " -"ETC' را در تنظیمات پروژه فعال کنید." +"پلتفرم مورد نظر به فشرده سازی تکستچر 'ETC2' برای GLES3 نیاز دارد . 'Import " +"Etc2' را در تنظیمات پروژه فعال کنید." #: editor/editor_export.cpp msgid "" @@ -2914,8 +2849,8 @@ msgid "" msgstr "" "پلتفرم هدف به فشردهسازی بافت 'ETC' برای بازگرداندن درایور به GLES2 نیاز " "دارد.\n" -"'استخراج Etc' را در تنظیمات پروژه فعال کنید یا \"Driver Fallback Enabled\" " -"را غیرفعال کنید." +"'Import Etc' را در تنظیمات پروژه فعال کنید یا \"Driver Fallback Enabled\" را " +"غیرفعال کنید." #: editor/editor_export.cpp msgid "" @@ -2940,6 +2875,10 @@ msgid "" "Enable 'Import Pvrtc' in Project Settings, or disable 'Driver Fallback " "Enabled'." msgstr "" +"پلت فرم هدف نیاز به فشرده سازی بافت 'PVRTC' برای بازگشت درایور به GLES2 " +"دارد.\n" +"\"Import Pvrtc\" را در تنظیمات پروژه فعال کنید یا \"Driver Fallback " +"Enabled\" را غیرفعال کنید." #: editor/editor_export.cpp platform/android/export/export_plugin.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp @@ -2953,7 +2892,7 @@ msgstr "عضوها" #: platform/javascript/export/export.cpp platform/osx/export/export.cpp #: platform/uwp/export/export.cpp msgid "Release" -msgstr "" +msgstr "انتشار" #: editor/editor_export.cpp #, fuzzy @@ -2962,11 +2901,11 @@ msgstr "انتقال را در انیمیشن تغییر بده" #: editor/editor_export.cpp msgid "64 Bits" -msgstr "" +msgstr "۶۴ بیت" #: editor/editor_export.cpp msgid "Embed PCK" -msgstr "" +msgstr "جاسازی PCK" #: editor/editor_export.cpp platform/osx/export/export.cpp #, fuzzy @@ -2979,15 +2918,15 @@ msgstr "" #: editor/editor_export.cpp platform/osx/export/export.cpp msgid "S3TC" -msgstr "" +msgstr "S3TC" #: editor/editor_export.cpp platform/osx/export/export.cpp msgid "ETC" -msgstr "" +msgstr "ایتیسی" #: editor/editor_export.cpp platform/osx/export/export.cpp msgid "ETC2" -msgstr "" +msgstr "ایتیسی۲" #: editor/editor_export.cpp msgid "No BPTC Fallbacks" @@ -2997,13 +2936,13 @@ msgstr "" #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp msgid "Custom debug template not found." -msgstr "" +msgstr "قالب اشکال زدایی سفارشی یافت نشد." #: editor/editor_export.cpp platform/android/export/export_plugin.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp msgid "Custom release template not found." -msgstr "" +msgstr "قالب انتشار سفارشی یافت نشد." #: editor/editor_export.cpp #, fuzzy @@ -3028,15 +2967,16 @@ msgstr "نام دارایی ایندکس نامعتبر." #: editor/editor_export.cpp platform/windows/export/export.cpp #: platform/x11/export/export.cpp msgid "PCK Embedding" -msgstr "" +msgstr "تعبیه پیسیکی" #: editor/editor_export.cpp msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB." msgstr "" +"در خروجی های ۳۲ بیتی پیسیکی تعبیه شده نمیتواند از ۴ گیگابایت بزرگتر باشد." #: editor/editor_export.cpp msgid "Convert Text Resources To Binary On Export" -msgstr "" +msgstr "تبدیل منابع متنی به دوتایی هنگام خروجی" #: editor/editor_feature_profile.cpp msgid "3D Editor" @@ -3053,7 +2993,7 @@ msgstr "کتابخانه دارایی" #: editor/editor_feature_profile.cpp msgid "Scene Tree Editing" -msgstr "" +msgstr "ویرایش درخت صحنه" #: editor/editor_feature_profile.cpp msgid "Node Dock" @@ -3070,15 +3010,15 @@ 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." @@ -3089,32 +3029,35 @@ msgid "" "Allows to work with signals and groups of the node selected in the Scene " "dock." msgstr "" +"به کار کردن با سیگنال ها و گروه ها ی گره انتخاب شده از داک صحنه اجازه میدهد." #: editor/editor_feature_profile.cpp msgid "Allows to browse the local file system via a dedicated dock." -msgstr "" +msgstr "به مرور سیستم فایل محلی از طریق یک داک اختصاصی اجازه می دهد." #: editor/editor_feature_profile.cpp msgid "" "Allows to configure import settings for individual assets. Requires the " "FileSystem dock to function." msgstr "" +"به پیکربندی تنظیمات Import برای دارایی های فردی اجازه می دهد. برای عملکرد به " +"داک FileSystem نیاز دارد." #: editor/editor_feature_profile.cpp msgid "(current)" -msgstr "" +msgstr "(کنونی)" #: editor/editor_feature_profile.cpp msgid "(none)" -msgstr "" +msgstr "(هیچ)" #: editor/editor_feature_profile.cpp msgid "Remove currently selected profile, '%s'? Cannot be undone." -msgstr "" +msgstr "نمایه انتخابی فعلی، '%s' حذف شود؟ قابل واگرد نیست." #: editor/editor_feature_profile.cpp msgid "Profile must be a valid filename and must not contain '.'" -msgstr "" +msgstr "پروفایل باید یک نام فایل معتبر باشد و نباید حاوی «.» باشد" #: editor/editor_feature_profile.cpp msgid "Profile with this name already exists." @@ -3122,7 +3065,7 @@ msgstr "نمایه با این نام در حال حاضر وجود دارد." #: editor/editor_feature_profile.cpp msgid "(Editor Disabled, Properties Disabled)" -msgstr "" +msgstr "(ویرایشگر غیرفعال است، ویژگیها غیرفعال است)" #: editor/editor_feature_profile.cpp msgid "(Properties Disabled)" @@ -3141,52 +3084,48 @@ 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 "نودها (Nodes) و کلاسها:" #: 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 "" +"پروفایل '%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 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:" @@ -3211,18 +3150,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:" @@ -3245,9 +3182,8 @@ msgid "Manage Editor Feature Profiles" msgstr "مدیریت ویژگی نمایههای ویرایشگر" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Default Feature Profile" -msgstr "ویژگی نمایه Godot" +msgstr "پروفایل ویژگی پیشفرض" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select Current Folder" @@ -3264,7 +3200,7 @@ msgstr "برگزیدن این پوشه" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "Copy Path" -msgstr "" +msgstr "کپی کردن مسیر" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "Open in File Manager" @@ -3281,7 +3217,7 @@ msgstr "ساختن پوشه..." #: editor/editor_file_dialog.cpp editor/find_in_files.cpp msgid "Refresh" -msgstr "" +msgstr "تازهسازی" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -3320,14 +3256,12 @@ msgid "Save a File" msgstr "یک پرونده را ذخیره کن" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Access" -msgstr "موفقیت!" +msgstr "دسترسی" #: editor/editor_file_dialog.cpp editor/editor_settings.cpp -#, fuzzy msgid "Display Mode" -msgstr "حالت صدور:" +msgstr "حالت نمایش" #: editor/editor_file_dialog.cpp #: editor/import/resource_importer_layered_texture.cpp @@ -3340,71 +3274,67 @@ msgstr "حالت صدور:" #: scene/resources/environment.cpp scene/resources/material.cpp #: scene/resources/visual_shader.cpp #: servers/audio/effects/audio_effect_distortion.cpp -#, fuzzy msgid "Mode" -msgstr "انتخاب حالت" +msgstr "حالت" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp #, fuzzy msgid "Current Dir" -msgstr "نمایه موجود:" +msgstr "دایرکتوری کنونی" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Current File" -msgstr "نمایه موجود:" +msgstr "فایل فعلی" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Current Path" -msgstr "نمایه موجود:" +msgstr "مسیر فعلی" #: editor/editor_file_dialog.cpp editor/editor_settings.cpp #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Show Hidden Files" -msgstr "نمایش در فایلسیستم" +msgstr "نمایش فایلهای پنهان شده" #: editor/editor_file_dialog.cpp msgid "Disable Overwrite Warning" -msgstr "" +msgstr "غیرفعال کردن هشدار بازنویسی" #: editor/editor_file_dialog.cpp msgid "Go Back" -msgstr "" +msgstr "به عقب بازگردید" #: editor/editor_file_dialog.cpp msgid "Go Forward" -msgstr "" +msgstr "جلو بروید" #: editor/editor_file_dialog.cpp msgid "Go Up" -msgstr "" +msgstr "بالا بروید" #: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "" +msgstr "تغییر فایلهای پنهان" #: editor/editor_file_dialog.cpp msgid "Toggle Favorite" -msgstr "" +msgstr "تغییر موارد دلخواه" #: editor/editor_file_dialog.cpp editor/editor_resource_picker.cpp #: scene/gui/base_button.cpp msgid "Toggle Mode" -msgstr "" +msgstr "تغییر حالت" #: editor/editor_file_dialog.cpp msgid "Focus Path" -msgstr "" +msgstr "مسیر تمرکز" #: editor/editor_file_dialog.cpp msgid "Move Favorite Up" -msgstr "" +msgstr "انتقال موارد دلخواه به بالا" #: editor/editor_file_dialog.cpp msgid "Move Favorite Down" -msgstr "" +msgstr "انتقال موارد دلخواه به پایین" #: editor/editor_file_dialog.cpp msgid "Go to previous folder." @@ -3428,15 +3358,15 @@ msgstr "پوشه موجود (غیر)محبوب." #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Toggle the visibility of hidden files." -msgstr "" +msgstr "تغییر پدیدار بودن فایلهای مخفی شده." #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails." -msgstr "" +msgstr "دیدن موارد به صورت جدولی از پیشنمایشها." #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "View items as a list." -msgstr "" +msgstr "مشاهده موارد به عنوان فهرست." #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" @@ -3445,7 +3375,7 @@ msgstr "پوشهها و پروندهها:" #: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp #: editor/plugins/style_box_editor_plugin.cpp editor/rename_dialog.cpp msgid "Preview:" -msgstr "" +msgstr "پیشنمایش:" #: editor/editor_file_dialog.cpp #: editor/plugins/version_control_editor_plugin.cpp scene/gui/file_dialog.cpp @@ -3454,27 +3384,30 @@ msgstr "پرونده:" #: editor/editor_file_system.cpp msgid "ScanSources" -msgstr "" +msgstr "منابعاسکن" #: editor/editor_file_system.cpp msgid "" "There are multiple importers for different types pointing to file %s, import " "aborted" msgstr "" +"چندین واردکننده برای انواع مختلف وجود دارد که به فایل %s اشاره میکنند، وارد " +"کردن لغو شد" #: editor/editor_file_system.cpp msgid "(Re)Importing Assets" msgstr "(در حال) وارد کردن دوباره عست ها" #: editor/editor_file_system.cpp +#, fuzzy msgid "Reimport Missing Imported Files" -msgstr "" +msgstr "وارد کردن دوباره فایل های وارد شده ناپیدا" #: editor/editor_help.cpp scene/2d/camera_2d.cpp scene/gui/control.cpp #: scene/gui/nine_patch_rect.cpp scene/resources/dynamic_font.cpp #: scene/resources/style_box.cpp scene/resources/texture.cpp msgid "Top" -msgstr "" +msgstr "بالا" #: editor/editor_help.cpp msgid "Class:" @@ -3483,7 +3416,7 @@ msgstr "کلاس:" #: editor/editor_help.cpp editor/scene_tree_editor.cpp #: editor/script_create_dialog.cpp msgid "Inherits:" -msgstr "میراث:" +msgstr "ارث میبرد از:" #: editor/editor_help.cpp msgid "Inherited by:" @@ -3491,7 +3424,7 @@ msgstr "به ارث رسیده به وسیله:" #: editor/editor_help.cpp msgid "Online Tutorials" -msgstr "" +msgstr "آموزشهای آنلاین" #: editor/editor_help.cpp msgid "Properties" @@ -3499,7 +3432,7 @@ msgstr "خصوصیات" #: editor/editor_help.cpp msgid "overrides %s:" -msgstr "" +msgstr "%s را لغو می کند:" #: editor/editor_help.cpp msgid "default:" @@ -3513,7 +3446,7 @@ msgstr "خصوصیات زمینه" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/gradient.cpp msgid "Colors" -msgstr "" +msgstr "رنگها" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constants" @@ -3521,16 +3454,16 @@ msgstr "ثابت ها" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp msgid "Fonts" -msgstr "" +msgstr "فونتها" #: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp #: platform/iphone/export/export.cpp msgid "Icons" -msgstr "" +msgstr "آیکونها" #: editor/editor_help.cpp msgid "Styles" -msgstr "" +msgstr "استایلها" #: editor/editor_help.cpp msgid "Enumerations" @@ -3565,9 +3498,8 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #: modules/gdscript/editor/gdscript_highlighter.cpp #: modules/gdscript/gdscript_editor.cpp -#, fuzzy msgid "Text Editor" -msgstr "گشودن در ویرایشگر" +msgstr "ویرایشگر متن" #: editor/editor_help.cpp editor/editor_node.cpp editor/editor_settings.cpp #: editor/plugins/shader_editor_plugin.cpp @@ -3576,7 +3508,7 @@ msgstr "راهنما" #: editor/editor_help.cpp msgid "Sort Functions Alphabetically" -msgstr "" +msgstr "مرتب کردن توابع بر اساس حروف الفبا" #: editor/editor_help_search.cpp editor/editor_node.cpp #: editor/plugins/script_editor_plugin.cpp @@ -3635,7 +3567,7 @@ msgstr "روش" #: modules/visual_script/visual_script_func_nodes.cpp #: modules/visual_script/visual_script_yield_nodes.cpp msgid "Signal" -msgstr "سیگنال" +msgstr "سیگنال" #: editor/editor_help_search.cpp modules/visual_script/visual_script_nodes.cpp #: scene/resources/visual_shader_nodes.cpp @@ -3657,43 +3589,40 @@ msgstr "ویژگی:" #: editor/editor_inspector.cpp editor/editor_spin_slider.cpp msgid "Label" -msgstr "" +msgstr "برچسب" #: editor/editor_inspector.cpp editor/editor_spin_slider.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Read Only" -msgstr "تنها روشها" +msgstr "فقط مطالعه" #: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp msgid "Checkable" -msgstr "" +msgstr "قابل بررسی" #: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Checked" -msgstr "همهی انتخاب ها" +msgstr "بررسی شده" #: editor/editor_inspector.cpp -#, fuzzy msgid "Draw Red" -msgstr "فراخوانی" +msgstr "رسم قرمز" #: editor/editor_inspector.cpp -#, fuzzy msgid "Keying" -msgstr "پخش" +msgstr "کلیدزدن" #: editor/editor_inspector.cpp -#, fuzzy msgid "Pin value" -msgstr "(مقدار)" +msgstr "مقدار سنجاق" #: editor/editor_inspector.cpp msgid "" "Pinning a value forces it to be saved even if it's equal to the default." msgstr "" +"پین کردن یک مقدار آن را مجبور می کند حتی اگر برابر با مقدار پیش فرض باشد " +"ذخیره شود." #: editor/editor_inspector.cpp msgid "Pin value [Disabled because '%s' is editor-only]" @@ -3714,26 +3643,23 @@ msgstr "تعیین چندگانه:" #: editor/editor_inspector.cpp msgid "Pinned %s" -msgstr "" +msgstr "%s سنجاق شد" #: editor/editor_inspector.cpp msgid "Unpinned %s" -msgstr "" +msgstr "سنجاق %s برداشته شد" #: editor/editor_inspector.cpp -#, fuzzy msgid "Copy Property" -msgstr "خصوصیات" +msgstr "کپی کردن دارایی" #: editor/editor_inspector.cpp -#, fuzzy msgid "Paste Property" -msgstr "خصوصیات" +msgstr "چسباندن دارایی" #: editor/editor_inspector.cpp -#, fuzzy msgid "Copy Property Path" -msgstr "رونوشت مسیر گره" +msgstr "کپی کردن مسیر دارایی" #: editor/editor_log.cpp msgid "Output:" @@ -3741,7 +3667,7 @@ msgstr "خروجی:" #: editor/editor_log.cpp editor/plugins/tile_map_editor_plugin.cpp msgid "Copy Selection" -msgstr "کپی برگزیده" +msgstr "کپی انتخاب" #: editor/editor_log.cpp editor/editor_network_profiler.cpp #: editor/editor_profiler.cpp editor/editor_resource_picker.cpp @@ -3786,19 +3712,19 @@ msgstr "گره" #: editor/editor_network_profiler.cpp msgid "Incoming RPC" -msgstr "" +msgstr "ورودی RPC" #: editor/editor_network_profiler.cpp msgid "Incoming RSET" -msgstr "" +msgstr "ورودی RSET" #: editor/editor_network_profiler.cpp msgid "Outgoing RPC" -msgstr "" +msgstr "خروجی RPC" #: editor/editor_network_profiler.cpp msgid "Outgoing RSET" -msgstr "" +msgstr "خروجی RSET" #: editor/editor_node.cpp editor/project_manager.cpp msgid "New Window" @@ -3817,11 +3743,11 @@ msgstr "" #: editor/editor_node.cpp msgid "Spins when the editor window redraws." -msgstr "" +msgstr "هنگامی که پنجره ویرایشگر دوباره ترسیم می شود می چرخد." #: editor/editor_node.cpp msgid "Imported resources can't be saved." -msgstr "" +msgstr "منابع وارد شده را نمیتوان ذخیره کرد." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp @@ -3845,19 +3771,19 @@ msgstr "ذخیره منبع از ..." #: editor/editor_node.cpp msgid "Can't open file for writing:" -msgstr "" +msgstr "نمیتوان فایل را برای نوشتن باز کرد:" #: editor/editor_node.cpp msgid "Requested file format unknown:" -msgstr "" +msgstr "فرمت فایل درخواست شده ناشناخته است:" #: editor/editor_node.cpp msgid "Error while saving." -msgstr "" +msgstr "خطا در هنگام ذخیرهسازی." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Can't open '%s'. The file could have been moved or deleted." -msgstr "" +msgstr "نمیتوان %s را باز کرد. این فایل میتواند انتقال یافته یا حذف شده باشد." #: editor/editor_node.cpp msgid "Error while parsing '%s'." @@ -3865,7 +3791,7 @@ msgstr "خطا هنگام تجزیه '%s'." #: editor/editor_node.cpp msgid "Unexpected end of file '%s'." -msgstr "" +msgstr "پایان غیر منتظرهٔ فایل '%s'." #: editor/editor_node.cpp msgid "Missing '%s' or its dependencies." @@ -3885,7 +3811,7 @@ msgstr "در حال پردازش" #: editor/editor_node.cpp msgid "Creating Thumbnail" -msgstr "" +msgstr "ایجاد بند انگشتی" #: editor/editor_node.cpp msgid "This operation can't be done without a tree root." @@ -3902,10 +3828,11 @@ msgid "" "Couldn't save scene. Likely dependencies (instances or inheritance) couldn't " "be satisfied." msgstr "" +"صحنه ذخیره نشد. وابستگیهای احتمالی (نمونهها یا وراثت) را نمیتوان راضی کرد." #: editor/editor_node.cpp msgid "Could not save one or more scenes!" -msgstr "" +msgstr "نمیتوان یک یا چند صحنه را ذخیره کرد!" #: editor/editor_node.cpp msgid "Save All Scenes" @@ -3913,15 +3840,15 @@ msgstr "ذخیره صحنه" #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "Can't overwrite scene that is still open!" -msgstr "" +msgstr "نمیتوان صحنهای که هنوز باز است را بازنویسی کرد!" #: editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" -msgstr "" +msgstr "نمیتوان MeshLibrary را برای ادغام بارگیری کرد!" #: editor/editor_node.cpp msgid "Error saving MeshLibrary!" -msgstr "" +msgstr "خطا در ذخیره MeshLibrary!" #: editor/editor_node.cpp msgid "Can't load TileSet for merging!" @@ -3936,6 +3863,8 @@ msgid "" "An error occurred while trying to save the editor layout.\n" "Make sure the editor's user data path is writable." msgstr "" +"هنگام تلاش برای ذخیرهٔ چیدمان ویرایشگر خطایی روی داد.\n" +" مطمئن شوید که مسیر داده کاربر در ویرایشگر قابل نوشتن است." #: editor/editor_node.cpp msgid "" @@ -3946,11 +3875,11 @@ msgstr "" #: editor/editor_node.cpp msgid "Layout name not found!" -msgstr "" +msgstr "نام چیدمان پیدا نشد!" #: editor/editor_node.cpp msgid "Restored the Default layout to its base settings." -msgstr "" +msgstr "طرحبندی پیشفرض را به تنظیمات پایه آن بازگرداند." #: editor/editor_node.cpp msgid "" @@ -3970,6 +3899,8 @@ msgid "" "This resource was imported, so it's not editable. Change its settings in the " "import panel and then re-import." msgstr "" +"این منبع وارد شده است، بنابراین قابل ویرایش نیست. تنظیمات آن را در پنل وارد " +"کردن تغییر دهید و سپس دوباره وارد کنید." #: editor/editor_node.cpp msgid "" @@ -3978,6 +3909,9 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" +"این صحنه وارد شده است، بنابراین تغییرات در آن حفظ نخواهد شد. نمونهبرداری یا " +"به ارث بردن آن اجازه میدهد تا تغییراتی در آن ایجاد کنید. لطفاً اسناد مربوط به " +"وارد کردن صحنهها را بخوانید تا این گردش کار را بهتر درک کنید." #: editor/editor_node.cpp msgid "" @@ -4541,6 +4475,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "پروژه" @@ -4922,7 +4857,7 @@ msgstr "خطاهای بارگذاری" #: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp #: modules/visual_script/visual_script_nodes.cpp msgid "Select" -msgstr "" +msgstr "انتخاب" #: editor/editor_node.cpp #, fuzzy @@ -5089,7 +5024,7 @@ msgstr "" #: scene/3d/collision_object.cpp scene/3d/soft_body.cpp #: scene/main/canvas_layer.cpp msgid "Layer" -msgstr "" +msgstr "لایه" #: editor/editor_properties.cpp msgid "Bit %d, value %d" @@ -5101,7 +5036,7 @@ msgstr "" #: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp msgid "Assign..." -msgstr "" +msgstr "واگذار کردن..." #: editor/editor_properties.cpp #, fuzzy @@ -6847,7 +6782,7 @@ msgstr "تغییر نام" #: editor/filesystem_dock.cpp msgid "Overwrite" -msgstr "" +msgstr "بازنویسی" #: editor/filesystem_dock.cpp #, fuzzy @@ -7445,7 +7380,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -7689,7 +7625,7 @@ msgstr "" #: editor/plugin_config_dialog.cpp msgid "Subfolder:" -msgstr "" +msgstr "زیرپوشه:" #: editor/plugin_config_dialog.cpp #: editor/plugins/version_control_editor_plugin.cpp @@ -7703,7 +7639,7 @@ msgstr "نسخه:" #: editor/plugin_config_dialog.cpp editor/script_create_dialog.cpp msgid "Language:" -msgstr "" +msgstr "زبان:" #: editor/plugin_config_dialog.cpp #, fuzzy @@ -7850,7 +7786,7 @@ msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Point" -msgstr "" +msgstr "نقطه" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -8279,16 +8215,16 @@ msgstr "افزودن گره" #: editor/plugins/animation_state_machine_editor.cpp msgid "End" -msgstr "" +msgstr "پایان" #: editor/plugins/animation_state_machine_editor.cpp msgid "Immediate" -msgstr "" +msgstr "فوری" #: editor/plugins/animation_state_machine_editor.cpp #: scene/animation/animation_blend_tree.cpp msgid "Sync" -msgstr "" +msgstr "همگامسازی" #: editor/plugins/animation_state_machine_editor.cpp msgid "At End" @@ -8298,7 +8234,7 @@ msgstr "" #: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp #: scene/3d/vehicle_body.cpp msgid "Travel" -msgstr "" +msgstr "سفر" #: editor/plugins/animation_state_machine_editor.cpp msgid "Start and end nodes are needed for a sub-transition." @@ -9600,7 +9536,7 @@ msgstr "" #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" -msgstr "" +msgstr "ذرات سیپییو" #: editor/plugins/cpu_particles_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp @@ -9712,14 +9648,14 @@ msgstr "یک Breakpoint درج کن" #: scene/gui/rich_text_label.cpp scene/gui/text_edit.cpp #: scene/resources/primitive_meshes.cpp msgid "Text" -msgstr "" +msgstr "متن" #: editor/plugins/item_list_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp main/main.cpp #: platform/osx/export/export.cpp platform/windows/export/export.cpp #: scene/gui/button.cpp scene/gui/item_list.cpp msgid "Icon" -msgstr "" +msgstr "آیکون" #: editor/plugins/item_list_editor_plugin.cpp msgid "ID" @@ -10256,7 +10192,7 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp editor/project_export.cpp #: main/main.cpp servers/visual_server.cpp msgid "Options" -msgstr "" +msgstr "گزینه ها" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -10408,7 +10344,7 @@ msgstr "ویرایش سیگنال" #: editor/plugins/polygon_2d_editor_plugin.cpp scene/3d/skeleton.cpp msgid "Bones" -msgstr "" +msgstr "استخوانها" #: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy @@ -10467,7 +10403,7 @@ msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Radius:" -msgstr "" +msgstr "شعاع:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Copy Polygon to UV" @@ -10954,7 +10890,7 @@ msgstr "منبع" #: editor/plugins/script_text_editor.cpp platform/uwp/export/export.cpp #: scene/3d/interpolated_camera.cpp scene/animation/skeleton_ik.cpp msgid "Target" -msgstr "" +msgstr "هدف" #: editor/plugins/script_text_editor.cpp #, fuzzy @@ -11018,7 +10954,7 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" -msgstr "" +msgstr "نشانکها" #: editor/plugins/script_text_editor.cpp #, fuzzy @@ -11180,8 +11116,9 @@ msgid "Create Rest Pose from Bones" msgstr "پخش سفارشی صحنه" #: editor/plugins/skeleton_2d_editor_plugin.cpp +#, fuzzy msgid "Skeleton2D" -msgstr "" +msgstr "اسکلت2D" #: editor/plugins/skeleton_2d_editor_plugin.cpp #, fuzzy @@ -11200,7 +11137,7 @@ msgstr "" #: modules/gltf/gltf_node.cpp modules/gltf/gltf_skin.cpp #: scene/2d/polygon_2d.cpp scene/3d/mesh_instance.cpp msgid "Skeleton" -msgstr "" +msgstr "اسکلت" #: editor/plugins/skeleton_editor_plugin.cpp #, fuzzy @@ -11303,7 +11240,7 @@ msgstr "" #: editor/plugins/texture_region_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp scene/resources/visual_shader.cpp msgid "None" -msgstr "" +msgstr "هیچکدام" #: editor/plugins/spatial_editor_plugin.cpp scene/2d/path_2d.cpp #, fuzzy @@ -11695,8 +11632,9 @@ msgid "4 Viewports" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy msgid "Gizmos" -msgstr "" +msgstr "گیزموها" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Origin" @@ -11884,7 +11822,7 @@ msgstr "" #: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" -msgstr "" +msgstr "اسپرایت" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy @@ -12022,11 +11960,11 @@ msgstr "انتخاب یک گره" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Horizontal:" -msgstr "" +msgstr "افقی:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Vertical:" -msgstr "" +msgstr "عمودی:" #: editor/plugins/sprite_frames_editor_plugin.cpp #: editor/plugins/texture_region_editor_plugin.cpp @@ -12037,7 +11975,7 @@ msgstr "شمارش ها:" #: editor/plugins/sprite_frames_editor_plugin.cpp #: editor/plugins/texture_region_editor_plugin.cpp msgid "Offset:" -msgstr "" +msgstr "انحراف:" #: editor/plugins/sprite_frames_editor_plugin.cpp #, fuzzy @@ -12078,11 +12016,11 @@ msgstr "" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Step:" -msgstr "" +msgstr "قدم:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "TextureRegion" -msgstr "" +msgstr "ناحیه تکسچر" #: editor/plugins/theme_editor_plugin.cpp msgid "Styleboxes" @@ -12632,7 +12570,7 @@ msgstr "غیرفعال شده" #: editor/plugins/theme_editor_preview.cpp scene/resources/mesh_library.cpp msgid "Item" -msgstr "" +msgstr "مورد" #: editor/plugins/theme_editor_preview.cpp #, fuzzy @@ -12663,7 +12601,7 @@ msgstr "" #: editor/plugins/theme_editor_preview.cpp #: scene/resources/default_theme/default_theme.cpp msgid "Submenu" -msgstr "" +msgstr "زیرمنو" #: editor/plugins/theme_editor_preview.cpp msgid "Subitem 1" @@ -12675,11 +12613,11 @@ msgstr "" #: editor/plugins/theme_editor_preview.cpp msgid "Has" -msgstr "" +msgstr "دارد" #: editor/plugins/theme_editor_preview.cpp msgid "Many" -msgstr "" +msgstr "بسیاری" #: editor/plugins/theme_editor_preview.cpp #, fuzzy @@ -12705,11 +12643,11 @@ msgstr "فرزند قابل ویرایش" #: editor/plugins/theme_editor_preview.cpp msgid "Subtree" -msgstr "" +msgstr "زیردرخت" #: editor/plugins/theme_editor_preview.cpp msgid "Has,Many,Options" -msgstr "" +msgstr "دارد،بسیار،گزینهها" #: editor/plugins/theme_editor_preview.cpp msgid "Invalid path, the PackedScene resource was probably moved or removed." @@ -12771,8 +12709,9 @@ msgid "Find Tile" msgstr "یافتن" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy msgid "Transpose" -msgstr "" +msgstr "جابهجا کردن" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Disable Autotile" @@ -13611,11 +13550,11 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vector" -msgstr "" +msgstr "بردار" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Boolean" -msgstr "" +msgstr "بولی" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -13715,7 +13654,7 @@ msgstr "تغییر بده" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" -msgstr "" +msgstr "رأس" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -13725,7 +13664,7 @@ msgstr "نشانوندها:" #: editor/plugins/visual_shader_editor_plugin.cpp modules/gltf/gltf_node.cpp #: scene/3d/light.cpp msgid "Light" -msgstr "" +msgstr "نور" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -14431,7 +14370,7 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "VisualShader" -msgstr "" +msgstr "شیدر دیداری" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -14445,7 +14384,7 @@ msgstr "تغییر بده" #: editor/project_export.cpp msgid "Runnable" -msgstr "" +msgstr "قابل اجرا" #: editor/project_export.cpp msgid "Export the project for all the presets defined." @@ -14472,11 +14411,11 @@ msgstr "صدور پروژه" #: editor/project_export.cpp msgid "Presets" -msgstr "" +msgstr "پیش فرض ها" #: editor/project_export.cpp editor/project_settings_editor.cpp msgid "Add..." -msgstr "" +msgstr "افزودن..." #: editor/project_export.cpp msgid "" @@ -14490,15 +14429,15 @@ msgstr "منابع" #: editor/project_export.cpp msgid "Export all resources in the project" -msgstr "" +msgstr "صدور همه منابع در پروژه" #: editor/project_export.cpp msgid "Export selected scenes (and dependencies)" -msgstr "" +msgstr "صدور صحنه های انتخاب شده (و وابستگی ها)" #: editor/project_export.cpp msgid "Export selected resources (and dependencies)" -msgstr "" +msgstr "صدور منابع انتخاب شده (و وابستگی ها)" #: editor/project_export.cpp msgid "Export Mode:" @@ -14748,8 +14687,9 @@ msgid "Project Installation Path:" msgstr "مسیر پروژه:" #: editor/project_manager.cpp +#, fuzzy msgid "Renderer:" -msgstr "" +msgstr "رندرر:" #: editor/project_manager.cpp msgid "OpenGL ES 3.0" @@ -15232,7 +15172,7 @@ msgstr "تنظیمات پروژه (پروژه.گودات)" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "General" -msgstr "هَمِگان" +msgstr "عمومی" #: editor/project_settings_editor.cpp msgid "Override For..." @@ -15340,11 +15280,11 @@ msgstr "" #: editor/property_editor.cpp msgid "File..." -msgstr "" +msgstr "فایل..." #: editor/property_editor.cpp msgid "Dir..." -msgstr "" +msgstr "دایرکتوری..." #: editor/property_editor.cpp msgid "Assign" @@ -15405,7 +15345,7 @@ msgstr "" #: editor/rename_dialog.cpp msgid "Substitute" -msgstr "" +msgstr "جایگزین" #: editor/rename_dialog.cpp #, fuzzy @@ -15453,8 +15393,9 @@ msgid "Amount by which counter is incremented for each node" msgstr "" #: editor/rename_dialog.cpp +#, fuzzy msgid "Padding" -msgstr "" +msgstr "لایه گذاری" #: editor/rename_dialog.cpp msgid "" @@ -15464,15 +15405,16 @@ msgstr "" #: editor/rename_dialog.cpp msgid "Post-Process" -msgstr "" +msgstr "پس-پردازش" #: editor/rename_dialog.cpp msgid "Style" -msgstr "" +msgstr "شیوه" #: editor/rename_dialog.cpp +#, fuzzy msgid "Keep" -msgstr "" +msgstr "نگه داشتن" #: editor/rename_dialog.cpp msgid "PascalCase to snake_case" @@ -15699,18 +15641,19 @@ msgstr "" msgid "Make Local" msgstr "محلی" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "نام گره:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "نام هماکنون توسط تابع/متغیر/سیگنال استفاده شده است:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "نام گره:" #: editor/scene_tree_dock.cpp @@ -15919,6 +15862,11 @@ msgstr "دکمه" #: editor/scene_tree_editor.cpp #, fuzzy +msgid "Disable Scene Unique Name" +msgstr "نام گره:" + +#: editor/scene_tree_editor.cpp +#, fuzzy msgid "(Connecting From)" msgstr "خطای اتصال" @@ -15983,6 +15931,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "تغییر نام گره" @@ -17913,6 +17865,21 @@ msgstr "همهی انتخاب ها" msgid "Auto Update Project" msgstr "پروژه بی نام" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "نشان دادن همه" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "یک فهرست انتخاب کنید" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "یک فهرست انتخاب کنید" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -19764,6 +19731,11 @@ msgstr "ساختن گره" msgid "Custom BG Color" msgstr "ساختن گره" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "خروجی" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20610,6 +20582,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid package short name." msgstr "نام نامعتبر." @@ -28377,4 +28355,4 @@ msgstr "" #: servers/visual_server.cpp msgid "Shader Cache Size (MB)" -msgstr "" +msgstr "اندازه کش شیدر (مگابایت)" diff --git a/editor/translations/fi.po b/editor/translations/fi.po index db841ef48a..c560e51b01 100644 --- a/editor/translations/fi.po +++ b/editor/translations/fi.po @@ -4636,6 +4636,7 @@ msgstr "Sekalaiset projekti- tai kohtaustyökalut." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Projekti" @@ -7574,7 +7575,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15634,18 +15636,19 @@ msgstr "" msgid "Make Local" msgstr "Tee paikallinen" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Solmun nimi:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "Nimi on jo toisen funktion/muuttujan/signaalin käytössä:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Solmun nimi:" #: editor/scene_tree_dock.cpp @@ -15848,6 +15851,11 @@ msgid "Button Group" msgstr "Painikeryhmä" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Solmun nimi:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(Yhdistetään paikasta)" @@ -15923,6 +15931,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "Virheellinen solmun nimi, seuraavat merkit eivät ole sallittuja:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "Nimeä solmu uudelleen" @@ -17850,6 +17862,21 @@ msgstr "Muodosta ratkaisu" msgid "Auto Update Project" msgstr "Nimetön projekti" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Näytä kaikki" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Valitse hakemisto" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Valitse hakemisto" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "Sisemmän poikkeuksen kutsupinon loppu" @@ -19718,6 +19745,11 @@ msgstr "Mukautettu solmu" msgid "Custom BG Color" msgstr "Mukautettu solmu" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Laajenna kaikki" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20615,6 +20647,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "Paketin lyhyt nimi on virheellinen." diff --git a/editor/translations/fil.po b/editor/translations/fil.po index 0a154fd6ae..e6d675f5ca 100644 --- a/editor/translations/fil.po +++ b/editor/translations/fil.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2022-05-15 09:38+0000\n" +"PO-Revision-Date: 2022-08-30 03:11+0000\n" "Last-Translator: Marco Santos <enum.scima@gmail.com>\n" "Language-Team: Filipino <https://hosted.weblate.org/projects/godot-engine/" "godot/fil/>\n" @@ -21,7 +21,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.13-dev\n" +"X-Generator: Weblate 4.14.1-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" @@ -33,7 +33,7 @@ msgstr "Clipboard" #: core/bind/core_bind.cpp msgid "Current Screen" -msgstr "Kasalukuyang Screen" +msgstr "Screen Ngayon" #: core/bind/core_bind.cpp msgid "Exit Code" @@ -41,15 +41,15 @@ msgstr "Umalis sa Code" #: core/bind/core_bind.cpp msgid "V-Sync Enabled" -msgstr "Binuksan ang V-Sync" +msgstr "Nakabukas na ang V-Sync" #: core/bind/core_bind.cpp main/main.cpp msgid "V-Sync Via Compositor" -msgstr "V-Sync Via Compositor" +msgstr "V-Sync gamit Compositor" #: core/bind/core_bind.cpp main/main.cpp msgid "Delta Smoothing" -msgstr "Delta Smoothing" +msgstr "Pagkinis sa Delta" #: core/bind/core_bind.cpp msgid "Low Processor Usage Mode" @@ -57,7 +57,7 @@ msgstr "Mababang Paggamit sa Processor" #: core/bind/core_bind.cpp msgid "Low Processor Usage Mode Sleep (µsec)" -msgstr "Mababang Paggamit sa Processor Tulog (µsec)" +msgstr "Pagtulog ng Mababang Paggamit sa Processor (µsec)" #: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp msgid "Keep Screen On" @@ -65,15 +65,15 @@ msgstr "Panatilihing Nakabukas ang Screen" #: core/bind/core_bind.cpp msgid "Min Window Size" -msgstr "Min na Laki ng Window" +msgstr "Min na Sukat ng Window" #: core/bind/core_bind.cpp msgid "Max Window Size" -msgstr "Max na Laki ng Window" +msgstr "Max na Sukat ng Window" #: core/bind/core_bind.cpp msgid "Screen Orientation" -msgstr "Screen Orientation" +msgstr "Orientation ng Screen" #: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp #: platform/uwp/os_uwp.cpp @@ -86,7 +86,7 @@ msgstr "Walang border" #: core/bind/core_bind.cpp msgid "Per Pixel Transparency Enabled" -msgstr "Nakabukas ang Kada Pixel na Transparency" +msgstr "Nakabukas na ang Kada Pixel na Transparency" #: core/bind/core_bind.cpp core/project_settings.cpp msgid "Fullscreen" @@ -123,7 +123,7 @@ msgstr "Posisyon" #: scene/resources/style_box.cpp scene/resources/texture.cpp #: scene/resources/visual_shader.cpp servers/visual_server.cpp msgid "Size" -msgstr "Laki" +msgstr "Sukat" #: core/bind/core_bind.cpp msgid "Endian Swap" @@ -131,15 +131,15 @@ msgstr "Endian Swap" #: core/bind/core_bind.cpp msgid "Editor Hint" -msgstr "Editor Hint" +msgstr "Hint sa Editor" #: core/bind/core_bind.cpp msgid "Print Error Messages" -msgstr "I-print mga Mensahe ng Error" +msgstr "I-print ang mga Mensahe ng Error" #: core/bind/core_bind.cpp msgid "Iterations Per Second" -msgstr "Ikot Kada Segundo" +msgstr "Iteration Kada Segundo" #: core/bind/core_bind.cpp msgid "Target FPS" @@ -313,9 +313,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Kulang sa bytes para i-decode ang bytes, o invalid na format." #: core/math/expression.cpp -#, fuzzy msgid "Invalid input %d (not passed) in expression" -msgstr "Invalid na input %i (di pinasa) sa expression" +msgstr "Invalid na input na %d (di pinasa) sa expression" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" @@ -359,13 +358,12 @@ msgid "Max Size (KB)" msgstr "Max na Laki (KB)" #: core/os/input.cpp -#, fuzzy msgid "Mouse Mode" -msgstr "Kopya" +msgstr "Mouse Mode" #: core/os/input.cpp msgid "Use Accumulated Input" -msgstr "" +msgstr "Gamitin ang Nakolektang Input" #: core/os/input_event.cpp editor/project_settings_editor.cpp #: servers/audio_server.cpp @@ -393,9 +391,8 @@ msgid "Command" msgstr "Command" #: core/os/input_event.cpp -#, fuzzy msgid "Physical" -msgstr "Pisika" +msgstr "Pisikal" #: core/os/input_event.cpp scene/2d/touch_screen_button.cpp #: scene/gui/base_button.cpp scene/gui/texture_button.cpp @@ -425,7 +422,7 @@ msgstr "Mask ng Button" #: core/os/input_event.cpp scene/2d/node_2d.cpp scene/gui/control.cpp msgid "Global Position" -msgstr "Global na Posisyon" +msgstr "Pandaigdigang Posisyon" #: core/os/input_event.cpp msgid "Factor" @@ -441,7 +438,7 @@ msgstr "Dobleng pindot" #: core/os/input_event.cpp msgid "Tilt" -msgstr "Kiling" +msgstr "Tabingi" #: core/os/input_event.cpp msgid "Pressure" @@ -449,7 +446,7 @@ msgstr "Presyur" #: core/os/input_event.cpp msgid "Pen Inverted" -msgstr "" +msgstr "Baligtad na Pen" #: core/os/input_event.cpp msgid "Relative" @@ -479,7 +476,7 @@ msgstr "Index" #: modules/visual_script/visual_script_nodes.cpp #: scene/2d/touch_screen_button.cpp msgid "Action" -msgstr "Gawain" +msgstr "Kilos" #: core/os/input_event.cpp scene/resources/environment.cpp #: scene/resources/material.cpp @@ -532,7 +529,7 @@ msgstr "Config" #: core/project_settings.cpp msgid "Project Settings Override" -msgstr "Override sa Pagsasaayos ng Proyekto" +msgstr "Override sa Pagsasaayos sa Proyekto" #: core/project_settings.cpp core/resource.cpp #: editor/animation_track_editor.cpp editor/editor_autoload_settings.cpp @@ -575,7 +572,7 @@ msgstr "Patayin ang stderr" #: core/project_settings.cpp msgid "Use Hidden Project Data Directory" -msgstr "Gamitin ang Hidden Project Data Directory" +msgstr "Gamitin ang Nakatagong Directory ng Data ng Proyekto" #: core/project_settings.cpp msgid "Use Custom User Dir" @@ -589,13 +586,13 @@ msgstr "Pangalan ng Sariling User Dir" #: platform/javascript/export/export.cpp platform/osx/export/export.cpp #: platform/uwp/os_uwp.cpp msgid "Display" -msgstr "" +msgstr "Pagpapakita" #: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp #: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp #: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp msgid "Width" -msgstr "" +msgstr "Lapad" #: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp #: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp @@ -604,19 +601,19 @@ msgstr "" #: scene/resources/font.cpp scene/resources/navigation_mesh.cpp #: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp msgid "Height" -msgstr "" +msgstr "Tangkad" #: core/project_settings.cpp msgid "Always On Top" -msgstr "" +msgstr "Palaging Nasa Taas" #: core/project_settings.cpp msgid "Test Width" -msgstr "" +msgstr "Lapad ng Test" #: core/project_settings.cpp msgid "Test Height" -msgstr "" +msgstr "Tangkad ng Test" #: core/project_settings.cpp editor/animation_track_editor.cpp #: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp @@ -640,7 +637,7 @@ msgstr "Pangunahing Args sa Pagtakbo" #: core/project_settings.cpp msgid "Scene Naming" -msgstr "" +msgstr "Pagpangalan sa Eksena" #: core/project_settings.cpp msgid "Search In File Extensions" @@ -4358,6 +4355,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "" @@ -7074,7 +7072,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -14797,18 +14796,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Pagbago ng Haba ng Animation" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "Pagbago ng Haba ng Animation" #: editor/scene_tree_dock.cpp @@ -14998,6 +14997,11 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Pagbago ng Haba ng Animation" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "" @@ -15061,6 +15065,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -16867,6 +16875,19 @@ msgstr "" msgid "Auto Update Project" msgstr "Ilipat Ang Mga Bezier Points" +#: modules/mono/godotsharp_dirs.cpp +msgid "Assembly Name" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "Solution Directory" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Gamitin ang Nakatagong Directory ng Data ng Proyekto" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -18580,6 +18601,11 @@ msgstr "Mga Functions:" msgid "Custom BG Color" msgstr "Mga Functions:" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "3D Transform Track" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -19376,6 +19402,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "" diff --git a/editor/translations/fr.po b/editor/translations/fr.po index 88c4966b54..b65ff797d7 100644 --- a/editor/translations/fr.po +++ b/editor/translations/fr.po @@ -102,13 +102,15 @@ # Jérémie Guegain <mirejai@orange.fr>, 2022. # cwulveryck <cwulveryck@online.fr>, 2022. # Helix Sir <vincentbarkmann@gmail.com>, 2022. +# SCHUTZ Lucas <lucas.schutz0954@gmail.com>, 2022. +# EGuillemot <Elouen.Guillemot@gmail.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-08-05 01:04+0000\n" -"Last-Translator: Helix Sir <vincentbarkmann@gmail.com>\n" +"PO-Revision-Date: 2022-09-02 23:49+0000\n" +"Last-Translator: DinosaurHorseSword <ewenlandry@mailfence.com>\n" "Language-Team: French <https://hosted.weblate.org/projects/godot-engine/" "godot/fr/>\n" "Language: fr\n" @@ -116,7 +118,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.14-dev\n" +"X-Generator: Weblate 4.14.1-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" @@ -226,7 +228,7 @@ msgstr "Échange d'Endians" #: core/bind/core_bind.cpp msgid "Editor Hint" -msgstr "Conseil(s) Éditeur" +msgstr "Suggestion d’éditeur" #: core/bind/core_bind.cpp msgid "Print Error Messages" @@ -3045,7 +3047,7 @@ msgstr "Bibliothèque d'assets" #: editor/editor_feature_profile.cpp msgid "Scene Tree Editing" -msgstr "Édition de l'arbre de scène" +msgstr "Édition d'arborescence de scène" #: editor/editor_feature_profile.cpp msgid "Node Dock" @@ -3319,7 +3321,7 @@ msgstr "Accès" #: editor/editor_file_dialog.cpp editor/editor_settings.cpp msgid "Display Mode" -msgstr "Mode d'Affichage" +msgstr "Mode d'affichage" #: editor/editor_file_dialog.cpp #: editor/import/resource_importer_layered_texture.cpp @@ -3876,7 +3878,7 @@ msgstr "Analyse" #: editor/editor_node.cpp msgid "Creating Thumbnail" -msgstr "Création de l'aperçu" +msgstr "Création de vignette" #: editor/editor_node.cpp msgid "This operation can't be done without a tree root." @@ -4150,7 +4152,7 @@ msgstr "Lancer une scène rapidement…" #: editor/editor_node.cpp msgid "Quit" -msgstr "Quitter" +msgstr "Fermer" #: editor/editor_node.cpp msgid "Yes" @@ -4171,13 +4173,13 @@ msgstr "" #: editor/editor_node.cpp msgid "Save & Quit" -msgstr "Sauvegarder & quitter" +msgstr "Sauvegarder & fermer" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before quitting?" msgstr "" "Sauvegarder les modifications sur la (les) scène(s) suivante(s) avant de " -"quitter ?" +"fermer ?" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before opening Project Manager?" @@ -4405,7 +4407,7 @@ msgstr "Toujours fermer la sortie à l'arrêt" #: editor/editor_node.cpp msgid "Save On Focus Loss" -msgstr "Enregistrer lorsque le focus est perdu" +msgstr "Enregistrer à la perte de focus" #: editor/editor_node.cpp editor/editor_settings.cpp msgid "Save Each Scene On Quit" @@ -4413,7 +4415,7 @@ msgstr "Enregistrer toutes les scènes à la fermeture" #: editor/editor_node.cpp editor/editor_settings.cpp msgid "Quit Confirmation" -msgstr "Confirmer avant de quitter" +msgstr "Confirmation avant la fermeture" #: editor/editor_node.cpp msgid "Show Update Spinner" @@ -4421,24 +4423,23 @@ msgstr "Afficher l'indicateur d'activité" #: editor/editor_node.cpp msgid "Update Continuously" -msgstr "Mettre à jour en continu" +msgstr "Mise à jour continue" #: editor/editor_node.cpp -#, fuzzy msgid "Update Vital Only" -msgstr "Changements de matériau" +msgstr "Mise à jour uniquement si vital" #: editor/editor_node.cpp msgid "Localize Settings" -msgstr "Traduction des réglages" +msgstr "Traduction des paramètres" #: editor/editor_node.cpp msgid "Restore Scenes On Load" -msgstr "Restaurer les scènes au chargement" +msgstr "Rouvrir les scènes au chargement" #: editor/editor_node.cpp editor/editor_settings.cpp msgid "Show Thumbnail On Hover" -msgstr "Afficher l’aperçu au survol" +msgstr "Afficher vignette au survol" #: editor/editor_node.cpp editor/editor_settings.cpp msgid "Inspector" @@ -4588,6 +4589,7 @@ msgstr "Outils divers liés au projet ou à la scène." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Projet" @@ -5045,7 +5047,7 @@ msgstr "Création des prévisualisations des maillages" #: editor/editor_plugin.cpp msgid "Thumbnail..." -msgstr "Aperçu…" +msgstr "Vignette…" #: editor/editor_plugin_settings.cpp msgid "Main Script:" @@ -5339,15 +5341,15 @@ msgstr "Avez-vous oublié la méthode « _run » ?" #: editor/editor_settings.cpp msgid "Editor Language" -msgstr "Langue de l'Éditeur" +msgstr "Langue de l'éditeur" #: editor/editor_settings.cpp msgid "Display Scale" -msgstr "Échelle de l'affichage" +msgstr "Échelle d'affichage" #: editor/editor_settings.cpp msgid "Custom Display Scale" -msgstr "Échelle personnalisé de l'affichage" +msgstr "Échelle personnalisée d'affichage" #: editor/editor_settings.cpp msgid "Main Font Size" @@ -5363,7 +5365,7 @@ msgstr "Police anticrénelée" #: editor/editor_settings.cpp msgid "Font Hinting" -msgstr "Indication de police" +msgstr "Optimisation de rendu de police" #: editor/editor_settings.cpp msgid "Main Font" @@ -5371,11 +5373,11 @@ msgstr "Police Principale" #: editor/editor_settings.cpp msgid "Main Font Bold" -msgstr "Principale police grasse" +msgstr "Police principale en gras" #: editor/editor_settings.cpp msgid "Code Font" -msgstr "Police du Code" +msgstr "Police du code" #: editor/editor_settings.cpp msgid "Dim Editor On Dialog Popup" @@ -5465,7 +5467,7 @@ msgstr "Scan auto du chemin du projet" #: editor/editor_settings.cpp msgid "Default Project Path" -msgstr "Chemin du Projet par Défaut" +msgstr "Chemin de projet par défaut" #: editor/editor_settings.cpp msgid "On Save" @@ -5485,15 +5487,15 @@ msgstr "Fenêtre de sélection de fichiers" #: editor/editor_settings.cpp msgid "Thumbnail Size" -msgstr "Taille de la vignette" +msgstr "Taille de vignette" #: editor/editor_settings.cpp msgid "Docks" -msgstr "S'attache" +msgstr "Docks" #: editor/editor_settings.cpp msgid "Scene Tree" -msgstr "une arborescence, arbre des scènes" +msgstr "Arborescence de scène" #: editor/editor_settings.cpp msgid "Start Create Dialog Fully Expanded" @@ -5547,7 +5549,7 @@ msgstr "Surligner les lignes à types sûrs" #: editor/editor_settings.cpp msgid "Indent" -msgstr "Indenter" +msgstr "Indentation" #: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp msgid "Auto Indent" @@ -5574,7 +5576,7 @@ msgstr "Navigation" #: editor/editor_settings.cpp scene/gui/text_edit.cpp msgid "Smooth Scrolling" -msgstr "Défilement Doux" +msgstr "Défilement doux" #: editor/editor_settings.cpp scene/gui/text_edit.cpp msgid "V Scroll Speed" @@ -5606,7 +5608,7 @@ msgstr "Apparence" #: editor/editor_settings.cpp scene/gui/text_edit.cpp msgid "Show Line Numbers" -msgstr "Afficher les Numéros de Ligne" +msgstr "Afficher les numéros de Ligne" #: editor/editor_settings.cpp msgid "Line Numbers Zero Padded" @@ -5646,7 +5648,7 @@ msgstr "Colonne dure des guides de longueur de ligne" #: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp msgid "Script List" -msgstr "Liste des Scripts" +msgstr "Liste de scripts" #: editor/editor_settings.cpp msgid "Show Members Overview" @@ -5666,7 +5668,7 @@ msgstr "Intervalle entre les sauvegardes automatiques (en secondes)" #: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp msgid "Restore Scripts On Load" -msgstr "Restaurer les scripts au chargement" +msgstr "Rouvrir les scripts au chargement" #: editor/editor_settings.cpp msgid "Auto Reload And Parse Scripts On Save" @@ -5717,7 +5719,7 @@ msgstr "Complétion" #: editor/editor_settings.cpp msgid "Idle Parse Delay" -msgstr "" +msgstr "Délai du traitement passif" #: editor/editor_settings.cpp msgid "Auto Brace Complete" @@ -5757,11 +5759,11 @@ msgstr "Taille de la police de l'aide" #: editor/editor_settings.cpp msgid "Help Source Font Size" -msgstr "Taille de la police de l'aide de la source" +msgstr "Taille de police d'origine de l'aide" #: editor/editor_settings.cpp msgid "Help Title Font Size" -msgstr "Taille de la police du titre Aide" +msgstr "Taille de police du titre de l'aide" #: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" @@ -5773,7 +5775,7 @@ msgstr "Choisissez la distance" #: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp msgid "Preview Size" -msgstr "Aperçu de la taille" +msgstr "Taille d'aperçu" #: editor/editor_settings.cpp msgid "Primary Grid Color" @@ -5821,7 +5823,7 @@ msgstr "Pas de la grille principale" #: editor/editor_settings.cpp msgid "Grid Size" -msgstr "Taille de la Grille" +msgstr "Taille de la grille" #: editor/editor_settings.cpp msgid "Grid Division Level Max" @@ -5833,7 +5835,7 @@ msgstr "Niveau minimal de division de la grille" #: editor/editor_settings.cpp msgid "Grid Division Level Bias" -msgstr "Niveau de biais de la division de grille" +msgstr "Niveau de biais de division de la grille" #: editor/editor_settings.cpp msgid "Grid XZ Plane" @@ -5877,11 +5879,11 @@ msgstr "Inverser l'axe X" #: editor/editor_settings.cpp msgid "Zoom Style" -msgstr "Style de Zoom" +msgstr "Style de zoom" #: editor/editor_settings.cpp msgid "Emulate Numpad" -msgstr "Émuler un pavé numérique" +msgstr "Émuler pavé numérique" #: editor/editor_settings.cpp msgid "Emulate 3 Button Mouse" @@ -5889,24 +5891,23 @@ msgstr "Émuler souris à 3 boutons" #: editor/editor_settings.cpp msgid "Orbit Modifier" -msgstr "Modificateur d'orbite" +msgstr "Touche de combinaison : Orbite" #: editor/editor_settings.cpp msgid "Pan Modifier" -msgstr "Modificateur panoramique" +msgstr "Touche de combinaison : Panoramique" #: editor/editor_settings.cpp msgid "Zoom Modifier" -msgstr "Multiplicateur de Zoom" +msgstr "Touche de combinaison : Zoom" #: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp msgid "Warped Mouse Panning" msgstr "" #: editor/editor_settings.cpp -#, fuzzy msgid "Navigation Feel" -msgstr "Mode Navigation" +msgstr "Préférences de navigation" #: editor/editor_settings.cpp msgid "Orbit Sensitivity" @@ -5914,15 +5915,15 @@ msgstr "Sensibilité de l'orbite" #: editor/editor_settings.cpp msgid "Orbit Inertia" -msgstr "Inertie de l'orbite" +msgstr "Inertie d'orbite" #: editor/editor_settings.cpp msgid "Translation Inertia" -msgstr "Inertie de la Translation" +msgstr "Inertie de la translation" #: editor/editor_settings.cpp msgid "Zoom Inertia" -msgstr "Inertie du Zoom" +msgstr "Inertie du zoom" #: editor/editor_settings.cpp msgid "Freelook" @@ -5946,7 +5947,7 @@ msgstr "Vitesse de base de la vue libre" #: editor/editor_settings.cpp msgid "Freelook Activation Modifier" -msgstr "Modificateur d'activation de la vue libre" +msgstr "Touche de combinaison : Activation vue libre" #: editor/editor_settings.cpp msgid "Freelook Speed Zoom Link" @@ -5954,7 +5955,7 @@ msgstr "Lien de zoom rapide de la vue libre" #: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp msgid "Grid Color" -msgstr "Couleur de la Grille" +msgstr "Couleur de la grille" #: editor/editor_settings.cpp msgid "Guides Color" @@ -5978,7 +5979,7 @@ msgstr "Couleur d'os 2" #: editor/editor_settings.cpp msgid "Bone Selected Color" -msgstr "Couleur de l'os sélectionnée" +msgstr "Couleur d'os sélectionné" #: editor/editor_settings.cpp msgid "Bone IK Color" @@ -5990,7 +5991,7 @@ msgstr "Couleur de contour d'os" #: editor/editor_settings.cpp msgid "Bone Outline Size" -msgstr "Taille du contour de l'os" +msgstr "Taille de contour d'os" #: editor/editor_settings.cpp msgid "Viewport Border Color" @@ -5998,7 +5999,7 @@ msgstr "Couleur de bordure de la fenêtre d'affichage" #: editor/editor_settings.cpp msgid "Constrain Editor View" -msgstr "Restreindre la fenêtre d'Éditeur" +msgstr "Restreindre la fenêtre d'éditeur" #: editor/editor_settings.cpp msgid "Simple Panning" @@ -6010,7 +6011,7 @@ msgstr "Panoramique au défilement" #: editor/editor_settings.cpp msgid "Pan Speed" -msgstr "Vitesse Panoramique" +msgstr "Vitesse panoramique" #: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp msgid "Poly Editor" @@ -6018,7 +6019,7 @@ msgstr "Éditeur de polygones" #: editor/editor_settings.cpp msgid "Point Grab Radius" -msgstr "Rayon de saisie par point" +msgstr "Rayon de saisie de point" #: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp msgid "Show Previous Outline" @@ -6156,28 +6157,27 @@ msgstr "Couleur des chaînes de caractères" #: platform/uwp/export/export.cpp #: scene/resources/default_theme/default_theme.cpp msgid "Background Color" -msgstr "Couleur d’Arrière-Plan" +msgstr "Couleur d’arrière-plan" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Completion Background Color" msgstr "Couleur d'arrière-plan de complétion" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Completion Selected Color" -msgstr "Importer la sélection" +msgstr "Couleur de la complétion sélectionnée" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Completion Existing Color" -msgstr "" +msgstr "Couleur de la partie existante de la complétion" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Completion Scroll Color" -msgstr "" +msgstr "Couleur de défilement de complétion" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Completion Font Color" -msgstr "" +msgstr "Couleur de police de complétion" #: editor/editor_settings.cpp msgid "Text Color" @@ -6185,7 +6185,7 @@ msgstr "Couleur du Texte" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Line Number Color" -msgstr "Couleur du Numéro de Ligne" +msgstr "Couleur des numéros de lignes" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Safe Line Number Color" @@ -6236,9 +6236,8 @@ msgid "Member Variable Color" msgstr "Couleur des variables de membres" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Mark Color" -msgstr "Prélever une couleur" +msgstr "Couleur de la marque" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Bookmark Color" @@ -6976,9 +6975,8 @@ msgid "Delimiter" msgstr "Délimiteur" #: editor/import/resource_importer_layered_texture.cpp -#, fuzzy msgid "ColorCorrect" -msgstr "Correction de Couleur" +msgstr "ColorCorrect" #: editor/import/resource_importer_layered_texture.cpp msgid "No BPTC If RGB" @@ -7140,9 +7138,8 @@ msgid "Meshes" msgstr "Maillages" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Ensure Tangents" -msgstr "Modifier la tangente de courbes" +msgstr "Vérifier les tangentes" #: editor/import/resource_importer_scene.cpp msgid "Light Baking" @@ -7378,7 +7375,8 @@ msgid "8 Bit" msgstr "8 Bit" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "Mono" @@ -9313,7 +9311,7 @@ msgstr "Diviser le pas de la grille par 2" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Pan View" -msgstr "Vue panoramique" +msgstr "Panoramique de vue" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom to 3.125%" @@ -10351,7 +10349,7 @@ msgstr "Paramètres de la grille" #: editor/plugins/polygon_2d_editor_plugin.cpp modules/csg/csg_shape.cpp #: scene/resources/default_theme/default_theme.cpp msgid "Snap" -msgstr "Aligner" +msgstr "Magnétisme, Aimantation" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Enable Snap" @@ -10746,11 +10744,11 @@ msgstr "Taille de l'historique des températures de script" #: editor/plugins/script_editor_plugin.cpp msgid "Current Script Background Color" -msgstr "Couleur d'Arrière-Plan du Script Actuel" +msgstr "Couleur d'arrière-plan du script actuel" #: editor/plugins/script_editor_plugin.cpp msgid "Group Help Pages" -msgstr "Pages d'aide de groupe" +msgstr "Grouper les pages d'aide" #: editor/plugins/script_editor_plugin.cpp msgid "Sort Scripts By" @@ -11315,11 +11313,11 @@ msgstr "Vue libre bas" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Speed Modifier" -msgstr "Modificateur de vitesse de la vue libre" +msgstr "Touche de combinaison : Vitesse de vue libre" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Slow Modifier" -msgstr "Ralentissement de la vue libre" +msgstr "Touche de combinaison : Ralentissement de vue libre" #: editor/plugins/spatial_editor_plugin.cpp msgid "Toggle Camera Preview" @@ -12564,9 +12562,8 @@ msgid "Palette Min Width" msgstr "Largeur minimale de la palette" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Palette Item H Separation" -msgstr "Séparateur nommé" +msgstr "Séparation horizontale des éléments de palette" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Show Tile Names" @@ -12587,7 +12584,7 @@ msgstr "Aperçu du remplissage" #: editor/plugins/tile_map_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Editor Side" -msgstr "Coté Éditeur" +msgstr "Coté de l'éditeur" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Display Grid" @@ -15423,16 +15420,19 @@ msgstr "" msgid "Make Local" msgstr "Rendre local" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "Un autre Nœud utilise ce nom unique dans la scène." - #: editor/scene_tree_dock.cpp -msgid "Enable Scene Unique Name" +#, fuzzy +msgid "Enable Scene Unique Name(s)" msgstr "Activer le nom unique de la scène" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Disable Scene Unique Name" +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Unique names already used by another node in the scene:" +msgstr "Un autre Nœud utilise ce nom unique dans la scène." + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Désactiver le nom unique de la scène" #: editor/scene_tree_dock.cpp @@ -15634,6 +15634,10 @@ msgid "Button Group" msgstr "Bouton de groupe" #: editor/scene_tree_editor.cpp +msgid "Disable Scene Unique Name" +msgstr "Désactiver le nom unique de la scène" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(Connexion à partir de)" @@ -15712,6 +15716,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "Nom de nœud invalide, les caractères suivants ne sont pas autorisés :" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "Un autre Nœud utilise ce nom unique dans la scène." + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "Renommer le nœud" @@ -16082,7 +16090,7 @@ msgstr "Changer particules AABB" #: editor/spatial_editor_gizmos.cpp msgid "Reflection Probe" -msgstr "Sonde de Réflexion" +msgstr "Sonde de réflexion" #: editor/spatial_editor_gizmos.cpp msgid "Change Probe Extents" @@ -16090,7 +16098,7 @@ msgstr "Changer les ampleurs de la sonde" #: editor/spatial_editor_gizmos.cpp msgid "GI Probe" -msgstr "Sonde GI" +msgstr "Sonde d'illumination globale" #: editor/spatial_editor_gizmos.cpp msgid "Baked Indirect Light" @@ -16162,11 +16170,11 @@ msgstr "Définir la position du point de la pièce" #: editor/spatial_editor_gizmos.cpp scene/3d/portal.cpp msgid "Portal Margin" -msgstr "Marge du portail" +msgstr "Marge de portail" #: editor/spatial_editor_gizmos.cpp msgid "Portal Edge" -msgstr "Bords du portail" +msgstr "Bord de portail" #: editor/spatial_editor_gizmos.cpp msgid "Portal Arrow" @@ -16241,7 +16249,7 @@ msgstr "Serveur à tâches parallèles" #: main/main.cpp msgid "RID Pool Prealloc" -msgstr "" +msgstr "Pré-allocation des RIDs de pool" #: main/main.cpp msgid "Debugger stdout" @@ -16300,8 +16308,9 @@ msgid "Fallback To GLES2" msgstr "Se replier sur GLES2" #: main/main.cpp +#, fuzzy msgid "Use Nvidia Rect Flicker Workaround" -msgstr "" +msgstr "Utiliser le contournement Nvidia pour éviter le clignotement" #: main/main.cpp msgid "DPI" @@ -16348,8 +16357,9 @@ msgid "Thread Model" msgstr "Modèle de Parallélisme" #: main/main.cpp +#, fuzzy msgid "Thread Safe BVH" -msgstr "" +msgstr "BVH avec Thread Sécurisés" #: main/main.cpp msgid "Handheld" @@ -16375,7 +16385,7 @@ msgstr "Forces les trames par seconde" #: main/main.cpp msgid "Enable Pause Aware Picking" -msgstr "" +msgstr "Activer la sélection prenant en compte la mise en pause" #: main/main.cpp scene/gui/item_list.cpp scene/gui/popup_menu.cpp #: scene/gui/scroll_container.cpp scene/gui/text_edit.cpp scene/gui/tree.cpp @@ -16385,7 +16395,7 @@ msgstr "GUI" #: main/main.cpp msgid "Drop Mouse On GUI Input Disabled" -msgstr "" +msgstr "Lâcher la souris quand le saisie GUI est désactivée" #: main/main.cpp msgid "stdout" @@ -16417,7 +16427,7 @@ msgstr "Mode Processeur Faible" #: main/main.cpp msgid "Delta Sync After Draw" -msgstr "" +msgstr "Synchroniser le Delta Après l'Affichage" #: main/main.cpp msgid "iOS" @@ -16499,7 +16509,7 @@ msgstr "Mise en mémoire tampon" #: main/main.cpp msgid "Agile Event Flushing" -msgstr "" +msgstr "Purge d'événement agile" #: main/main.cpp msgid "Emulate Touch From Mouse" @@ -16519,7 +16529,7 @@ msgstr "Image personnalisée" #: main/main.cpp msgid "Custom Image Hotspot" -msgstr "" +msgstr "Point d'accès d'image personnalisé" #: main/main.cpp msgid "Tooltip Position Offset" @@ -16568,7 +16578,7 @@ msgstr "Accepter automatiquement la fermeture" #: main/main.cpp scene/main/scene_tree.cpp msgid "Quit On Go Back" -msgstr "Quitter au retour" +msgstr "Fermer sur retour" #: main/main.cpp scene/main/viewport.cpp msgid "Snap Controls To Pixels" @@ -16584,7 +16594,7 @@ msgstr "Utiliser le suréchantillonnage" #: modules/bullet/register_types.cpp modules/bullet/space_bullet.cpp msgid "Active Soft World" -msgstr "" +msgstr "Activer le support des SoftBody par le Monde" #: modules/csg/csg_gizmos.cpp msgid "CSG" @@ -16694,9 +16704,8 @@ msgid "Path Node" msgstr "Noeud de chemin" #: modules/csg/csg_shape.cpp -#, fuzzy msgid "Path Interval Type" -msgstr "Créer un vertex interne" +msgstr "Type d'intervalle de chemin" #: modules/csg/csg_shape.cpp msgid "Path Interval" @@ -17016,9 +17025,8 @@ msgid "Byte Stride" msgstr "" #: modules/gltf/gltf_buffer_view.cpp -#, fuzzy msgid "Indices" -msgstr "Tous les périphérique" +msgstr "Indices" #: modules/gltf/gltf_camera.cpp msgid "FOV Size" @@ -17026,12 +17034,11 @@ msgstr "Taille du FOV" #: modules/gltf/gltf_camera.cpp msgid "Zfar" -msgstr "" +msgstr "Zfar" #: modules/gltf/gltf_camera.cpp -#, fuzzy msgid "Znear" -msgstr "Linéaire" +msgstr "Znear" #: modules/gltf/gltf_light.cpp scene/2d/canvas_modulate.cpp #: scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp scene/2d/polygon_2d.cpp @@ -17055,16 +17062,15 @@ msgstr "Plage" #: modules/gltf/gltf_light.cpp msgid "Inner Cone Angle" -msgstr "" +msgstr "Angle intérieur du cône" #: modules/gltf/gltf_light.cpp msgid "Outer Cone Angle" -msgstr "" +msgstr "Angle extérieur du cône" #: modules/gltf/gltf_mesh.cpp -#, fuzzy msgid "Blend Weights" -msgstr "Précalculer les lightmaps" +msgstr "Mélanger les poids" #: modules/gltf/gltf_mesh.cpp msgid "Instance Materials" @@ -17075,9 +17081,8 @@ msgid "Parent" msgstr "Parent" #: modules/gltf/gltf_node.cpp -#, fuzzy msgid "Xform" -msgstr "Plateforme" +msgstr "Xform" #: modules/gltf/gltf_node.cpp scene/3d/mesh_instance.cpp msgid "Skin" @@ -17469,16 +17474,15 @@ msgstr "Hauteur de l’œil" #: modules/mobile_vr/mobile_vr_interface.cpp msgid "IOD" -msgstr "" +msgstr "Distance interoculaire" #: modules/mobile_vr/mobile_vr_interface.cpp msgid "Display Width" msgstr "Afficher la largeur" #: modules/mobile_vr/mobile_vr_interface.cpp -#, fuzzy msgid "Display To Lens" -msgstr "Afficher sans ombrage" +msgstr "Distance affichage-lentille" #: modules/mobile_vr/mobile_vr_interface.cpp msgid "Oversample" @@ -17504,6 +17508,21 @@ msgstr "Compiler la solution" msgid "Auto Update Project" msgstr "Mettre à jour le projet automatiquement" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Afficher le nom" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Choisir un répertoire" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Choisir un répertoire" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "Fin de la trace d'appel (stack trace) intrinsèque" @@ -18454,13 +18473,14 @@ msgid "Optional Features" msgstr "Fonctionnalités Optionnelles" #: modules/webxr/webxr_interface.cpp +#, fuzzy msgid "Requested Reference Space Types" -msgstr "" +msgstr "Type d'espace référence requis" #: modules/webxr/webxr_interface.cpp #, fuzzy msgid "Reference Space Type" -msgstr "Type de référentiel spatial" +msgstr "Type d'espace référence" #: modules/webxr/webxr_interface.cpp msgid "Visibility State" @@ -18473,24 +18493,23 @@ msgstr "Géométrie des limites" #: modules/webxr/webxr_interface.cpp #, fuzzy msgid "XR Standard Mapping" -msgstr "Magnétisme intelligent" +msgstr "Mapping Standard AR/VR" #: platform/android/export/export.cpp msgid "Android SDK Path" msgstr "Chemin du SDK Android" #: platform/android/export/export.cpp -#, fuzzy msgid "Debug Keystore" -msgstr "Débogueur" +msgstr "Keystore de débogage" #: platform/android/export/export.cpp msgid "Debug Keystore User" -msgstr "" +msgstr "Utilisateur du Keystore de débogage" #: platform/android/export/export.cpp msgid "Debug Keystore Pass" -msgstr "" +msgstr "Passe du Keystore de débogage" #: platform/android/export/export.cpp msgid "Force System User" @@ -18570,9 +18589,8 @@ msgid "Architectures" msgstr "Architectures" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Keystore" -msgstr "Débogueur" +msgstr "Keystore" #: platform/android/export/export_plugin.cpp msgid "Debug User" @@ -19292,6 +19310,11 @@ msgstr "Utiliser la couleur d'arrière-plan personnalisée" msgid "Custom BG Color" msgstr "Couleur d'arrière-plan personnalisée" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Icône d'exportation" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -19597,8 +19620,9 @@ msgid "Allow JIT Code Execution" msgstr "Autoriser l'exécution du code JIT" #: platform/osx/export/export.cpp +#, fuzzy msgid "Allow Unsigned Executable Memory" -msgstr "" +msgstr "Autoriser la mémoire exécutable non signée" #: platform/osx/export/export.cpp msgid "Allow Dyld Environment Variables" @@ -20126,6 +20150,12 @@ msgid "Show Name On Square 310 X 310" msgstr "Afficher le nom sur le carré 310 X 310" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "Nom abrégé du paquet invalide." @@ -20147,7 +20177,7 @@ msgstr "GUID éditeur invalide." #: platform/uwp/export/export.cpp msgid "Invalid background color." -msgstr "Couleur de fond invalide." +msgstr "Couleur d'arrière-plan invalide." #: platform/uwp/export/export.cpp msgid "Invalid Store Logo image dimensions (should be 50x50)." @@ -22224,8 +22254,9 @@ msgid "Include In Bound" msgstr "" #: scene/3d/cull_instance.cpp +#, fuzzy msgid "Allow Merging" -msgstr "" +msgstr "Autoriser la fusion" #: scene/3d/cull_instance.cpp msgid "Autoplace Priority" @@ -22956,7 +22987,7 @@ msgstr "" #: scene/3d/proximity_group.cpp msgid "Grid Radius" -msgstr "Rayon de la Grille" +msgstr "Rayon de la grille" #: scene/3d/ray_cast.cpp msgid "Debug Shape" @@ -22972,7 +23003,7 @@ msgstr "Mode de mise à jour" #: scene/3d/reflection_probe.cpp msgid "Origin Offset" -msgstr "Décalage de la Grille" +msgstr "Décalage de l'origine" #: scene/3d/reflection_probe.cpp msgid "Box Projection" @@ -23131,9 +23162,8 @@ msgid "Overlap Warning Threshold" msgstr "" #: scene/3d/room_manager.cpp -#, fuzzy msgid "Preview Camera" -msgstr "Aperçu" +msgstr "Aperçu de caméra" #: scene/3d/room_manager.cpp msgid "Portal Depth Limit" @@ -23261,8 +23291,9 @@ msgid "Volume Stiffness" msgstr "" #: scene/3d/soft_body.cpp +#, fuzzy msgid "Pressure Coefficient" -msgstr "" +msgstr "Coefficient de pression" #: scene/3d/soft_body.cpp msgid "Damping Coefficient" @@ -23297,12 +23328,11 @@ msgstr "Transformation Globale" #: scene/3d/spatial.cpp msgid "Matrix" -msgstr "" +msgstr "Matrice" #: scene/3d/spatial.cpp -#, fuzzy msgid "Gizmo" -msgstr "Gadgets" +msgstr "Gizmo" #: scene/3d/spatial_velocity_tracker.cpp #, fuzzy @@ -23311,16 +23341,15 @@ msgstr "Image physique %" #: scene/3d/spring_arm.cpp msgid "Spring Length" -msgstr "" +msgstr "Longueur du ressort" #: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp msgid "Opacity" -msgstr "" +msgstr "Opacité" #: scene/3d/sprite_3d.cpp scene/resources/material.cpp -#, fuzzy msgid "Transparent" -msgstr "Transposer" +msgstr "Transparent" #: scene/3d/sprite_3d.cpp msgid "" @@ -23339,26 +23368,24 @@ msgstr "" "l'utiliser comme enfant d'un VehicleBody." #: scene/3d/vehicle_body.cpp -#, fuzzy msgid "Per-Wheel Motion" -msgstr "Molette vers le bas" +msgstr "Mouvement par roue" #: scene/3d/vehicle_body.cpp -#, fuzzy msgid "Engine Force" -msgstr "Documentation en ligne" +msgstr "Force du moteur" #: scene/3d/vehicle_body.cpp msgid "Brake" -msgstr "" +msgstr "Frein" #: scene/3d/vehicle_body.cpp msgid "Steering" -msgstr "" +msgstr "Direction" #: scene/3d/vehicle_body.cpp msgid "VehicleBody Motion" -msgstr "" +msgstr "Mouvement du VehicleBody" #: scene/3d/vehicle_body.cpp msgid "Use As Traction" @@ -23366,7 +23393,7 @@ msgstr "Utiliser comme traction" #: scene/3d/vehicle_body.cpp msgid "Use As Steering" -msgstr "" +msgstr "Utiliser comme direction" #: scene/3d/vehicle_body.cpp msgid "Wheel" @@ -23374,68 +23401,59 @@ msgstr "Molette" #: scene/3d/vehicle_body.cpp msgid "Roll Influence" -msgstr "" +msgstr "Influence de rotation" #: scene/3d/vehicle_body.cpp -#, fuzzy msgid "Friction Slip" -msgstr "Fonction" +msgstr "Glissement par friction" #: scene/3d/vehicle_body.cpp -#, fuzzy msgid "Suspension" -msgstr "Expression" +msgstr "Suspension" #: scene/3d/vehicle_body.cpp -#, fuzzy msgid "Max Force" -msgstr "Erreur" +msgstr "Force max" #: scene/3d/visibility_notifier.cpp msgid "AABB" -msgstr "" +msgstr "AABB" #: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp -#, fuzzy msgid "Geometry" -msgstr "Réessayer" +msgstr "Géométrie" #: scene/3d/visual_instance.cpp -#, fuzzy msgid "Material Override" -msgstr "Redéfinition" +msgstr "Redéfinition du matériau" #: scene/3d/visual_instance.cpp msgid "Material Overlay" msgstr "Superposition de Matériau" #: scene/3d/visual_instance.cpp -#, fuzzy msgid "Cast Shadow" -msgstr "Créer un nœud Shader" +msgstr "Projeter des ombres" #: scene/3d/visual_instance.cpp msgid "Extra Cull Margin" msgstr "Marge supplémentaire de détermination des faces cachées" #: scene/3d/visual_instance.cpp -#, fuzzy msgid "Baked Light" -msgstr "Précalculer les lightmaps" +msgstr "Lumières pré-calculées" #: scene/3d/visual_instance.cpp -#, fuzzy msgid "Generate Lightmap" -msgstr "Génération des lightmaps" +msgstr "Générer des lightmaps" #: scene/3d/visual_instance.cpp -#, fuzzy msgid "Lightmap Scale" -msgstr "LightMap Bake" +msgstr "Échelle de Lightmap" #: scene/3d/visual_instance.cpp msgid "LOD" -msgstr "" +msgstr "Niveau de détail (LOD)" #: scene/3d/visual_instance.cpp scene/animation/skeleton_ik.cpp #: scene/resources/material.cpp @@ -23444,11 +23462,11 @@ msgstr "Distance Minimale" #: scene/3d/visual_instance.cpp msgid "Min Hysteresis" -msgstr "" +msgstr "Hystérèse min" #: scene/3d/visual_instance.cpp msgid "Max Hysteresis" -msgstr "" +msgstr "Hystérèse max" #: scene/3d/world_environment.cpp msgid "" @@ -23483,9 +23501,8 @@ msgid "Animation not found: '%s'" msgstr "Animation introuvable : « %s »" #: scene/animation/animation_blend_tree.cpp -#, fuzzy msgid "Mix Mode" -msgstr "Mélanger le nœud" +msgstr "Mode de mélange" #: scene/animation/animation_blend_tree.cpp msgid "Fadein Time" @@ -23505,30 +23522,27 @@ msgstr "Redémarrage Automatique" #: scene/animation/animation_blend_tree.cpp msgid "Delay" -msgstr "" +msgstr "Délai" #: scene/animation/animation_blend_tree.cpp msgid "Random Delay" msgstr "Retard aléatoire" #: scene/animation/animation_blend_tree.cpp -#, fuzzy msgid "Add Amount" -msgstr "Quantité" +msgstr "Ajouter une quantité" #: scene/animation/animation_blend_tree.cpp msgid "Blend Amount" msgstr "Quantité de mélange" #: scene/animation/animation_blend_tree.cpp -#, fuzzy msgid "Seek Position" -msgstr "Définir position d'entrée de la courbe" +msgstr "Chercher la position" #: scene/animation/animation_blend_tree.cpp -#, fuzzy msgid "Input Count" -msgstr "Ajouter un port d'entrée" +msgstr "Nombre d'entrées" #: scene/animation/animation_blend_tree.cpp #: scene/animation/animation_node_state_machine.cpp @@ -23538,58 +23552,51 @@ msgstr "Durée du fondu croisé" #: scene/animation/animation_node_state_machine.cpp #, fuzzy msgid "Switch Mode" -msgstr "Switch" +msgstr "Mode de Switch" #: scene/animation/animation_node_state_machine.cpp -#, fuzzy msgid "Auto Advance" -msgstr "Définir la progression automatique" +msgstr "Progression automatique" #: scene/animation/animation_node_state_machine.cpp -#, fuzzy msgid "Advance Condition" -msgstr "Options avancées" +msgstr "Condition de progression" #: scene/animation/animation_player.cpp msgid "Anim Apply Reset" msgstr "Animer Appliquer Réinitialiser" #: scene/animation/animation_player.cpp -#, fuzzy msgid "Current Animation" -msgstr "Définir l'animation" +msgstr "Animation actuelle" #: scene/animation/animation_player.cpp -#, fuzzy msgid "Assigned Animation" -msgstr "Ajouter une Animation" +msgstr "Animation assignée" #: scene/animation/animation_player.cpp msgid "Reset On Save" -msgstr "" +msgstr "Réinitialiser en sauvegardant" #: scene/animation/animation_player.cpp -#, fuzzy msgid "Current Animation Length" -msgstr "Modifier la durée de l’animation" +msgstr "Durée de l’animation actuelle" #: scene/animation/animation_player.cpp -#, fuzzy msgid "Current Animation Position" -msgstr "Ajouter un point d'animation" +msgstr "Position dans l'animation actuelle" #: scene/animation/animation_player.cpp msgid "Playback Options" msgstr "Options de Lecture" #: scene/animation/animation_player.cpp -#, fuzzy msgid "Default Blend Time" -msgstr "Thème par défaut" +msgstr "Temps de fondu par défaut" #: scene/animation/animation_player.cpp msgid "Method Call Mode" -msgstr "" +msgstr "Mode d'appel de méthode" #: scene/animation/animation_tree.cpp msgid "In node '%s', invalid animation: '%s'." @@ -23627,18 +23634,16 @@ msgid "Tree Root" msgstr "Racine de l’Arbre" #: scene/animation/animation_tree.cpp -#, fuzzy msgid "Anim Player" -msgstr "Épingler AnimationPlayer" +msgstr "Animation Player" #: scene/animation/animation_tree.cpp msgid "Root Motion" -msgstr "" +msgstr "Mouvement de racine" #: scene/animation/animation_tree.cpp -#, fuzzy msgid "Track" -msgstr "Ajouter une piste" +msgstr "Piste" #: scene/animation/animation_tree_player.cpp msgid "This node has been deprecated. Use AnimationTree instead." @@ -23655,66 +23660,56 @@ msgid "Master Player" msgstr "Coller les paramètres" #: scene/animation/animation_tree_player.cpp -#, fuzzy msgid "Base Path" -msgstr "Chemin d'exportation" +msgstr "Chemin de base" #: scene/animation/root_motion_view.cpp -#, fuzzy msgid "Animation Path" -msgstr "Animation" +msgstr "Chemin d'animation" #: scene/animation/root_motion_view.cpp -#, fuzzy msgid "Zero Y" -msgstr "Zéro" +msgstr "Mettre Y à zéro" #: scene/animation/skeleton_ik.cpp -#, fuzzy msgid "Root Bone" -msgstr "Nom de nœud racine" +msgstr "Os racine" #: scene/animation/skeleton_ik.cpp -#, fuzzy msgid "Tip Bone" -msgstr "Os" +msgstr "Os d'extrémité" #: scene/animation/skeleton_ik.cpp -#, fuzzy msgid "Interpolation" -msgstr "Mode d’interpolation" +msgstr "Interpolation" #: scene/animation/skeleton_ik.cpp -#, fuzzy msgid "Override Tip Basis" -msgstr "Redéfinition" +msgstr "Redéfinir la base d’extrémité" #: scene/animation/skeleton_ik.cpp msgid "Use Magnet" -msgstr "" +msgstr "Utiliser le magnétisme" #: scene/animation/skeleton_ik.cpp msgid "Magnet" -msgstr "" +msgstr "Magnétisme" #: scene/animation/skeleton_ik.cpp -#, fuzzy msgid "Target Node" -msgstr "Re-parenter le nœud" +msgstr "Nœud cible" #: scene/animation/skeleton_ik.cpp -#, fuzzy msgid "Max Iterations" -msgstr "Faire fonction" +msgstr "Itérations max" #: scene/animation/tween.cpp msgid "Playback Process Mode" -msgstr "" +msgstr "Mode du processus de lecture" #: scene/animation/tween.cpp -#, fuzzy msgid "Playback Speed" -msgstr "Lancer la scène" +msgstr "Vitesse de lecture" #: scene/audio/audio_stream_player.cpp #, fuzzy @@ -23723,29 +23718,25 @@ msgstr "Cible" #: scene/gui/aspect_ratio_container.cpp scene/gui/range.cpp #: servers/audio/effects/audio_effect_compressor.cpp -#, fuzzy msgid "Ratio" -msgstr "Conserver les Proportions" +msgstr "Ratio" #: scene/gui/aspect_ratio_container.cpp scene/gui/texture_button.cpp #: scene/gui/texture_rect.cpp -#, fuzzy msgid "Stretch Mode" -msgstr "Mode sélection" +msgstr "Mode d’étirement" #: scene/gui/aspect_ratio_container.cpp scene/gui/box_container.cpp msgid "Alignment" -msgstr "" +msgstr "Alignement" #: scene/gui/base_button.cpp -#, fuzzy msgid "Shortcut In Tooltip" -msgstr "Afficher l'origine" +msgstr "Raccourci dans l'info-bulle" #: scene/gui/base_button.cpp -#, fuzzy msgid "Action Mode" -msgstr "Mode Icône" +msgstr "Mode d'action" #: scene/gui/base_button.cpp msgid "Enabled Focus Mode" @@ -23756,14 +23747,12 @@ msgid "Keep Pressed Outside" msgstr "" #: scene/gui/base_button.cpp scene/gui/shortcut.cpp -#, fuzzy msgid "Shortcut" -msgstr "Raccourcis" +msgstr "Raccourci" #: scene/gui/base_button.cpp -#, fuzzy msgid "Group" -msgstr "Groupes" +msgstr "Groupe" #: scene/gui/button.cpp scene/gui/label.cpp #, fuzzy @@ -23773,11 +23762,11 @@ msgstr "Copier le texte" #: scene/gui/button.cpp scene/gui/label.cpp scene/gui/line_edit.cpp #: scene/gui/spin_box.cpp msgid "Align" -msgstr "" +msgstr "Aligner" #: scene/gui/button.cpp msgid "Icon Align" -msgstr "" +msgstr "Aligner l'icône" #: scene/gui/button.cpp #, fuzzy @@ -23785,9 +23774,8 @@ msgid "Expand Icon" msgstr "Développer tout" #: scene/gui/center_container.cpp -#, fuzzy msgid "Use Top Left" -msgstr "En haut à gauche" +msgstr "Utiliser haut à gauche" #: scene/gui/color_picker.cpp msgid "" @@ -23800,34 +23788,28 @@ msgstr "" "Clic droit : Supprimer le préréglage" #: scene/gui/color_picker.cpp -#, fuzzy msgid "Edit Alpha" -msgstr "Modifier le polygone" +msgstr "Modifier alpha" #: scene/gui/color_picker.cpp -#, fuzzy msgid "HSV Mode" -msgstr "Mode sélection" +msgstr "Mode HSV" #: scene/gui/color_picker.cpp -#, fuzzy msgid "Raw Mode" -msgstr "Mode navigation" +msgstr "Mode brut" #: scene/gui/color_picker.cpp -#, fuzzy msgid "Deferred Mode" -msgstr "Différé" +msgstr "Mode différé" #: scene/gui/color_picker.cpp -#, fuzzy msgid "Presets Enabled" -msgstr "Préréglages" +msgstr "Préréglages activés" #: scene/gui/color_picker.cpp -#, fuzzy msgid "Presets Visible" -msgstr "Rendre visible" +msgstr "Préréglages visibles" #: scene/gui/color_picker.cpp msgid "Pick a color from the editor window." @@ -23857,9 +23839,8 @@ msgstr "" "Control." #: scene/gui/control.cpp -#, fuzzy msgid "Theme Overrides" -msgstr "Redéfinition" +msgstr "Redéfinitions de thème" #: scene/gui/control.cpp msgid "" @@ -23871,14 +23852,12 @@ msgstr "" "souris sur \"Stop\" ou \"Pass\"." #: scene/gui/control.cpp -#, fuzzy msgid "Anchor" -msgstr "Uniquement les ancres" +msgstr "Ancre" #: scene/gui/control.cpp -#, fuzzy msgid "Grow Direction" -msgstr "Directions" +msgstr "Direction d'expansion" #: scene/gui/control.cpp scene/resources/navigation_mesh.cpp msgid "Min Size" @@ -23895,12 +23874,11 @@ msgstr "Constante de classe" #: scene/gui/control.cpp scene/resources/visual_shader_nodes.cpp msgid "Hint" -msgstr "" +msgstr "Suggestion" #: scene/gui/control.cpp -#, fuzzy msgid "Tooltip" -msgstr "Outils" +msgstr "Info-bulle" #: scene/gui/control.cpp scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -23909,20 +23887,19 @@ msgstr "Focaliser le chemin" #: scene/gui/control.cpp msgid "Neighbour Left" -msgstr "" +msgstr "Voisin gauche" #: scene/gui/control.cpp msgid "Neighbour Top" -msgstr "" +msgstr "Voisin au dessus" #: scene/gui/control.cpp msgid "Neighbour Right" -msgstr "" +msgstr "Voisin à droite" #: scene/gui/control.cpp -#, fuzzy msgid "Neighbour Bottom" -msgstr "Centrée en bas" +msgstr "Voisin en dessous" #: scene/gui/control.cpp msgid "Next" @@ -23934,7 +23911,7 @@ msgstr "Précédent" #: scene/gui/control.cpp msgid "Mouse" -msgstr "" +msgstr "Souris" #: scene/gui/control.cpp msgid "Default Cursor Shape" @@ -23949,9 +23926,8 @@ msgid "Size Flags" msgstr "Drapeaux de Taille" #: scene/gui/control.cpp -#, fuzzy msgid "Stretch Ratio" -msgstr "Mode sélection" +msgstr "Ratio d’étirement" #: scene/gui/control.cpp #, fuzzy @@ -23960,12 +23936,11 @@ msgstr "Propriétés du thème" #: scene/gui/dialogs.cpp msgid "Window Title" -msgstr "" +msgstr "Titre de la fenêtre" #: scene/gui/dialogs.cpp -#, fuzzy msgid "Dialog" -msgstr "Dialogue XForm" +msgstr "Boîte de dialogue" #: scene/gui/dialogs.cpp msgid "Hide On OK" @@ -24501,7 +24476,7 @@ msgstr "" #: scene/gui/tabs.cpp msgid "Scrolling Enabled" -msgstr "" +msgstr "Défilement activé" #: scene/gui/text_edit.cpp msgid "Readonly" @@ -24815,44 +24790,40 @@ msgstr "Nouvelle racine de scène" #: scene/main/scene_tree.cpp msgid "Root" -msgstr "" +msgstr "Racine" #: scene/main/scene_tree.cpp -#, fuzzy msgid "Multiplayer Poll" -msgstr "Multiplier %s" +msgstr "Poll d'attente active (polling) multijoueur" #: scene/main/scene_tree.cpp scene/resources/mesh_library.cpp #: scene/resources/shape_2d.cpp msgid "Shapes" -msgstr "" +msgstr "Formes" #: scene/main/scene_tree.cpp msgid "Shape Color" -msgstr "" +msgstr "Couleur de forme" #: scene/main/scene_tree.cpp -#, fuzzy msgid "Contact Color" -msgstr "Prélever une couleur" +msgstr "Couleur de contact" #: scene/main/scene_tree.cpp msgid "Geometry Color" -msgstr "" +msgstr "Couleur de géométrie" #: scene/main/scene_tree.cpp -#, fuzzy msgid "Disabled Geometry Color" -msgstr "Item désactivé" +msgstr "Couleur des géométries désactivées" #: scene/main/scene_tree.cpp msgid "Max Contacts Displayed" -msgstr "" +msgstr "Maximum de contacts affichés" #: scene/main/scene_tree.cpp scene/resources/shape_2d.cpp -#, fuzzy msgid "Draw 2D Outlines" -msgstr "Créer le contour" +msgstr "Dessiner les contours 2D" #: scene/main/scene_tree.cpp servers/visual_server.cpp msgid "Reflections" @@ -24864,15 +24835,15 @@ msgstr "Taille de l'Atlas" #: scene/main/scene_tree.cpp msgid "Atlas Subdiv" -msgstr "" +msgstr "Subdivision d'atlas" #: scene/main/scene_tree.cpp scene/main/viewport.cpp msgid "MSAA" -msgstr "" +msgstr "MSAA" #: scene/main/scene_tree.cpp msgid "Use FXAA" -msgstr "" +msgstr "Utiliser FXAA" #: scene/main/scene_tree.cpp msgid "Use Debanding" @@ -24880,16 +24851,15 @@ msgstr "" #: scene/main/scene_tree.cpp scene/main/viewport.cpp msgid "HDR" -msgstr "" +msgstr "HDR (High Dynamic Range)" #: scene/main/scene_tree.cpp scene/main/viewport.cpp msgid "Use 32 BPC Depth" -msgstr "" +msgstr "Utiliser profondeur de couleur 32 bits" #: scene/main/scene_tree.cpp -#, fuzzy msgid "Default Environment" -msgstr "Voir environnement" +msgstr "Environnement par défaut" #: scene/main/scene_tree.cpp msgid "" @@ -24921,9 +24891,8 @@ msgid "Autostart" msgstr "Démarrage Automatique" #: scene/main/viewport.cpp -#, fuzzy msgid "Viewport Path" -msgstr "Chemin d'exportation" +msgstr "Chemin de la fenêtre d'affichage" #: scene/main/viewport.cpp msgid "" @@ -24941,10 +24910,15 @@ msgid "" "Effects.\n" "HDR will be disabled for this Viewport." msgstr "" +"Cette fenêtre d'affichage utilise le HDR mais son Utilisation est 2D ou 2D " +"No-Sampling.\n" +"Le HDR est supporte uniquement sur les fenêtres d'affichage avec une " +"Utilisation 3D ou 3D No-Effects.\n" +"Le HDR sera désactivé pour cette fenêtre d'affichage." #: scene/main/viewport.cpp msgid "ARVR" -msgstr "" +msgstr "ARVR" #: scene/main/viewport.cpp #, fuzzy @@ -24952,30 +24926,29 @@ msgid "Size Override Stretch" msgstr "Remplacer l'item" #: scene/main/viewport.cpp +#, fuzzy msgid "Own World" -msgstr "" +msgstr "Propre Monde" #: scene/main/viewport.cpp scene/resources/world_2d.cpp msgid "World" -msgstr "" +msgstr "Monde" #: scene/main/viewport.cpp msgid "World 2D" -msgstr "" +msgstr "Monde 2D" #: scene/main/viewport.cpp -#, fuzzy msgid "Transparent BG" -msgstr "Transposer" +msgstr "Arrière-plan transparent" #: scene/main/viewport.cpp -#, fuzzy msgid "Handle Input Locally" -msgstr "Changer nom de l'entrée" +msgstr "Gérer les entrées localement" #: scene/main/viewport.cpp msgid "FXAA" -msgstr "" +msgstr "FXAA" #: scene/main/viewport.cpp #, fuzzy @@ -24983,23 +24956,20 @@ msgid "Debanding" msgstr "Liaison" #: scene/main/viewport.cpp -#, fuzzy msgid "Disable 3D" -msgstr "Item désactivé" +msgstr "Désactiver 3D" #: scene/main/viewport.cpp -#, fuzzy msgid "Keep 3D Linear" -msgstr "Linéaire gauche" +msgstr "Garder 3D linéaire" #: scene/main/viewport.cpp msgid "Render Direct To Screen" -msgstr "" +msgstr "Rendre directement vers l’écran" #: scene/main/viewport.cpp -#, fuzzy msgid "Debug Draw" -msgstr "Débogage" +msgstr "Déboguer appel de dessin" #: scene/main/viewport.cpp msgid "Render Target" @@ -25007,7 +24977,7 @@ msgstr "Rendre la cible" #: scene/main/viewport.cpp msgid "V Flip" -msgstr "" +msgstr "Miroir V" #: scene/main/viewport.cpp #, fuzzy @@ -25015,14 +24985,12 @@ msgid "Clear Mode" msgstr "Mode Règle" #: scene/main/viewport.cpp -#, fuzzy msgid "Enable 2D" -msgstr "Activer" +msgstr "Activer 2D" #: scene/main/viewport.cpp -#, fuzzy msgid "Enable 3D" -msgstr "Activer" +msgstr "Activer 3D" #: scene/main/viewport.cpp #, fuzzy @@ -25030,9 +24998,8 @@ msgid "Object Picking" msgstr "Activer l'effet « pelure d'oignon »" #: scene/main/viewport.cpp -#, fuzzy msgid "Disable Input" -msgstr "Item désactivé" +msgstr "Désactiver entrées" #: scene/main/viewport.cpp servers/visual_server.cpp #, fuzzy @@ -25041,97 +25008,84 @@ msgstr "Nouvel Atlas" #: scene/main/viewport.cpp msgid "Quad 0" -msgstr "" +msgstr "Quad 0" #: scene/main/viewport.cpp msgid "Quad 1" -msgstr "" +msgstr "Quad 1" #: scene/main/viewport.cpp msgid "Quad 2" -msgstr "" +msgstr "Quad 2" #: scene/main/viewport.cpp msgid "Quad 3" -msgstr "" +msgstr "Quad 3" #: scene/main/viewport.cpp -#, fuzzy msgid "Canvas Transform" -msgstr "Supprimer la transformation" +msgstr "Transformation du canevas" #: scene/main/viewport.cpp -#, fuzzy msgid "Global Canvas Transform" -msgstr "Conserver la transformation globale" +msgstr "Transformation du canevas global" #: scene/main/viewport.cpp msgid "Tooltip Delay (sec)" -msgstr "" +msgstr "Délai de l'info-bulle (sec)" #: scene/register_scene_types.cpp -#, fuzzy msgid "Swap OK Cancel" -msgstr "Annuler" +msgstr "Inverser OK et Annuler" #: scene/register_scene_types.cpp -#, fuzzy msgid "Layer Names" -msgstr "Nom" +msgstr "Noms des couches" #: scene/register_scene_types.cpp -#, fuzzy msgid "2D Render" -msgstr "Rendu" +msgstr "Rendu 2D" #: scene/register_scene_types.cpp -#, fuzzy msgid "3D Render" -msgstr "Rendu" +msgstr "Rendu 3D" #: scene/register_scene_types.cpp -#, fuzzy msgid "2D Physics" -msgstr "Physique" +msgstr "Physique 2D" #: scene/register_scene_types.cpp -#, fuzzy msgid "3D Physics" -msgstr "Physique" +msgstr "Physique 3D" #: scene/register_scene_types.cpp -#, fuzzy msgid "2D Navigation" -msgstr "Navigation" +msgstr "Navigation 2D" #: scene/register_scene_types.cpp -#, fuzzy msgid "3D Navigation" -msgstr "Navigation" +msgstr "Navigation 3D" #: scene/register_scene_types.cpp msgid "Use hiDPI" -msgstr "" +msgstr "Utiliser hiDPI" #: scene/register_scene_types.cpp -#, fuzzy msgid "Custom" -msgstr "Nœud Personnalisé" +msgstr "Personnalisé" #: scene/register_scene_types.cpp -#, fuzzy msgid "Custom Font" -msgstr "Nœud Personnalisé" +msgstr "Police personnalisée" #: scene/resources/audio_stream_sample.cpp #: servers/audio/effects/audio_stream_generator.cpp servers/audio_server.cpp -#, fuzzy msgid "Mix Rate" -msgstr "Mélanger le nœud" +msgstr "Taux de mélange" #: scene/resources/audio_stream_sample.cpp msgid "Stereo" -msgstr "" +msgstr "Stéréo" #: scene/resources/concave_polygon_shape_2d.cpp msgid "Segments" @@ -25148,121 +25102,103 @@ msgstr "" #: scene/resources/default_theme/default_theme.cpp msgid "Panel" -msgstr "" +msgstr "Panneau" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Font Color" -msgstr "Prélever une couleur" +msgstr "Couleur de police" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Font Color Pressed" -msgstr "Renommer l'item de couleur" +msgstr "Couleur de police quand pressé" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Font Color Hover" -msgstr "Renommer l'item de couleur" +msgstr "Couleur de police au survol" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Font Color Focus" -msgstr "Remplir la surface" +msgstr "Couleur de police quand actif" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Font Color Disabled" -msgstr "Âgrafe désactivée" +msgstr "Couleur de police quand désactivé" #: scene/resources/default_theme/default_theme.cpp msgid "H Separation" -msgstr "Séparation H" +msgstr "Séparation horizontale" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Underline Spacing" -msgstr "Bouclage de l’animation" +msgstr "Espacement du soulignage" #: scene/resources/default_theme/default_theme.cpp msgid "Arrow" -msgstr "" +msgstr "Flèche" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Arrow Margin" -msgstr "Définir la marge" +msgstr "Marge de flèche" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Hover Pressed" -msgstr "Pressé" +msgstr "Survol pressé" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Checked Disabled" -msgstr "Item à cocher" +msgstr "Coché désactivé" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Unchecked" -msgstr "Item coché" +msgstr "Non coché" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Unchecked Disabled" -msgstr "Item désactivé" +msgstr "Non coché désactivé" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Radio Checked" -msgstr "Item coché" +msgstr "Radio coché" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Radio Checked Disabled" -msgstr "(Éditeur désactivé)" +msgstr "Radio coché désactivé" #: scene/resources/default_theme/default_theme.cpp msgid "Radio Unchecked" -msgstr "" +msgstr "Radio non coché" #: scene/resources/default_theme/default_theme.cpp msgid "Radio Unchecked Disabled" -msgstr "" +msgstr "Radio non coché désactivé" #: scene/resources/default_theme/default_theme.cpp msgid "Font Color Hover Pressed" -msgstr "" +msgstr "Couleur de police au survol pressé" #: scene/resources/default_theme/default_theme.cpp msgid "Check V Adjust" -msgstr "" +msgstr "Ajustement V de la case à cocher" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "On Disabled" -msgstr "Item désactivé" +msgstr "Quand désactivé" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Off" -msgstr "Décalage" +msgstr "Éteint" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Off Disabled" -msgstr "Item désactivé" +msgstr "Éteint désactivé" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Font Color Shadow" -msgstr "Renommer l'item de couleur" +msgstr "Couleur de police de l'ombre" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Font Outline Modulate" -msgstr "Forcer la modulation blanche" +msgstr "Moduler le contour de la police" #: scene/resources/default_theme/default_theme.cpp msgid "Shadow Offset X" @@ -25273,23 +25209,20 @@ msgid "Shadow Offset Y" msgstr "Décalage Y de l'ombre" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Shadow As Outline" -msgstr "Plan précédent" +msgstr "Ombre comme contour" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Font Color Selected" -msgstr "Déverrouillage Sélectionné" +msgstr "Couleur de police quand sélectionné" #: scene/resources/default_theme/default_theme.cpp msgid "Font Color Uneditable" -msgstr "" +msgstr "Couleur de police quand non-éditable" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Cursor Color" -msgstr "Nœud Personnalisé" +msgstr "Couleur du curseur" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25307,25 +25240,22 @@ msgid "Minimum Spaces" msgstr "Scène principale" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "BG" -msgstr "o" +msgstr "Arrière-plan" #: scene/resources/default_theme/default_theme.cpp msgid "FG" -msgstr "" +msgstr "Premier plan" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Tab" -msgstr "Onglet 1" +msgstr "Onglet" #: scene/resources/default_theme/default_theme.cpp #: scene/resources/dynamic_font.cpp scene/resources/world.cpp #: scene/resources/world_2d.cpp -#, fuzzy msgid "Space" -msgstr "Scène principale" +msgstr "Espace" #: scene/resources/default_theme/default_theme.cpp msgid "Folded" @@ -25337,86 +25267,75 @@ msgstr "Replier" #: scene/resources/default_theme/default_theme.cpp msgid "Font Color Readonly" -msgstr "" +msgstr "Couleur de police quand en lecture seule" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Completion Lines" -msgstr "Complétion" +msgstr "Lignes de complétion" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Completion Max Width" -msgstr "Complétion" +msgstr "Largeur maximale de complétion" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Completion Scroll Width" -msgstr "Importer la sélection" +msgstr "Largeur de la barre de défilement de complétion" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Scroll Focus" -msgstr "Remplir la surface" +msgstr "Arrière de la barre quand active" #: scene/resources/default_theme/default_theme.cpp msgid "Grabber" -msgstr "" +msgstr "Poignée" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Grabber Highlight" -msgstr "Coloration syntaxique" +msgstr "Poignée au survol" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Grabber Pressed" -msgstr "Pressé" +msgstr "Poignée quand pressée" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Increment" -msgstr "Voir environnement" +msgstr "Incrémenteur" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Increment Highlight" -msgstr "Coloration syntaxique" +msgstr "Incrémenteur au survol" #: scene/resources/default_theme/default_theme.cpp msgid "Increment Pressed" -msgstr "" +msgstr "Incrémenteur quand pressé" #: scene/resources/default_theme/default_theme.cpp msgid "Decrement" -msgstr "" +msgstr "Décrémenteur" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Decrement Highlight" -msgstr "Coloration syntaxique" +msgstr "Décrémenteur au survol" #: scene/resources/default_theme/default_theme.cpp msgid "Decrement Pressed" -msgstr "" +msgstr "Décrémenteur quand pressé" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Slider" -msgstr "Mode collision" +msgstr "Arrière de la barre" #: scene/resources/default_theme/default_theme.cpp msgid "Grabber Area" -msgstr "" +msgstr "Zone de la poignée" #: scene/resources/default_theme/default_theme.cpp msgid "Grabber Area Highlight" -msgstr "" +msgstr "Zone de la poignée au survol" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Grabber Disabled" -msgstr "Item désactivé" +msgstr "Poignée quand désactivée" #: scene/resources/default_theme/default_theme.cpp msgid "Tick" @@ -25432,24 +25351,20 @@ msgid "Scaleborder Size" msgstr "Pixels de bordure" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Title Font" -msgstr "Police du Code" +msgstr "Police du titre" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Title Color" -msgstr "Couleur du Texte" +msgstr "Couleur du titre" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Title Height" -msgstr "En période de test" +msgstr "Hauteur du titre" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Close Highlight" -msgstr "Éclairage direct" +msgstr "\"Fermer\" au survol" #: scene/resources/default_theme/default_theme.cpp msgid "Close H Offset" @@ -25460,29 +25375,24 @@ msgid "Close V Offset" msgstr "Fermer décalage V" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Parent Folder" -msgstr "Créer un dossier" +msgstr "Dossier parent" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Toggle Hidden" -msgstr "Basculer les fichiers cachés" +msgstr "Cacher/Montrer" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Panel Disabled" -msgstr "Âgrafe désactivée" +msgstr "Panneau désactivé" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Labeled Separator Left" -msgstr "Séparateur nommé" +msgstr "Séparateur nommé gauche" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Labeled Separator Right" -msgstr "Séparateur nommé" +msgstr "Séparateur nommé droit" #: scene/resources/default_theme/default_theme.cpp msgid "Font Separator" @@ -25502,14 +25412,12 @@ msgid "V Separation" msgstr "Séparation V" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Selected Frame" -msgstr "Sélectionner des Trames" +msgstr "Trame sélectionnée" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Default Frame" -msgstr "Défaut" +msgstr "Trame par défaut" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25522,38 +25430,32 @@ msgid "Comment Focus" msgstr "Enregistrer" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Breakpoint" -msgstr "Point d'arrêts" +msgstr "Point d'arrêt" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Resizer" -msgstr "Redimensionnable" +msgstr "Redimensionneur" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Close Color" -msgstr "Couleurs" +msgstr "Couleur du bouton Fermer" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Resizer Color" -msgstr "Couleurs" +msgstr "Couleur du redimensionneur" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Title Offset" -msgstr "Décalage d’Octet" +msgstr "Décalage du titre" #: scene/resources/default_theme/default_theme.cpp msgid "Close Offset" msgstr "Fermer de décalage" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Port Offset" -msgstr "Décalage du Pivot" +msgstr "Décalage du port" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25567,12 +25469,11 @@ msgstr "Sélectionner" #: scene/resources/default_theme/default_theme.cpp msgid "Cursor Unfocused" -msgstr "" +msgstr "Curseur quand inactif" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Button Pressed" -msgstr "Pressé" +msgstr "Bouton quand pressé" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25590,19 +25491,16 @@ msgid "Title Button Hover" msgstr "Bouton à bascule (toggle)" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Custom Button" -msgstr "Nœud Personnalisé" +msgstr "Bouton personnalisé" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Custom Button Pressed" -msgstr "Options de bus" +msgstr "Bouton personnalisé quand pressé" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Custom Button Hover" -msgstr "Nœud Personnalisé" +msgstr "Bouton personnalisé au survol" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25625,9 +25523,8 @@ msgid "Title Button Color" msgstr "Couleur de la Sélection" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Guide Color" -msgstr "Prélever une couleur" +msgstr "Couleur des guides" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25635,75 +25532,64 @@ msgid "Drop Position Color" msgstr "Position du dock" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Relationship Line Color" -msgstr "Couleur de la Ligne Actuelle" +msgstr "Couleur des lignes de relation" #: scene/resources/default_theme/default_theme.cpp msgid "Custom Button Font Highlight" msgstr "" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Item Margin" -msgstr "Définir la marge" +msgstr "Marge d'élément" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Button Margin" -msgstr "Bouton" +msgstr "Marge de bouton" #: scene/resources/default_theme/default_theme.cpp msgid "Draw Relationship Lines" -msgstr "" +msgstr "Afficher les lignes de relation" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Draw Guides" msgstr "Afficher les guides" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Scroll Border" -msgstr "Défilement Vertical" +msgstr "Bordure de la barre de défilement" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Scroll Speed" -msgstr "Décalage du Défilement" +msgstr "Vitesse de défilement" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Icon Margin" -msgstr "Définir la marge" +msgstr "Marge d’icône" #: scene/resources/default_theme/default_theme.cpp msgid "Line Separation" msgstr "Séparation de line" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Tab FG" -msgstr "Onglet 1" +msgstr "Premier plan d'onglet" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Tab BG" -msgstr "Onglet 1" +msgstr "Arrière-plan d'onglet" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Tab Disabled" -msgstr "Item désactivé" +msgstr "Onglet désactivé" #: scene/resources/default_theme/default_theme.cpp msgid "Menu" -msgstr "" +msgstr "Menu" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Menu Highlight" -msgstr "Éclairage direct" +msgstr "Menu au survol" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25716,14 +25602,12 @@ msgid "Font Color BG" msgstr "Renommer l'item de couleur" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Side Margin" -msgstr "Définir la marge" +msgstr "Marge de coté" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Top Margin" -msgstr "Définir la marge" +msgstr "Marge en haut" #: scene/resources/default_theme/default_theme.cpp msgid "Label V Align FG" @@ -25734,28 +25618,24 @@ msgid "Label V Align BG" msgstr "" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Large" -msgstr "Cible" +msgstr "Grand" #: scene/resources/default_theme/default_theme.cpp msgid "Folder" msgstr "Dossier" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Folder Icon Modulate" -msgstr "Forcer la modulation blanche" +msgstr "Moduler l’icône du dossier" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "File Icon Modulate" -msgstr "Mode Icône" +msgstr "Moduler l'icône du fichier" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Files Disabled" -msgstr "Âgrafe désactivée" +msgstr "Fichiers désactivés" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25773,71 +25653,60 @@ msgid "H Width" msgstr "Étendu à Gauche" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Label Width" -msgstr "Étendu à Gauche" +msgstr "Largeur du label" #: scene/resources/default_theme/default_theme.cpp msgid "Screen Picker" msgstr "Sélecteur d'écran" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Add Preset" -msgstr "Charger un préréglage" +msgstr "Ajouter préréglage" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Color Hue" -msgstr "Thème de l'éditeur" +msgstr "Teinte de couleur" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Color Sample" -msgstr "Couleurs" +msgstr "Échantillon de couleur" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Preset BG" -msgstr "Préréglage" +msgstr "Préréglage arrière-plan" #: scene/resources/default_theme/default_theme.cpp msgid "Overbright Indicator" -msgstr "" +msgstr "Indicateur de surluminosité" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Preset FG" -msgstr "Préréglage" +msgstr "Préréglage avant-plan" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Preset BG Icon" -msgstr "Préréglage" +msgstr "Préréglage icône d'arrière-plan" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Normal Font" -msgstr "Format" +msgstr "Police normale" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Bold Font" -msgstr "Police du Code" +msgstr "Police en gras" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Italics Font" -msgstr "Police Principale" +msgstr "Police italique" #: scene/resources/default_theme/default_theme.cpp msgid "Bold Italics Font" -msgstr "" +msgstr "Police italique grasse" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Mono Font" -msgstr "Police Principale" +msgstr "Police monospace" #: scene/resources/default_theme/default_theme.cpp msgid "Table H Separation" @@ -25848,62 +25717,52 @@ msgid "Table V Separation" msgstr "Séparation V de table" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Margin Left" -msgstr "Définir la marge" +msgstr "Marge à gauche" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Margin Top" -msgstr "Définir la marge" +msgstr "Marge en haut" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Margin Right" -msgstr "Indenter vers la droite" +msgstr "Marge à droite" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Margin Bottom" -msgstr "Mode sélection" +msgstr "Marge en bas" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Autohide" -msgstr "Coupe automatique" +msgstr "Cacher automatiquement" #: scene/resources/default_theme/default_theme.cpp msgid "Minus" -msgstr "" +msgstr "Moins" #: scene/resources/default_theme/default_theme.cpp msgid "More" -msgstr "" +msgstr "Plus" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Grid Minor" -msgstr "Couleur de la Grille" +msgstr "Grille secondaire" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Grid Major" -msgstr "Grille" +msgstr "Grille principale" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Selection Fill" -msgstr "Sélection uniquement" +msgstr "Remplissage de la sélection" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Selection Stroke" -msgstr "Sélectionnez une propriété" +msgstr "Trait de la sélection" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Activity" -msgstr "Action" +msgstr "Activité" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25916,40 +25775,35 @@ msgstr "" #: scene/resources/default_theme/default_theme.cpp msgid "Port Grab Distance Horizontal" -msgstr "" +msgstr "Distance horizontale de capture de port" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Port Grab Distance Vertical" -msgstr "WaitInstanceSignal" +msgstr "Distance verticale de capture de port" #: scene/resources/dynamic_font.cpp msgid "Hinting" -msgstr "" +msgstr "Optimisation de rendu (hinting)" #: scene/resources/dynamic_font.cpp -#, fuzzy msgid "Override Oversampling" -msgstr "Remplacer l'item" +msgstr "Remplacer le suréchantillonnage" #: scene/resources/dynamic_font.cpp -#, fuzzy msgid "Font Path" -msgstr "Focaliser le chemin" +msgstr "Chemin de la police" #: scene/resources/dynamic_font.cpp msgid "Outline Size" msgstr "Taille de Contour" #: scene/resources/dynamic_font.cpp -#, fuzzy msgid "Outline Color" -msgstr "Fonction" +msgstr "Couleur de contour" #: scene/resources/dynamic_font.cpp -#, fuzzy msgid "Use Mipmaps" -msgstr "Signaux" +msgstr "Utiliser les Mipmaps" #: scene/resources/dynamic_font.cpp msgid "Extra Spacing" @@ -25960,27 +25814,24 @@ msgid "Char" msgstr "Char" #: scene/resources/dynamic_font.cpp -#, fuzzy msgid "Font Data" -msgstr "Avec données" +msgstr "Données de police" #: scene/resources/environment.cpp msgid "Background" -msgstr "" +msgstr "Arrière-plan" #: scene/resources/environment.cpp scene/resources/sky.cpp msgid "Sky" -msgstr "" +msgstr "Ciel" #: scene/resources/environment.cpp -#, fuzzy msgid "Sky Custom FOV" -msgstr "Nœud Personnalisé" +msgstr "Champ de vision personnalisé du ciel" #: scene/resources/environment.cpp -#, fuzzy msgid "Sky Orientation" -msgstr "Documentation en ligne" +msgstr "Orientation du ciel" #: scene/resources/environment.cpp msgid "Sky Rotation" @@ -25996,17 +25847,15 @@ msgstr "" #: scene/resources/environment.cpp scene/resources/texture.cpp msgid "Camera Feed ID" -msgstr "" +msgstr "ID de flux de la caméra" #: scene/resources/environment.cpp -#, fuzzy msgid "Ambient Light" -msgstr "Indenter vers la droite" +msgstr "Lumière ambiante" #: scene/resources/environment.cpp -#, fuzzy msgid "Sky Contribution" -msgstr "Condition" +msgstr "Contribution du ciel" #: scene/resources/environment.cpp msgid "Fog" @@ -26021,79 +25870,68 @@ msgid "Sun Amount" msgstr "Quantité de Soleil" #: scene/resources/environment.cpp -#, fuzzy msgid "Depth Enabled" -msgstr "Profondeur" +msgstr "Profondeur activée" #: scene/resources/environment.cpp -#, fuzzy msgid "Depth Begin" -msgstr "Profondeur" +msgstr "Départ de la profondeur" #: scene/resources/environment.cpp -#, fuzzy msgid "Depth End" -msgstr "Profondeur" +msgstr "Fin de la profondeur" #: scene/resources/environment.cpp -#, fuzzy msgid "Depth Curve" -msgstr "Scinder la courbe" +msgstr "Courbe de profondeur" #: scene/resources/environment.cpp -#, fuzzy msgid "Transmit Enabled" -msgstr "Filtrer les signaux" +msgstr "Transmission activée" #: scene/resources/environment.cpp -#, fuzzy msgid "Transmit Curve" -msgstr "Scinder la courbe" +msgstr "Courbe de transmission" #: scene/resources/environment.cpp -#, fuzzy msgid "Height Enabled" -msgstr "Filtrer les signaux" +msgstr "Hauteur activée" #: scene/resources/environment.cpp -#, fuzzy msgid "Height Min" -msgstr "Lumière" +msgstr "Hauteur minimum" #: scene/resources/environment.cpp -#, fuzzy msgid "Height Max" -msgstr "Lumière" +msgstr "Hauteur maximum" #: scene/resources/environment.cpp -#, fuzzy msgid "Height Curve" -msgstr "Scinder la courbe" +msgstr "Courbe de hauteur" #: scene/resources/environment.cpp msgid "Tonemap" msgstr "Tonemap" #: scene/resources/environment.cpp -#, fuzzy msgid "Exposure" -msgstr "Exporter" +msgstr "Exposition" #: scene/resources/environment.cpp msgid "White" -msgstr "" +msgstr "Blanc" #: scene/resources/environment.cpp msgid "Auto Exposure" -msgstr "" +msgstr "Exposition auto" #: scene/resources/environment.cpp msgid "Min Luma" -msgstr "" +msgstr "Lumen minimum" #: scene/resources/environment.cpp msgid "Max Luma" -msgstr "" +msgstr "Lumen maximum" #: scene/resources/environment.cpp #, fuzzy @@ -26101,9 +25939,8 @@ msgid "SS Reflections" msgstr "Mettre à l'échelle la sélection" #: scene/resources/environment.cpp -#, fuzzy msgid "Max Steps" -msgstr "Pas" +msgstr "Pas maximum" #: scene/resources/environment.cpp msgid "Fade In" @@ -26114,17 +25951,16 @@ msgid "Fade Out" msgstr "Fondu sortant" #: scene/resources/environment.cpp -#, fuzzy msgid "Depth Tolerance" -msgstr "Profondeur" +msgstr "Tolérance de profondeur" #: scene/resources/environment.cpp scene/resources/material.cpp msgid "Roughness" -msgstr "" +msgstr "Dureté" #: scene/resources/environment.cpp msgid "SSAO" -msgstr "" +msgstr "SSAO" #: scene/resources/environment.cpp msgid "Radius 2" @@ -26132,7 +25968,7 @@ msgstr "Rayon 2" #: scene/resources/environment.cpp msgid "Intensity 2" -msgstr "" +msgstr "Intensité 2" #: scene/resources/environment.cpp scene/resources/material.cpp #, fuzzy @@ -26146,15 +25982,15 @@ msgstr "Débogage du canal UV" #: scene/resources/environment.cpp msgid "Blur" -msgstr "" +msgstr "Flou" #: scene/resources/environment.cpp msgid "Edge Sharpness" -msgstr "" +msgstr "Netteté des bords" #: scene/resources/environment.cpp msgid "DOF Far Blur" -msgstr "" +msgstr "Flou d'éloigné de la profondeur de champ" #: scene/resources/environment.cpp scene/resources/material.cpp msgid "Distance" @@ -26166,21 +26002,20 @@ msgstr "Transition" #: scene/resources/environment.cpp msgid "DOF Near Blur" -msgstr "" +msgstr "Flou de rapproché de la profondeur de champ" #: scene/resources/environment.cpp msgid "Glow" -msgstr "" +msgstr "Luisance" #: scene/resources/environment.cpp -#, fuzzy msgid "Levels" -msgstr "Développeurs" +msgstr "Niveaux" #: scene/resources/environment.cpp #: servers/audio/effects/audio_effect_chorus.cpp msgid "1" -msgstr "" +msgstr "1" #: scene/resources/environment.cpp #: servers/audio/effects/audio_effect_chorus.cpp @@ -26378,19 +26213,16 @@ msgid "Use Alpha Scissor" msgstr "Utiliser la découpe alpha" #: scene/resources/material.cpp -#, fuzzy msgid "Particles Anim" -msgstr "Particules" +msgstr "Animation de particules" #: scene/resources/material.cpp -#, fuzzy msgid "H Frames" -msgstr "Image %" +msgstr "Trames H" #: scene/resources/material.cpp -#, fuzzy msgid "V Frames" -msgstr "Image %" +msgstr "Trames V" #: scene/resources/material.cpp msgid "Albedo" @@ -26398,25 +26230,23 @@ msgstr "Albédo" #: scene/resources/material.cpp msgid "Metallic" -msgstr "" +msgstr "Métallique" #: scene/resources/material.cpp -#, fuzzy msgid "Texture Channel" -msgstr "RegionDeTexture" +msgstr "Canal de texture" #: scene/resources/material.cpp -#, fuzzy msgid "Emission" -msgstr "Masque d'émission" +msgstr "Émission" #: scene/resources/material.cpp msgid "On UV2" -msgstr "" +msgstr "Sur UV2" #: scene/resources/material.cpp msgid "NormalMap" -msgstr "" +msgstr "NormalMap" #: scene/resources/material.cpp msgid "Rim" @@ -26429,20 +26259,19 @@ msgstr "Effacer" #: scene/resources/material.cpp msgid "Gloss" -msgstr "" +msgstr "Éclat" #: scene/resources/material.cpp msgid "Anisotropy" -msgstr "" +msgstr "Anisotropie" #: scene/resources/material.cpp msgid "Flowmap" msgstr "" #: scene/resources/material.cpp -#, fuzzy msgid "Ambient Occlusion" -msgstr "Occlusion" +msgstr "Occlusion ambiante" #: scene/resources/material.cpp msgid "Deep Parallax" @@ -26469,7 +26298,7 @@ msgstr "Retourner le Portal" #: scene/resources/material.cpp msgid "Subsurf Scatter" -msgstr "" +msgstr "Transluminescence" #: scene/resources/material.cpp msgid "Transmission" @@ -26481,30 +26310,27 @@ msgstr "Réfraction" #: scene/resources/material.cpp msgid "Detail" -msgstr "" +msgstr "Détail" #: scene/resources/material.cpp -#, fuzzy msgid "UV Layer" -msgstr "Calque" +msgstr "Couche UV" #: scene/resources/material.cpp -#, fuzzy msgid "UV1" -msgstr "UV" +msgstr "UV1" #: scene/resources/material.cpp msgid "Triplanar" -msgstr "" +msgstr "Triplanaire" #: scene/resources/material.cpp msgid "Triplanar Sharpness" msgstr "" #: scene/resources/material.cpp -#, fuzzy msgid "UV2" -msgstr "UV" +msgstr "UV2" #: scene/resources/material.cpp #, fuzzy @@ -26516,9 +26342,8 @@ msgid "Distance Fade" msgstr "" #: scene/resources/material.cpp -#, fuzzy msgid "Async Mode" -msgstr "Mode navigation" +msgstr "Mode asynchrone" #: scene/resources/mesh.cpp #, fuzzy @@ -26530,14 +26355,12 @@ msgid "Custom AABB" msgstr "" #: scene/resources/mesh_library.cpp -#, fuzzy msgid "Mesh Transform" -msgstr "Transformation" +msgstr "Transformation de Mesh" #: scene/resources/mesh_library.cpp -#, fuzzy msgid "NavMesh Transform" -msgstr "Supprimer la transformation" +msgstr "Transformation de NavMesh" #: scene/resources/multimesh.cpp msgid "Color Format" @@ -26552,22 +26375,20 @@ msgid "Custom Data Format" msgstr "" #: scene/resources/multimesh.cpp -#, fuzzy msgid "Instance Count" -msgstr "Instance" +msgstr "Nombre d'instances" #: scene/resources/multimesh.cpp msgid "Visible Instance Count" -msgstr "" +msgstr "Nombre d'instances visibles" #: scene/resources/navigation_mesh.cpp msgid "Sampling" msgstr "Échantillonnage" #: scene/resources/navigation_mesh.cpp -#, fuzzy msgid "Partition Type" -msgstr "Définir type de variable" +msgstr "Type de partition" #: scene/resources/navigation_mesh.cpp msgid "Parsed Geometry Type" @@ -26584,12 +26405,11 @@ msgstr "Source" #: scene/resources/navigation_mesh.cpp msgid "Cells" -msgstr "" +msgstr "Cellules" #: scene/resources/navigation_mesh.cpp -#, fuzzy msgid "Agents" -msgstr "Segments" +msgstr "Agents" #: scene/resources/navigation_mesh.cpp msgid "Max Climb" @@ -26597,12 +26417,11 @@ msgstr "" #: scene/resources/navigation_mesh.cpp msgid "Max Slope" -msgstr "" +msgstr "Pente maximale" #: scene/resources/navigation_mesh.cpp -#, fuzzy msgid "Regions" -msgstr "Région" +msgstr "Régions" #: scene/resources/navigation_mesh.cpp #, fuzzy @@ -26611,7 +26430,7 @@ msgstr "Fusionner depuis la scène" #: scene/resources/navigation_mesh.cpp msgid "Edges" -msgstr "" +msgstr "Arêtes" #: scene/resources/navigation_mesh.cpp #, fuzzy @@ -26623,9 +26442,8 @@ msgid "Verts Per Poly" msgstr "" #: scene/resources/navigation_mesh.cpp -#, fuzzy msgid "Details" -msgstr "Afficher par défaut" +msgstr "Détails" #: scene/resources/navigation_mesh.cpp msgid "Sample Distance" @@ -26660,34 +26478,31 @@ msgstr "Décalage :" #: scene/resources/occluder_shape.cpp msgid "Spheres" -msgstr "" +msgstr "Sphères" #: scene/resources/occluder_shape.cpp msgid "OccluderShapeSphere Set Spheres" msgstr "Définir les sphères pour OccluderShapeSphere" #: scene/resources/occluder_shape_polygon.cpp -#, fuzzy msgid "Polygon Points" -msgstr "Polygones" +msgstr "Points de polygone" #: scene/resources/occluder_shape_polygon.cpp -#, fuzzy msgid "Hole Points" -msgstr "Déplacer de points" +msgstr "Points de trou" #: scene/resources/packed_scene.cpp msgid "Bundled" -msgstr "" +msgstr "Empaqueté" #: scene/resources/particles_material.cpp msgid "Trail" -msgstr "" +msgstr "Traînée" #: scene/resources/particles_material.cpp -#, fuzzy msgid "Divisor" -msgstr "Diviser %s" +msgstr "Diviseur" #: scene/resources/particles_material.cpp #, fuzzy @@ -26713,9 +26528,8 @@ msgid "Color Texture" msgstr "Thème de l'éditeur" #: scene/resources/particles_material.cpp -#, fuzzy msgid "Point Count" -msgstr "Ajouter un port d'entrée" +msgstr "Nombre de points" #: scene/resources/particles_material.cpp msgid "Scale Random" @@ -26732,16 +26546,15 @@ msgstr "" #: scene/resources/physics_material.cpp msgid "Absorbent" -msgstr "" +msgstr "Absorbant" #: scene/resources/plane_shape.cpp msgid "Plane" msgstr "Plan" #: scene/resources/primitive_meshes.cpp -#, fuzzy msgid "Flip Faces" -msgstr "Retourner les Portals" +msgstr "Retourner les faces" #: scene/resources/primitive_meshes.cpp msgid "Mid Height" @@ -26749,15 +26562,15 @@ msgstr "" #: scene/resources/primitive_meshes.cpp msgid "Subdivide Width" -msgstr "" +msgstr "Largeur de subdivision" #: scene/resources/primitive_meshes.cpp msgid "Subdivide Height" -msgstr "" +msgstr "Hauteur de subdivision" #: scene/resources/primitive_meshes.cpp msgid "Subdivide Depth" -msgstr "" +msgstr "Profondeur de subdivision" #: scene/resources/primitive_meshes.cpp msgid "Top Radius" @@ -26769,43 +26582,38 @@ msgid "Bottom Radius" msgstr "En bas à droite" #: scene/resources/primitive_meshes.cpp -#, fuzzy msgid "Left To Right" -msgstr "En haut à droite" +msgstr "Gauche à droite" #: scene/resources/primitive_meshes.cpp msgid "Is Hemisphere" -msgstr "" +msgstr "Est une hémisphère" #: scene/resources/primitive_meshes.cpp -#, fuzzy msgid "Curve Step" -msgstr "Scinder la courbe" +msgstr "Pas de la courbe" #: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp msgid "Slips On Slope" -msgstr "" +msgstr "Glisse sur pente" #: scene/resources/segment_shape_2d.cpp msgid "A" -msgstr "" +msgstr "A" #: scene/resources/shape_2d.cpp msgid "Custom Solver Bias" msgstr "" #: scene/resources/skin.cpp -#, fuzzy msgid "Bind Count" -msgstr "Ajouter un port d'entrée" +msgstr "Nombre de liaisons" #: scene/resources/skin.cpp -#, fuzzy msgid "Bind" msgstr "Liaison" #: scene/resources/skin.cpp -#, fuzzy msgid "Bone" msgstr "Os" @@ -26815,53 +26623,47 @@ msgstr "Taille du rayonnement" #: scene/resources/sky.cpp msgid "Panorama" -msgstr "" +msgstr "Panorama" #: scene/resources/sky.cpp -#, fuzzy msgid "Top Color" -msgstr "Étage suivant" +msgstr "Couleur du haut" #: scene/resources/sky.cpp msgid "Horizon Color" msgstr "Couleur de l’Horizon" #: scene/resources/sky.cpp -#, fuzzy msgid "Ground" -msgstr "Groupé" +msgstr "Sol" #: scene/resources/sky.cpp -#, fuzzy msgid "Bottom Color" -msgstr "Signets" +msgstr "Couleur du bas" #: scene/resources/sky.cpp -#, fuzzy msgid "Sun" -msgstr "Lancer" +msgstr "Soleil" #: scene/resources/sky.cpp -#, fuzzy msgid "Latitude" -msgstr "Remplacer" +msgstr "Latitude" #: scene/resources/sky.cpp msgid "Longitude" -msgstr "" +msgstr "Longitude" #: scene/resources/sky.cpp msgid "Angle Min" -msgstr "" +msgstr "Angle min" #: scene/resources/sky.cpp msgid "Angle Max" -msgstr "" +msgstr "Angle max" #: scene/resources/style_box.cpp -#, fuzzy msgid "Content Margin" -msgstr "Définir la marge" +msgstr "Marge de contenu" #: scene/resources/style_box.cpp #, fuzzy @@ -26870,7 +26672,7 @@ msgstr "Développer tout" #: scene/resources/style_box.cpp msgid "Skew" -msgstr "" +msgstr "Biseau" #: scene/resources/style_box.cpp #, fuzzy @@ -26883,7 +26685,7 @@ msgstr "" #: scene/resources/style_box.cpp msgid "Anti Aliasing" -msgstr "" +msgstr "Anticrénelage" #: scene/resources/style_box.cpp msgid "Grow Begin" @@ -26899,81 +26701,68 @@ msgid "Load Path" msgstr "Charger un préréglage" #: scene/resources/texture.cpp -#, fuzzy msgid "Base Texture" -msgstr "Supprimer la texture" +msgstr "Texture de base" #: scene/resources/texture.cpp msgid "Image Size" msgstr "Taille de l'image" #: scene/resources/texture.cpp -#, fuzzy msgid "Side" -msgstr "Afficher les guides" +msgstr "Coté" #: scene/resources/texture.cpp -#, fuzzy msgid "Front" -msgstr "Vue de devant" +msgstr "Avant" #: scene/resources/texture.cpp -#, fuzzy msgid "Back" -msgstr "Retourner" +msgstr "Arrière" #: scene/resources/texture.cpp -#, fuzzy msgid "Storage Mode" -msgstr "Mode mise à l'échelle" +msgstr "Mode de stockage" #: scene/resources/texture.cpp -#, fuzzy msgid "Lossy Storage Quality" -msgstr "Capturer" +msgstr "Qualité de stockage avec pertes" #: scene/resources/texture.cpp -#, fuzzy msgid "From" -msgstr "Remplir à Partir de" +msgstr "De" #: scene/resources/texture.cpp -#, fuzzy msgid "To" -msgstr "Dessus" +msgstr "À" #: scene/resources/texture.cpp -#, fuzzy msgid "Base" -msgstr "Changer le type de base" +msgstr "Base" #: scene/resources/texture.cpp -#, fuzzy msgid "Current Frame" -msgstr "Nom de la scène courante" +msgstr "Trame actuelle" #: scene/resources/texture.cpp -#, fuzzy msgid "Pause" -msgstr "Mode navigation" +msgstr "Pause" #: scene/resources/texture.cpp msgid "Which Feed" msgstr "" #: scene/resources/texture.cpp -#, fuzzy msgid "Camera Is Active" -msgstr "Sensible à la casse" +msgstr "La caméra est active" #: scene/resources/theme.cpp -#, fuzzy msgid "Default Font" -msgstr "Défaut" +msgstr "Police par défaut" #: scene/resources/visual_shader.cpp msgid "Output Port For Preview" -msgstr "" +msgstr "Port de sortie de l'aperçu" #: scene/resources/visual_shader.cpp #, fuzzy @@ -26986,29 +26775,24 @@ msgid "Cull" msgstr "Mode Règle" #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Diffuse" -msgstr "Mode navigation" +msgstr "Diffus" #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Async" -msgstr "Mode navigation" +msgstr "Asynchrone" #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Modes" -msgstr "Mode" +msgstr "Modes" #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Input Name" -msgstr "Contrôles" +msgstr "Nom de l'entrée" #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Uniform Name" -msgstr "Définir le nom de l'uniforme" +msgstr "Nom de l'uniforme" #: scene/resources/visual_shader_nodes.cpp msgid "" @@ -27024,16 +26808,15 @@ msgstr "Source invalide pour la prévisualisation." #: scene/resources/visual_shader_nodes.cpp msgid "Invalid source for shader." -msgstr "Source invalide pour la forme." +msgstr "Source invalide pour le shader." #: scene/resources/visual_shader_nodes.cpp -#, fuzzy msgid "Texture Type" -msgstr "RegionDeTexture" +msgstr "Type de texture" #: scene/resources/visual_shader_nodes.cpp msgid "Cube Map" -msgstr "" +msgstr "Textures en cube" #: scene/resources/visual_shader_nodes.cpp #, fuzzy @@ -27041,42 +26824,36 @@ msgid "Default Value Enabled" msgstr "Profil des fonctionnalités de Godot" #: scene/resources/visual_shader_nodes.cpp -#, fuzzy msgid "Default Value" -msgstr "Changer nom de l'entrée" +msgstr "Valeur par défaut" #: scene/resources/visual_shader_nodes.cpp -#, fuzzy msgid "Color Default" -msgstr "Charger défaut" +msgstr "Couleur par défaut" #: scene/resources/visual_shader_nodes.cpp msgid "Invalid comparison function for that type." msgstr "Fonction de comparaison invalide pour ce type." #: scene/resources/world.cpp -#, fuzzy msgid "Fallback Environment" -msgstr "Voir environnement" +msgstr "Environnement de repli" #: scene/resources/world.cpp -#, fuzzy msgid "Scenario" -msgstr "Scène" +msgstr "Scénario" #: scene/resources/world.cpp scene/resources/world_2d.cpp -#, fuzzy msgid "Navigation Map" -msgstr "Navigation" +msgstr "Carte de navigation" #: scene/resources/world.cpp scene/resources/world_2d.cpp msgid "Direct Space State" msgstr "" #: scene/resources/world.cpp scene/resources/world_2d.cpp -#, fuzzy msgid "Default Gravity Vector" -msgstr "Aperçu par défaut" +msgstr "Vecteur de gravité par défaut" #: scene/resources/world.cpp scene/resources/world_2d.cpp #, fuzzy @@ -27093,14 +26870,12 @@ msgid "Default Map Up" msgstr "Défaut" #: scene/resources/world.cpp scene/resources/world_2d.cpp -#, fuzzy msgid "Default Cell Size" -msgstr "Aperçu par défaut" +msgstr "Taille de cellule par défaut" #: scene/resources/world.cpp scene/resources/world_2d.cpp -#, fuzzy msgid "Default Cell Height" -msgstr "En période de test" +msgstr "Hauteur de cellule par défaut" #: scene/resources/world.cpp scene/resources/world_2d.cpp msgid "Default Edge Connection Margin" @@ -27108,34 +26883,31 @@ msgstr "Marge de connexion des bords par défaut" #: scene/resources/world_2d.cpp msgid "Canvas" -msgstr "" +msgstr "Canevas" #: servers/arvr/arvr_interface.cpp msgid "Is Primary" -msgstr "" +msgstr "Est primaire" #: servers/arvr/arvr_interface.cpp -#, fuzzy msgid "Is Initialized" -msgstr "Initialiser" +msgstr "Est initialisé" #: servers/arvr/arvr_interface.cpp msgid "AR" -msgstr "" +msgstr "AR" #: servers/arvr/arvr_interface.cpp msgid "Is Anchor Detection Enabled" msgstr "" #: servers/arvr_server.cpp -#, fuzzy msgid "Primary Interface" -msgstr "Interface utilisateur" +msgstr "Interface primaire" #: servers/audio/audio_stream.cpp -#, fuzzy msgid "Audio Stream" -msgstr "Item radio" +msgstr "Flux audio" #: servers/audio/audio_stream.cpp msgid "Random Pitch" @@ -27145,46 +26917,45 @@ msgstr "Pitch Aléatoire" #: servers/audio/effects/audio_effect_spectrum_analyzer.cpp #: servers/audio/effects/audio_stream_generator.cpp msgid "Buffer Length" -msgstr "" +msgstr "Taille du tampon" #: servers/audio/effects/audio_effect_chorus.cpp msgid "Voice Count" -msgstr "" +msgstr "Nombre de voix" #: servers/audio/effects/audio_effect_chorus.cpp #: servers/audio/effects/audio_effect_delay.cpp #: servers/audio/effects/audio_effect_reverb.cpp msgid "Dry" -msgstr "" +msgstr "Sec" #: servers/audio/effects/audio_effect_chorus.cpp #: servers/audio/effects/audio_effect_reverb.cpp msgid "Wet" -msgstr "" +msgstr "Humide" #: servers/audio/effects/audio_effect_chorus.cpp msgid "Voice" -msgstr "" +msgstr "Voix" #: servers/audio/effects/audio_effect_chorus.cpp #: servers/audio/effects/audio_effect_delay.cpp msgid "Delay (ms)" -msgstr "" +msgstr "Délai (ms)" #: servers/audio/effects/audio_effect_chorus.cpp #: servers/audio/effects/audio_effect_phaser.cpp msgid "Rate Hz" -msgstr "" +msgstr "Débit (Hz)" #: servers/audio/effects/audio_effect_chorus.cpp -#, fuzzy msgid "Depth (ms)" -msgstr "Profondeur" +msgstr "Profondeur (ms)" #: servers/audio/effects/audio_effect_chorus.cpp #: servers/audio/effects/audio_effect_delay.cpp msgid "Level dB" -msgstr "" +msgstr "Niveau (dB)" #: servers/audio/effects/audio_effect_chorus.cpp #: servers/audio/effects/audio_effect_delay.cpp @@ -27195,16 +26966,15 @@ msgstr "Pan" #: servers/audio/effects/audio_effect_compressor.cpp #: servers/audio/effects/audio_effect_filter.cpp msgid "Gain" -msgstr "" +msgstr "Gain" #: servers/audio/effects/audio_effect_compressor.cpp msgid "Attack (µs)" -msgstr "" +msgstr "Attaque (µs)" #: servers/audio/effects/audio_effect_compressor.cpp -#, fuzzy msgid "Release (ms)" -msgstr "Publication (release)" +msgstr "Relâche (ms)" #: servers/audio/effects/audio_effect_compressor.cpp msgid "Mix" @@ -27225,36 +26995,32 @@ msgstr "" #: servers/audio/effects/audio_effect_delay.cpp #: servers/audio/effects/audio_effect_phaser.cpp #: servers/audio/effects/audio_effect_reverb.cpp -#, fuzzy msgid "Feedback" -msgstr "Envoyez vos retours sur la documentation" +msgstr "Larsen" #: servers/audio/effects/audio_effect_delay.cpp -#, fuzzy msgid "Low-pass" -msgstr "Contourner" +msgstr "Passe-bas" #: servers/audio/effects/audio_effect_distortion.cpp msgid "Pre Gain" -msgstr "" +msgstr "Pré-gain" #: servers/audio/effects/audio_effect_distortion.cpp msgid "Keep Hf Hz" -msgstr "" +msgstr "Garder haute fréquences (Hz)" #: servers/audio/effects/audio_effect_distortion.cpp msgid "Drive" msgstr "" #: servers/audio/effects/audio_effect_distortion.cpp -#, fuzzy msgid "Post Gain" -msgstr "Post" +msgstr "Post-gain" #: servers/audio/effects/audio_effect_filter.cpp -#, fuzzy msgid "Resonance" -msgstr "Ressource" +msgstr "Résonance" #: servers/audio/effects/audio_effect_limiter.cpp msgid "Ceiling dB" @@ -27424,22 +27190,19 @@ msgstr "Collisions avec les zones" #: servers/physics_2d_server.cpp servers/physics_server.cpp msgid "Motion Remainder" -msgstr "" +msgstr "Reste de mouvement" #: servers/physics_2d_server.cpp servers/physics_server.cpp -#, fuzzy msgid "Collision Point" -msgstr "Mode collision" +msgstr "Point de collision" #: servers/physics_2d_server.cpp servers/physics_server.cpp -#, fuzzy msgid "Collision Normal" -msgstr "Mode collision" +msgstr "Normale de collision" #: servers/physics_2d_server.cpp servers/physics_server.cpp -#, fuzzy msgid "Collision Depth" -msgstr "Mode collision" +msgstr "Profondeur de collision" #: servers/physics_2d_server.cpp servers/physics_server.cpp #, fuzzy @@ -27452,18 +27215,16 @@ msgid "Collision Unsafe Fraction" msgstr "Mode collision" #: servers/physics_2d_server.cpp servers/physics_server.cpp -#, fuzzy msgid "Physics Engine" -msgstr "Image physique %" +msgstr "Moteur physique" #: servers/physics_server.cpp -#, fuzzy msgid "Center Of Mass" -msgstr "Centré à Gauche" +msgstr "Centre de la masse" #: servers/physics_server.cpp msgid "Principal Inertia Axes" -msgstr "" +msgstr "Axes principaux d'inertie" #: servers/visual/shader_language.cpp msgid "Varying may not be assigned in the '%s' function." @@ -27509,47 +27270,40 @@ msgid "Render Loop Enabled" msgstr "Filtrer les signaux" #: servers/visual_server.cpp -#, fuzzy msgid "VRAM Compression" -msgstr "Expression" +msgstr "Compression VRAM" #: servers/visual_server.cpp -#, fuzzy msgid "Import BPTC" -msgstr "Importation" +msgstr "Importer BPTC" #: servers/visual_server.cpp -#, fuzzy msgid "Import S3TC" -msgstr "Importation" +msgstr "Importer S3TC" #: servers/visual_server.cpp -#, fuzzy msgid "Import ETC" -msgstr "Importation" +msgstr "Importer ETC" #: servers/visual_server.cpp -#, fuzzy msgid "Import ETC2" -msgstr "Importation" +msgstr "Importer ETC2" #: servers/visual_server.cpp -#, fuzzy msgid "Import PVRTC" -msgstr "Importer un thème" +msgstr "Importer PVRTC" #: servers/visual_server.cpp msgid "Lossless Compression" -msgstr "" +msgstr "Compression sans perte" #: servers/visual_server.cpp -#, fuzzy msgid "Force PNG" -msgstr "Force-pousser" +msgstr "Forcer PNG" #: servers/visual_server.cpp msgid "WebP Compression Level" -msgstr "" +msgstr "Niveau de compression WebP" #: servers/visual_server.cpp msgid "Time Rollover Secs" @@ -27577,14 +27331,12 @@ msgid "Quadrant 3 Subdiv" msgstr "" #: servers/visual_server.cpp -#, fuzzy msgid "Shadows" -msgstr "Ombrage" +msgstr "Ombres" #: servers/visual_server.cpp -#, fuzzy msgid "Filter Mode" -msgstr "Filtrer les nœuds" +msgstr "Mode de filtrage" #: servers/visual_server.cpp #, fuzzy @@ -27593,16 +27345,15 @@ msgstr "Centrer sur la sélection" #: servers/visual_server.cpp msgid "High Quality GGX" -msgstr "" +msgstr "GGX haute qualité" #: servers/visual_server.cpp msgid "Irradiance Max Size" msgstr "" #: servers/visual_server.cpp -#, fuzzy msgid "Shading" -msgstr "Remplissage(Padding)" +msgstr "Ombrage" #: servers/visual_server.cpp msgid "Force Vertex Shading" @@ -27610,11 +27361,11 @@ msgstr "" #: servers/visual_server.cpp msgid "Force Lambert Over Burley" -msgstr "" +msgstr "Forcer Lambert au lieu de Burley" #: servers/visual_server.cpp msgid "Force Blinn Over GGX" -msgstr "" +msgstr "Forcer Blinn au lieu de GGX" #: servers/visual_server.cpp msgid "Mesh Storage" @@ -27639,15 +27390,15 @@ msgstr "" #: servers/visual_server.cpp msgid "Anisotropic Filter Level" -msgstr "" +msgstr "Niveau de filtrage anisotropique" #: servers/visual_server.cpp msgid "Use Nearest Mipmap Filter" -msgstr "" +msgstr "Utiliser le filtre Mipmap le plus proche" #: servers/visual_server.cpp msgid "Skinning" -msgstr "" +msgstr "Enveloppement" #: servers/visual_server.cpp msgid "Software Skinning Fallback" @@ -27674,9 +27425,8 @@ msgid "Batching Send Null" msgstr "" #: servers/visual_server.cpp -#, fuzzy msgid "Batching Stream" -msgstr "Renommer par lot" +msgstr "Flux de traitement en lot" #: servers/visual_server.cpp msgid "Legacy Orphan Buffers" @@ -27724,7 +27474,7 @@ msgstr "Taille de tampon des lots" #: servers/visual_server.cpp msgid "Item Reordering Lookahead" -msgstr "" +msgstr "Anticipation de réorganisation d’éléments" #: servers/visual_server.cpp msgid "Flash Batching" diff --git a/editor/translations/ga.po b/editor/translations/ga.po index 87e005f5f3..246c04dc63 100644 --- a/editor/translations/ga.po +++ b/editor/translations/ga.po @@ -4360,6 +4360,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "" @@ -7057,7 +7058,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -14756,18 +14758,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Nód Beochana" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "Nód Beochana" #: editor/scene_tree_dock.cpp @@ -14957,6 +14959,11 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Nód Beochana" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "" @@ -15020,6 +15027,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -16823,6 +16834,18 @@ msgstr "" msgid "Auto Update Project" msgstr "" +#: modules/mono/godotsharp_dirs.cpp +msgid "Assembly Name" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "Solution Directory" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "C# Project Directory" +msgstr "" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -18530,6 +18553,10 @@ msgstr "Cruthaigh" msgid "Custom BG Color" msgstr "Cruthaigh" +#: platform/iphone/export/export.cpp +msgid "Export Icons" +msgstr "" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -19326,6 +19353,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "" diff --git a/editor/translations/gl.po b/editor/translations/gl.po index 29db0e8063..2445ec4783 100644 --- a/editor/translations/gl.po +++ b/editor/translations/gl.po @@ -4631,6 +4631,7 @@ msgstr "Ferramentas varias do proxecto ou escena." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Proxecto" @@ -7532,7 +7533,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15575,18 +15577,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Nome do Nodo:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "Nome do Nodo:" #: editor/scene_tree_dock.cpp @@ -15779,6 +15781,11 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Nome do Nodo:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "" @@ -15842,6 +15849,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "Renomear Nodo" @@ -17741,6 +17752,21 @@ msgstr "Resolución á Metade" msgid "Auto Update Project" msgstr "Proxecto Sen Nome" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Amosar Todo" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Elixir un Directorio" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Elixir un Directorio" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -19565,6 +19591,11 @@ msgstr "Cortar Nodos" msgid "Custom BG Color" msgstr "Cortar Nodos" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Expandir Todo" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20414,6 +20445,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "" diff --git a/editor/translations/he.po b/editor/translations/he.po index abaada7880..e0a690c9b4 100644 --- a/editor/translations/he.po +++ b/editor/translations/he.po @@ -22,13 +22,14 @@ # Ram Tourgeman <ramtorgeman@gmail.com>, 2021. # Shailee Eliyahu <dev.sle.il@gmail.com>, 2021. # Mati Borlak <matiborlak@gmail.com>, 2022. +# Tamir Livneh <fkeyzuwu@gmail.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-06-08 06:48+0000\n" -"Last-Translator: Mati Borlak <matiborlak@gmail.com>\n" +"PO-Revision-Date: 2022-09-05 11:17+0000\n" +"Last-Translator: Tamir Livneh <fkeyzuwu@gmail.com>\n" "Language-Team: Hebrew <https://hosted.weblate.org/projects/godot-engine/" "godot/he/>\n" "Language: he\n" @@ -37,7 +38,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.13-dev\n" +"X-Generator: Weblate 4.14.1-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" @@ -4545,6 +4546,7 @@ msgstr "כלים שונים למיזם או למגוון סצנות." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "מיזם" @@ -5026,7 +5028,7 @@ msgstr "יוצרים" #: editor/editor_plugin_settings.cpp #: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" -msgstr "" +msgstr "מצב" #: editor/editor_profiler.cpp msgid "Measure:" @@ -5091,9 +5093,8 @@ msgid "Profiler Frame Max Functions" msgstr "שינוי שם פונקציה" #: editor/editor_properties.cpp -#, fuzzy msgid "Edit Text:" -msgstr "חברים" +msgstr "ערוך טקסט:" #: editor/editor_properties.cpp editor/script_create_dialog.cpp #: scene/resources/default_theme/default_theme.cpp @@ -5105,7 +5106,7 @@ msgstr "" #: scene/3d/collision_object.cpp scene/3d/soft_body.cpp #: scene/main/canvas_layer.cpp msgid "Layer" -msgstr "" +msgstr "שכבה" #: editor/editor_properties.cpp msgid "Bit %d, value %d" @@ -5160,19 +5161,19 @@ msgstr "" #: editor/editor_properties_array_dict.cpp #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Item" -msgstr "" +msgstr "הסר פריט" #: editor/editor_properties_array_dict.cpp msgid "New Key:" -msgstr "" +msgstr "מפתח חדש:" #: editor/editor_properties_array_dict.cpp msgid "New Value:" -msgstr "" +msgstr "ערך חדש:" #: editor/editor_properties_array_dict.cpp msgid "Add Key/Value Pair" -msgstr "" +msgstr "הוסף זוג מפתח/ערך" #: editor/editor_resource_picker.cpp msgid "" @@ -5186,7 +5187,7 @@ msgstr "" #: editor/editor_resource_picker.cpp editor/property_editor.cpp msgid "Make Unique" -msgstr "" +msgstr "הפוך לייחודי" #: editor/editor_resource_picker.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -5200,7 +5201,7 @@ msgstr "" #: editor/plugins/tile_map_editor_plugin.cpp editor/property_editor.cpp #: editor/scene_tree_dock.cpp scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Paste" -msgstr "הדבקה" +msgstr "הדבק" #: editor/editor_resource_picker.cpp editor/property_editor.cpp #, fuzzy @@ -5233,7 +5234,7 @@ msgstr "הפעלה" #: editor/editor_resource_picker.cpp editor/property_editor.cpp msgid "New Script" -msgstr "" +msgstr "סקריפט חדש" #: editor/editor_resource_picker.cpp editor/scene_tree_dock.cpp #, fuzzy @@ -7474,7 +7475,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15677,18 +15679,19 @@ msgstr "" msgid "Make Local" msgstr "הפיכה למקומי" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "שם המפרק:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "השם כבר בשימוש של פונקציה/משתנה/אות אחר:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "שם המפרק:" #: editor/scene_tree_dock.cpp @@ -15882,6 +15885,11 @@ msgid "Button Group" msgstr "קבוצת לחצנים" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "שם המפרק:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(מתחבר מ)" @@ -15957,6 +15965,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "שם מפרק לא חוקי, התווים הבאים אינם מותרים:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "שינוי שם מפרק" @@ -17864,6 +17876,21 @@ msgstr "מילוי הבחירה" msgid "Auto Update Project" msgstr "ייצוא מיזם" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "הצג הכל" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "נא לבחור תיקייה" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "נא לבחור תיקייה" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "סוף מחסנית מעקב לחריגה פנימית" @@ -19716,6 +19743,11 @@ msgstr "גזירת מפרקים" msgid "Custom BG Color" msgstr "גזירת מפרקים" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "להרחיב הכול" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20567,6 +20599,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "שם קצר של חבילה לא חוקי." diff --git a/editor/translations/hi.po b/editor/translations/hi.po index e5a41404d0..5e3b28ff79 100644 --- a/editor/translations/hi.po +++ b/editor/translations/hi.po @@ -4549,6 +4549,7 @@ msgstr "विविध परियोजना या दृश्य-व् #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "परियोजना" @@ -7430,7 +7431,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15380,18 +15382,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "नोड का नाम:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "नोड का नाम:" #: editor/scene_tree_dock.cpp @@ -15588,6 +15590,11 @@ msgstr "" #: editor/scene_tree_editor.cpp #, fuzzy +msgid "Disable Scene Unique Name" +msgstr "नोड का नाम:" + +#: editor/scene_tree_editor.cpp +#, fuzzy msgid "(Connecting From)" msgstr "कनेक्ट करने के लिए संकेत:" @@ -15652,6 +15659,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -17527,6 +17538,21 @@ msgstr "सभी खंड" msgid "Auto Update Project" msgstr "परियोजना" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "सब दिखाइए" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "डायरेक्टरी चुनें" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "डायरेक्टरी चुनें" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -19330,6 +19356,11 @@ msgstr "प्रतिलिपि" msgid "Custom BG Color" msgstr "प्रतिलिपि" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "सभी बढाय" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20171,6 +20202,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid package short name." msgstr "गलत फॉण्ट का आकार |" diff --git a/editor/translations/hr.po b/editor/translations/hr.po index e473c6556c..b634136191 100644 --- a/editor/translations/hr.po +++ b/editor/translations/hr.po @@ -4437,6 +4437,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "" @@ -7213,7 +7214,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15012,18 +15014,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Naziv Čvora(node):" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "Naziv Čvora(node):" #: editor/scene_tree_dock.cpp @@ -15213,6 +15215,11 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Naziv Čvora(node):" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "" @@ -15276,6 +15283,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -17118,6 +17129,21 @@ msgstr "" msgid "Auto Update Project" msgstr "Uredi vezu:" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Način reprodukcije:" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Otvori direktorij" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Otvori direktorij" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -18871,6 +18897,11 @@ msgstr "Funkcije" msgid "Custom BG Color" msgstr "Funkcije" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Izvoz" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -19686,6 +19717,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "" diff --git a/editor/translations/hu.po b/editor/translations/hu.po index b35be76368..996249e619 100644 --- a/editor/translations/hu.po +++ b/editor/translations/hu.po @@ -4662,6 +4662,7 @@ msgstr "Egyéb projekt- vagy Scene-szintű eszközök." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Projekt" @@ -7570,7 +7571,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15520,18 +15522,19 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Node neve:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "A nevet már használja egy függvény/változó/jelzés:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Node neve:" #: editor/scene_tree_dock.cpp @@ -15723,6 +15726,11 @@ msgid "Button Group" msgstr "Gombcsoport" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Node neve:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(Csatlakozás Innen)" @@ -15786,6 +15794,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -17698,6 +17710,21 @@ msgstr "Kijelölés kitöltése" msgid "Auto Update Project" msgstr "Névtelen projekt" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Az összes megjelenítése" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Válasszon egy Könyvtárat" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Válasszon egy Könyvtárat" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -19524,6 +19551,11 @@ msgstr "Node-ok kivágása" msgid "Custom BG Color" msgstr "Node-ok kivágása" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Összes kinyitása" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20374,6 +20406,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "Érvénytelen rövid csomagnév." diff --git a/editor/translations/id.po b/editor/translations/id.po index 7d839357cd..696799d370 100644 --- a/editor/translations/id.po +++ b/editor/translations/id.po @@ -4576,6 +4576,7 @@ msgstr "Perkakas macam-macam proyek atau lingkup skena." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Proyek" @@ -7470,7 +7471,8 @@ msgid "8 Bit" msgstr "8 Bit" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15624,18 +15626,19 @@ msgstr "" msgid "Make Local" msgstr "Jadikan Local" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Nama Unik" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "Nama telah digunakan oleh fungsi/variabel/sinyal yang lain:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Nama Unik" #: editor/scene_tree_dock.cpp @@ -15839,6 +15842,11 @@ msgid "Button Group" msgstr "Tombol Grup" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Nama Unik" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(Menghubungkan dari)" @@ -15914,6 +15922,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "Nama node tidak valid, karakter berikut tidak diperbolehkan:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "Ubah Nama Node" @@ -17795,6 +17807,21 @@ msgstr "Isi Pilihan" msgid "Auto Update Project" msgstr "Proyek Tanpa Nama" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Nama Tampilan" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Pilih sebuah Direktori" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Pilih sebuah Direktori" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "Akhir dari inner exception stack trace" @@ -19648,6 +19675,11 @@ msgstr "Potong Node" msgid "Custom BG Color" msgstr "Potong Node" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Ikon Ekspor" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20510,6 +20542,12 @@ msgid "Show Name On Square 310 X 310" msgstr "Tampilkan Nama Pada Persegi 310 X 310" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "Nama pendek paket tidak valid." diff --git a/editor/translations/ig.po b/editor/translations/ig.po new file mode 100644 index 0000000000..8d96de35f3 --- /dev/null +++ b/editor/translations/ig.po @@ -0,0 +1,26106 @@ +# Igbo translation of the Godot Engine editor. +# 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. +# +# Chenny <optimusdev12@gmail.com>, 2022. +msgid "" +msgstr "" +"Project-Id-Version: Godot Engine editor\n" +"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" +"PO-Revision-Date: 2022-08-07 18:37+0000\n" +"Last-Translator: Chenny <optimusdev12@gmail.com>\n" +"Language-Team: Igbo <https://hosted.weblate.org/projects/godot-engine/godot/" +"ig/>\n" +"Language: ig\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.14-dev\n" + +#: core/bind/core_bind.cpp main/main.cpp +msgid "Tablet Driver" +msgstr "Onye na-anya mbadamba mbadamba" + +#: core/bind/core_bind.cpp +msgid "Clipboard" +msgstr "Klipbọọdụ" + +#: core/bind/core_bind.cpp +msgid "Current Screen" +msgstr "Ihuenyo dị ugbu a" + +#: core/bind/core_bind.cpp +msgid "Exit Code" +msgstr "Koodu ọpụpụ" + +#: core/bind/core_bind.cpp +msgid "V-Sync Enabled" +msgstr "Agbanyere V-mmekọrịta" + +#: core/bind/core_bind.cpp main/main.cpp +msgid "V-Sync Via Compositor" +msgstr "V-mmekọrịta Site na ihe mejupụtara" + +#: core/bind/core_bind.cpp main/main.cpp +msgid "Delta Smoothing" +msgstr "Delta na-ehi ụra" + +#: core/bind/core_bind.cpp +msgid "Low Processor Usage Mode" +msgstr "Ụdị ojiji Processor dị ala" + +#: core/bind/core_bind.cpp +msgid "Low Processor Usage Mode Sleep (µsec)" +msgstr "Ụdị ihi ụra dị ala (µ sec)" + +#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp +msgid "Keep Screen On" +msgstr "Debe ihuenyo" + +#: core/bind/core_bind.cpp +msgid "Min Window Size" +msgstr "Ogo Obere Obere" + +#: core/bind/core_bind.cpp +msgid "Max Window Size" +msgstr "Oke windo kacha" + +#: core/bind/core_bind.cpp +msgid "Screen Orientation" +msgstr "Usoro ihuenyo" + +#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp +#: platform/uwp/os_uwp.cpp +msgid "Window" +msgstr "Ohere" + +#: core/bind/core_bind.cpp core/project_settings.cpp +msgid "Borderless" +msgstr "Enweghị oke" + +#: core/bind/core_bind.cpp +msgid "Per Pixel Transparency Enabled" +msgstr "Agbanyere nghọta kwa Pixel" + +#: core/bind/core_bind.cpp core/project_settings.cpp +msgid "Fullscreen" +msgstr "Ihuenyo zuru oke" + +#: core/bind/core_bind.cpp +msgid "Maximized" +msgstr "Oke kachasị" + +#: core/bind/core_bind.cpp +msgid "Minimized" +msgstr "Ebelatala" + +#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp +#: scene/gui/graph_node.cpp +msgid "Resizable" +msgstr "Enwere ike ịgbanwe" + +#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp +#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp +#: scene/3d/physics_body.cpp scene/3d/remote_transform.cpp +#: scene/gui/control.cpp scene/gui/line_edit.cpp +#: scene/resources/default_theme/default_theme.cpp +msgid "Position" +msgstr "Ọnọdụ" + +#: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp +#: main/main.cpp modules/gridmap/grid_map.cpp +#: modules/visual_script/visual_script_nodes.cpp scene/2d/tile_map.cpp +#: scene/3d/camera.cpp scene/3d/light.cpp scene/gui/control.cpp +#: scene/gui/graph_edit.cpp scene/main/viewport.cpp +#: scene/resources/dynamic_font.cpp scene/resources/navigation_mesh.cpp +#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp +#: scene/resources/style_box.cpp scene/resources/texture.cpp +#: scene/resources/visual_shader.cpp servers/visual_server.cpp +msgid "Size" +msgstr "Nha" + +#: core/bind/core_bind.cpp +msgid "Endian Swap" +msgstr "Endian gbanwere" + +#: core/bind/core_bind.cpp +msgid "Editor Hint" +msgstr "Ntuziaka nchịkọta akụkọ" + +#: core/bind/core_bind.cpp +msgid "Print Error Messages" +msgstr "Bipụta ozi mperi" + +#: core/bind/core_bind.cpp +msgid "Iterations Per Second" +msgstr "Nkwagharị kwa nkeji" + +#: core/bind/core_bind.cpp +msgid "Target FPS" +msgstr "Ebumnuche FPS" + +#: core/bind/core_bind.cpp +msgid "Time Scale" +msgstr "Ogologo oge" + +#: core/bind/core_bind.cpp main/main.cpp +msgid "Physics Jitter Fix" +msgstr "" + +#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp +msgid "Error" +msgstr "Njehie" + +#: core/bind/core_bind.cpp +msgid "Error String" +msgstr "Eriri mperi" + +#: core/bind/core_bind.cpp +msgid "Error Line" +msgstr "Ahịrị mperi" + +#: core/bind/core_bind.cpp +msgid "Result" +msgstr "Nsonaazụ" + +#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp +msgid "Memory" +msgstr "Ebe nchekwa" + +#: core/command_queue_mt.cpp core/message_queue.cpp +#: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp +#: drivers/gles2/rasterizer_scene_gles2.cpp +#: drivers/gles3/rasterizer_canvas_base_gles3.cpp +#: drivers/gles3/rasterizer_scene_gles3.cpp +#: drivers/gles3/rasterizer_storage_gles3.cpp main/main.cpp +#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h +#: servers/visual_server.cpp +msgid "Limits" +msgstr "Oke" + +#: core/command_queue_mt.cpp +msgid "Command Queue" +msgstr "Queue iwu" + +#: core/command_queue_mt.cpp +msgid "Multithreading Queue Size (KB)" +msgstr "Ogo Queue Multithreading (KB)" + +#: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp +#: modules/visual_script/visual_script_func_nodes.cpp +#: modules/visual_script/visual_script_nodes.cpp +#: scene/resources/visual_shader_nodes.cpp +msgid "Function" +msgstr "Ọrụ" + +#: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Data" +msgstr "Data" + +#: core/io/file_access_network.cpp core/register_core_types.cpp +#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp +#: modules/gdscript/language_server/gdscript_language_server.cpp +#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h +#: scene/gui/file_dialog.cpp +msgid "Network" +msgstr "Netwọk" + +#: core/io/file_access_network.cpp +msgid "Remote FS" +msgstr "FS dịpụrụ adịpụ" + +#: core/io/file_access_network.cpp +msgid "Page Size" +msgstr "Nha ibe" + +#: core/io/file_access_network.cpp +msgid "Page Read Ahead" +msgstr "Ibe Gụọ n'ihu" + +#: core/io/http_client.cpp +msgid "Blocking Mode Enabled" +msgstr "Agbanyere ọnọdụ mgbochi" + +#: core/io/http_client.cpp +msgid "Connection" +msgstr "Njikọ" + +#: core/io/http_client.cpp +msgid "Read Chunk Size" +msgstr "Gụọ nha nha" + +#: core/io/marshalls.cpp +msgid "Object ID" +msgstr "NJ ihe" + +#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp +msgid "Allow Object Decoding" +msgstr "Kwe ka Nhazi ihe" + +#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp +msgid "Refuse New Network Connections" +msgstr "Jụ njikọ netwọkụ ọhụrụ" + +#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp +msgid "Network Peer" +msgstr "Ndị ọgbọ netwọk" + +#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp +msgid "Root Node" +msgstr "Mgbọrọgwụ Node" + +#: core/io/networked_multiplayer_peer.cpp +msgid "Refuse New Connections" +msgstr "Jụ njikọ ọhụrụ" + +#: core/io/networked_multiplayer_peer.cpp +msgid "Transfer Mode" +msgstr "Ụdị nnyefe" + +#: core/io/packet_peer.cpp +msgid "Encode Buffer Max Size" +msgstr "Gbanye ihe nchekwa oke nha" + +#: core/io/packet_peer.cpp +msgid "Input Buffer Max Size" +msgstr "Ntinye ihe nchekwa oke oke" + +#: core/io/packet_peer.cpp +msgid "Output Buffer Max Size" +msgstr "" + +#: core/io/packet_peer.cpp +msgid "Stream Peer" +msgstr "" + +#: core/io/stream_peer.cpp +msgid "Big Endian" +msgstr "" + +#: core/io/stream_peer.cpp +msgid "Data Array" +msgstr "" + +#: core/io/stream_peer_ssl.cpp +msgid "Blocking Handshake" +msgstr "" + +#: core/io/udp_server.cpp +msgid "Max Pending Connections" +msgstr "" + +#: 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 "" + +#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp +msgid "Expected a string of length 1 (a character)." +msgstr "" + +#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp +#: modules/mono/glue/gd_glue.cpp +#: modules/visual_script/visual_script_builtin_funcs.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +msgstr "" + +#: core/math/expression.cpp +msgid "Invalid input %d (not passed) in expression" +msgstr "" + +#: core/math/expression.cpp +msgid "self can't be used because instance is null (not passed)" +msgstr "" + +#: core/math/expression.cpp +msgid "Invalid operands to operator %s, %s and %s." +msgstr "" + +#: core/math/expression.cpp +msgid "Invalid index of type %s for base type %s" +msgstr "" + +#: core/math/expression.cpp +msgid "Invalid named index '%s' for base type %s" +msgstr "" + +#: core/math/expression.cpp +msgid "Invalid arguments to construct '%s'" +msgstr "" + +#: core/math/expression.cpp +msgid "On call to '%s':" +msgstr "" + +#: core/math/random_number_generator.cpp +#: modules/opensimplex/open_simplex_noise.cpp +msgid "Seed" +msgstr "" + +#: core/math/random_number_generator.cpp +msgid "State" +msgstr "" + +#: core/message_queue.cpp +msgid "Message Queue" +msgstr "" + +#: core/message_queue.cpp +msgid "Max Size (KB)" +msgstr "" + +#: core/os/input.cpp +msgid "Mouse Mode" +msgstr "" + +#: core/os/input.cpp +msgid "Use Accumulated Input" +msgstr "" + +#: core/os/input_event.cpp editor/project_settings_editor.cpp +#: servers/audio_server.cpp +msgid "Device" +msgstr "" + +#: core/os/input_event.cpp +msgid "Alt" +msgstr "" + +#: core/os/input_event.cpp +msgid "Shift" +msgstr "" + +#: core/os/input_event.cpp +msgid "Control" +msgstr "" + +#: core/os/input_event.cpp +msgid "Meta" +msgstr "" + +#: core/os/input_event.cpp +msgid "Command" +msgstr "" + +#: core/os/input_event.cpp +msgid "Physical" +msgstr "" + +#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp +#: scene/gui/base_button.cpp scene/gui/texture_button.cpp +#: scene/resources/default_theme/default_theme.cpp +msgid "Pressed" +msgstr "" + +#: core/os/input_event.cpp +msgid "Scancode" +msgstr "" + +#: core/os/input_event.cpp +msgid "Physical Scancode" +msgstr "" + +#: core/os/input_event.cpp +msgid "Unicode" +msgstr "" + +#: core/os/input_event.cpp +msgid "Echo" +msgstr "" + +#: core/os/input_event.cpp scene/gui/base_button.cpp +msgid "Button Mask" +msgstr "" + +#: core/os/input_event.cpp scene/2d/node_2d.cpp scene/gui/control.cpp +msgid "Global Position" +msgstr "" + +#: core/os/input_event.cpp +msgid "Factor" +msgstr "" + +#: core/os/input_event.cpp +msgid "Button Index" +msgstr "" + +#: core/os/input_event.cpp +msgid "Doubleclick" +msgstr "" + +#: core/os/input_event.cpp +msgid "Tilt" +msgstr "" + +#: core/os/input_event.cpp +msgid "Pressure" +msgstr "" + +#: core/os/input_event.cpp +msgid "Pen Inverted" +msgstr "" + +#: core/os/input_event.cpp +msgid "Relative" +msgstr "" + +#: core/os/input_event.cpp scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp +#: scene/3d/cpu_particles.cpp scene/3d/interpolated_camera.cpp +#: scene/animation/animation_player.cpp scene/resources/environment.cpp +#: scene/resources/particles_material.cpp +msgid "Speed" +msgstr "" + +#: core/os/input_event.cpp editor/project_settings_editor.cpp +#: scene/3d/sprite_3d.cpp +msgid "Axis" +msgstr "" + +#: core/os/input_event.cpp +msgid "Axis Value" +msgstr "" + +#: core/os/input_event.cpp modules/visual_script/visual_script_func_nodes.cpp +msgid "Index" +msgstr "" + +#: core/os/input_event.cpp editor/project_settings_editor.cpp +#: modules/visual_script/visual_script_nodes.cpp +#: scene/2d/touch_screen_button.cpp +msgid "Action" +msgstr "" + +#: core/os/input_event.cpp scene/resources/environment.cpp +#: scene/resources/material.cpp +msgid "Strength" +msgstr "" + +#: core/os/input_event.cpp +msgid "Delta" +msgstr "" + +#: core/os/input_event.cpp +msgid "Channel" +msgstr "" + +#: core/os/input_event.cpp main/main.cpp +msgid "Message" +msgstr "" + +#: core/os/input_event.cpp +msgid "Pitch" +msgstr "" + +#: core/os/input_event.cpp scene/2d/cpu_particles_2d.cpp +#: scene/2d/physics_body_2d.cpp scene/3d/cpu_particles.cpp +#: scene/3d/physics_body.cpp scene/resources/particles_material.cpp +msgid "Velocity" +msgstr "" + +#: core/os/input_event.cpp +msgid "Instrument" +msgstr "" + +#: core/os/input_event.cpp +msgid "Controller Number" +msgstr "" + +#: core/os/input_event.cpp +msgid "Controller Value" +msgstr "" + +#: core/project_settings.cpp editor/editor_node.cpp main/main.cpp +#: platform/iphone/export/export.cpp platform/osx/export/export.cpp +#: platform/windows/export/export.cpp +msgid "Application" +msgstr "" + +#: core/project_settings.cpp main/main.cpp +msgid "Config" +msgstr "" + +#: core/project_settings.cpp +msgid "Project Settings Override" +msgstr "" + +#: core/project_settings.cpp core/resource.cpp +#: editor/animation_track_editor.cpp editor/editor_autoload_settings.cpp +#: editor/editor_help_search.cpp editor/editor_plugin_settings.cpp +#: editor/editor_profiler.cpp editor/plugins/tile_set_editor_plugin.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp +#: modules/gdnative/nativescript/nativescript.cpp +#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp +#: platform/osx/export/export.cpp scene/2d/area_2d.cpp scene/3d/area.cpp +#: scene/3d/skeleton.cpp scene/main/node.cpp scene/resources/mesh_library.cpp +#: scene/resources/skin.cpp +msgid "Name" +msgstr "" + +#: core/project_settings.cpp editor/editor_help.cpp +#: modules/visual_script/visual_script_nodes.cpp platform/uwp/export/export.cpp +#: platform/windows/export/export.cpp +msgid "Description" +msgstr "" + +#: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp +#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp +#: main/main.cpp platform/android/export/export_plugin.cpp +#: platform/javascript/export/export.cpp +msgid "Run" +msgstr "" + +#: core/project_settings.cpp editor/editor_node.cpp +#: editor/run_settings_dialog.cpp main/main.cpp +msgid "Main Scene" +msgstr "" + +#: core/project_settings.cpp +msgid "Disable stdout" +msgstr "" + +#: core/project_settings.cpp +msgid "Disable stderr" +msgstr "" + +#: core/project_settings.cpp +msgid "Use Hidden Project Data Directory" +msgstr "" + +#: core/project_settings.cpp +msgid "Use Custom User Dir" +msgstr "" + +#: core/project_settings.cpp +msgid "Custom User Dir Name" +msgstr "" + +#: core/project_settings.cpp main/main.cpp +#: platform/javascript/export/export.cpp platform/osx/export/export.cpp +#: platform/uwp/os_uwp.cpp +msgid "Display" +msgstr "" + +#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp +#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp +#: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp +msgid "Width" +msgstr "" + +#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp +#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp +#: scene/2d/light_2d.cpp scene/resources/capsule_shape.cpp +#: scene/resources/capsule_shape_2d.cpp scene/resources/cylinder_shape.cpp +#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp +#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp +msgid "Height" +msgstr "" + +#: core/project_settings.cpp +msgid "Always On Top" +msgstr "" + +#: core/project_settings.cpp +msgid "Test Width" +msgstr "" + +#: core/project_settings.cpp +msgid "Test Height" +msgstr "" + +#: core/project_settings.cpp editor/animation_track_editor.cpp +#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp +msgid "Audio" +msgstr "" + +#: core/project_settings.cpp +msgid "Default Bus Layout" +msgstr "" + +#: core/project_settings.cpp editor/editor_export.cpp +#: editor/editor_file_system.cpp editor/editor_node.cpp +#: editor/editor_settings.cpp editor/script_create_dialog.cpp +#: scene/2d/camera_2d.cpp scene/3d/light.cpp scene/main/node.cpp +msgid "Editor" +msgstr "" + +#: core/project_settings.cpp +msgid "Main Run Args" +msgstr "" + +#: core/project_settings.cpp +msgid "Scene Naming" +msgstr "" + +#: core/project_settings.cpp +msgid "Search In File Extensions" +msgstr "" + +#: core/project_settings.cpp +msgid "Script Templates Search Path" +msgstr "" + +#: core/project_settings.cpp +msgid "Version Control Autoload On Startup" +msgstr "" + +#: core/project_settings.cpp +msgid "Version Control Plugin Name" +msgstr "" + +#: core/project_settings.cpp scene/2d/collision_object_2d.cpp +#: scene/3d/collision_object.cpp scene/gui/control.cpp +msgid "Input" +msgstr "" + +#: core/project_settings.cpp +msgid "UI Accept" +msgstr "" + +#: core/project_settings.cpp +msgid "UI Select" +msgstr "" + +#: core/project_settings.cpp +msgid "UI Cancel" +msgstr "" + +#: core/project_settings.cpp +msgid "UI Focus Next" +msgstr "" + +#: core/project_settings.cpp +msgid "UI Focus Prev" +msgstr "" + +#: core/project_settings.cpp +msgid "UI Left" +msgstr "" + +#: core/project_settings.cpp +msgid "UI Right" +msgstr "" + +#: core/project_settings.cpp +msgid "UI Up" +msgstr "" + +#: core/project_settings.cpp +msgid "UI Down" +msgstr "" + +#: core/project_settings.cpp +msgid "UI Page Up" +msgstr "" + +#: core/project_settings.cpp +msgid "UI Page Down" +msgstr "" + +#: core/project_settings.cpp +msgid "UI Home" +msgstr "" + +#: core/project_settings.cpp +msgid "UI End" +msgstr "" + +#: core/project_settings.cpp main/main.cpp modules/bullet/register_types.cpp +#: modules/bullet/space_bullet.cpp scene/2d/physics_body_2d.cpp +#: scene/3d/physics_body.cpp scene/main/scene_tree.cpp scene/main/viewport.cpp +#: scene/resources/world.cpp scene/resources/world_2d.cpp +#: servers/physics/space_sw.cpp servers/physics_2d/physics_2d_server_sw.cpp +#: servers/physics_2d/physics_2d_server_wrap_mt.h +#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp +#: servers/physics_server.cpp +msgid "Physics" +msgstr "" + +#: core/project_settings.cpp editor/editor_settings.cpp +#: editor/import/resource_importer_layered_texture.cpp +#: editor/import/resource_importer_texture.cpp +#: editor/plugins/spatial_editor_plugin.cpp main/main.cpp +#: modules/bullet/register_types.cpp modules/bullet/space_bullet.cpp +#: scene/3d/physics_body.cpp scene/resources/world.cpp +#: servers/physics/space_sw.cpp servers/physics_server.cpp +msgid "3D" +msgstr "" + +#: core/project_settings.cpp +msgid "Smooth Trimesh Collision" +msgstr "" + +#: core/project_settings.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp +#: drivers/gles2/rasterizer_scene_gles2.cpp +#: drivers/gles2/rasterizer_storage_gles2.cpp +#: drivers/gles3/rasterizer_canvas_base_gles3.cpp +#: drivers/gles3/rasterizer_scene_gles3.cpp +#: drivers/gles3/rasterizer_storage_gles3.cpp main/main.cpp +#: modules/lightmapper_cpu/register_types.cpp scene/main/scene_tree.cpp +#: scene/main/viewport.cpp servers/visual/visual_server_scene.cpp +#: servers/visual_server.cpp +msgid "Rendering" +msgstr "" + +#: core/project_settings.cpp drivers/gles2/rasterizer_storage_gles2.cpp +#: drivers/gles3/rasterizer_scene_gles3.cpp +#: drivers/gles3/rasterizer_storage_gles3.cpp main/main.cpp +#: modules/lightmapper_cpu/register_types.cpp scene/3d/baked_lightmap.cpp +#: scene/main/scene_tree.cpp scene/resources/environment.cpp +#: scene/resources/multimesh.cpp servers/visual/visual_server_scene.cpp +#: servers/visual_server.cpp +msgid "Quality" +msgstr "" + +#: core/project_settings.cpp scene/gui/file_dialog.cpp +#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp +#: servers/visual_server.cpp +msgid "Filters" +msgstr "" + +#: core/project_settings.cpp scene/main/viewport.cpp +msgid "Sharpen Intensity" +msgstr "" + +#: core/project_settings.cpp editor/editor_export.cpp editor/editor_node.cpp +#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp +#: editor/project_export.cpp main/main.cpp modules/gdscript/gdscript.cpp +#: modules/visual_script/visual_script.cpp +#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp +#: platform/javascript/export/export.cpp platform/osx/export/export.cpp +#: platform/uwp/export/export.cpp scene/3d/room_manager.cpp +#: scene/main/scene_tree.cpp scene/resources/shape_2d.cpp +#: servers/visual_server.cpp +msgid "Debug" +msgstr "" + +#: core/project_settings.cpp main/main.cpp modules/gdscript/gdscript.cpp +#: modules/visual_script/visual_script.cpp scene/resources/dynamic_font.cpp +msgid "Settings" +msgstr "" + +#: core/project_settings.cpp editor/script_editor_debugger.cpp main/main.cpp +#: modules/mono/mono_gd/gd_mono.cpp +msgid "Profiler" +msgstr "" + +#: core/project_settings.cpp +msgid "Max Functions" +msgstr "" + +#: core/project_settings.cpp scene/3d/vehicle_body.cpp +msgid "Compression" +msgstr "" + +#: core/project_settings.cpp +msgid "Formats" +msgstr "" + +#: core/project_settings.cpp +msgid "Zstd" +msgstr "" + +#: core/project_settings.cpp +msgid "Long Distance Matching" +msgstr "" + +#: core/project_settings.cpp +msgid "Compression Level" +msgstr "" + +#: core/project_settings.cpp +msgid "Window Log Size" +msgstr "" + +#: core/project_settings.cpp +msgid "Zlib" +msgstr "" + +#: core/project_settings.cpp +msgid "Gzip" +msgstr "" + +#: core/project_settings.cpp platform/android/export/export.cpp +msgid "Android" +msgstr "" + +#: core/project_settings.cpp +msgid "Modules" +msgstr "" + +#: core/register_core_types.cpp +msgid "TCP" +msgstr "" + +#: core/register_core_types.cpp +msgid "Connect Timeout Seconds" +msgstr "" + +#: core/register_core_types.cpp +msgid "Packet Peer Stream" +msgstr "" + +#: core/register_core_types.cpp +msgid "Max Buffer (Power of 2)" +msgstr "" + +#: core/register_core_types.cpp editor/editor_settings.cpp main/main.cpp +msgid "SSL" +msgstr "" + +#: core/register_core_types.cpp main/main.cpp +msgid "Certificates" +msgstr "" + +#: core/resource.cpp editor/dependency_editor.cpp +#: editor/editor_resource_picker.cpp +#: modules/visual_script/visual_script_nodes.cpp +msgid "Resource" +msgstr "" + +#: core/resource.cpp +msgid "Local To Scene" +msgstr "" + +#: core/resource.cpp editor/dependency_editor.cpp +#: editor/editor_autoload_settings.cpp editor/plugins/path_editor_plugin.cpp +#: editor/project_manager.cpp editor/project_settings_editor.cpp +#: modules/visual_script/visual_script_nodes.cpp +msgid "Path" +msgstr "" + +#: core/script_language.cpp +msgid "Source Code" +msgstr "" + +#: core/translation.cpp editor/project_settings_editor.cpp +msgid "Locale" +msgstr "" + +#: core/translation.cpp +msgid "Test" +msgstr "" + +#: core/translation.cpp scene/resources/font.cpp +msgid "Fallback" +msgstr "" + +#: core/ustring.cpp scene/resources/segment_shape_2d.cpp +msgid "B" +msgstr "" + +#: core/ustring.cpp +msgid "KiB" +msgstr "" + +#: core/ustring.cpp +msgid "MiB" +msgstr "" + +#: core/ustring.cpp +msgid "GiB" +msgstr "" + +#: core/ustring.cpp +msgid "TiB" +msgstr "" + +#: core/ustring.cpp +msgid "PiB" +msgstr "" + +#: core/ustring.cpp +msgid "EiB" +msgstr "" + +#: drivers/gles2/rasterizer_canvas_base_gles2.cpp +#: drivers/gles2/rasterizer_scene_gles2.cpp +#: drivers/gles3/rasterizer_canvas_base_gles3.cpp +#: drivers/gles3/rasterizer_scene_gles3.cpp +#: drivers/gles3/rasterizer_storage_gles3.cpp modules/gltf/gltf_state.cpp +msgid "Buffers" +msgstr "" + +#: drivers/gles2/rasterizer_canvas_base_gles2.cpp +#: drivers/gles3/rasterizer_canvas_base_gles3.cpp +msgid "Canvas Polygon Buffer Size (KB)" +msgstr "" + +#: drivers/gles2/rasterizer_canvas_base_gles2.cpp +#: drivers/gles3/rasterizer_canvas_base_gles3.cpp +msgid "Canvas Polygon Index Buffer Size (KB)" +msgstr "" + +#: drivers/gles2/rasterizer_canvas_base_gles2.cpp +#: drivers/gles3/rasterizer_canvas_base_gles3.cpp editor/editor_settings.cpp +#: editor/import/resource_importer_layered_texture.cpp +#: editor/import/resource_importer_texture.cpp main/main.cpp +#: scene/2d/physics_body_2d.cpp scene/resources/world_2d.cpp +#: servers/physics_2d/physics_2d_server_sw.cpp +#: servers/physics_2d/physics_2d_server_wrap_mt.h +#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp +#: servers/visual_server.cpp +msgid "2D" +msgstr "" + +#: drivers/gles2/rasterizer_canvas_base_gles2.cpp +#: drivers/gles3/rasterizer_canvas_base_gles3.cpp +msgid "Snapping" +msgstr "" + +#: drivers/gles2/rasterizer_canvas_base_gles2.cpp +#: drivers/gles3/rasterizer_canvas_base_gles3.cpp +msgid "Use GPU Pixel Snap" +msgstr "" + +#: drivers/gles2/rasterizer_scene_gles2.cpp +#: drivers/gles3/rasterizer_scene_gles3.cpp +msgid "Immediate Buffer Size (KB)" +msgstr "" + +#: drivers/gles2/rasterizer_storage_gles2.cpp +#: drivers/gles3/rasterizer_storage_gles3.cpp +msgid "Lightmapping" +msgstr "" + +#: drivers/gles2/rasterizer_storage_gles2.cpp +#: drivers/gles3/rasterizer_storage_gles3.cpp +msgid "Use Bicubic Sampling" +msgstr "" + +#: drivers/gles3/rasterizer_scene_gles3.cpp +msgid "Max Renderable Elements" +msgstr "" + +#: drivers/gles3/rasterizer_scene_gles3.cpp +msgid "Max Renderable Lights" +msgstr "" + +#: drivers/gles3/rasterizer_scene_gles3.cpp +msgid "Max Renderable Reflections" +msgstr "" + +#: drivers/gles3/rasterizer_scene_gles3.cpp +msgid "Max Lights Per Object" +msgstr "" + +#: drivers/gles3/rasterizer_scene_gles3.cpp +msgid "Subsurface Scattering" +msgstr "" + +#: drivers/gles3/rasterizer_scene_gles3.cpp editor/animation_track_editor.cpp +#: editor/import/resource_importer_texture.cpp +#: editor/plugins/spatial_editor_plugin.cpp modules/gltf/gltf_node.cpp +#: modules/gridmap/grid_map.cpp scene/2d/cpu_particles_2d.cpp +#: scene/2d/node_2d.cpp scene/2d/parallax_layer.cpp scene/2d/polygon_2d.cpp +#: scene/2d/remote_transform_2d.cpp scene/3d/cpu_particles.cpp +#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp +#: scene/animation/animation_blend_tree.cpp scene/gui/control.cpp +#: scene/main/canvas_layer.cpp scene/resources/environment.cpp +#: scene/resources/material.cpp scene/resources/particles_material.cpp +msgid "Scale" +msgstr "" + +#: drivers/gles3/rasterizer_scene_gles3.cpp +msgid "Follow Surface" +msgstr "" + +#: drivers/gles3/rasterizer_scene_gles3.cpp +msgid "Weight Samples" +msgstr "" + +#: drivers/gles3/rasterizer_scene_gles3.cpp +msgid "Voxel Cone Tracing" +msgstr "" + +#: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp +msgid "High Quality" +msgstr "" + +#: drivers/gles3/rasterizer_storage_gles3.cpp +msgid "Blend Shape Max Buffer Size (KB)" +msgstr "" + +#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror). +#: editor/animation_bezier_editor.cpp +msgid "Free" +msgstr "" + +#: editor/animation_bezier_editor.cpp +msgid "Balanced" +msgstr "" + +#: editor/animation_bezier_editor.cpp +msgid "Mirror" +msgstr "" + +#: editor/animation_bezier_editor.cpp editor/editor_profiler.cpp +msgid "Time:" +msgstr "" + +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp +msgid "Value:" +msgstr "" + +#: editor/animation_bezier_editor.cpp +msgid "Insert Key Here" +msgstr "" + +#: editor/animation_bezier_editor.cpp +msgid "Duplicate Selected Key(s)" +msgstr "" + +#: editor/animation_bezier_editor.cpp +msgid "Delete Selected Key(s)" +msgstr "" + +#: editor/animation_bezier_editor.cpp +msgid "Add Bezier Point" +msgstr "" + +#: editor/animation_bezier_editor.cpp +msgid "Move Bezier Points" +msgstr "" + +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "" + +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp +msgid "Anim Delete Keys" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Change Keyframe Time" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Change Transition" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Change Transform" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Change Keyframe Value" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Change Call" +msgstr "" + +#: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp +#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp +#: scene/resources/default_theme/default_theme.cpp +msgid "Frame" +msgstr "" + +#: editor/animation_track_editor.cpp editor/editor_profiler.cpp +#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp +#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp +#: scene/resources/particles_material.cpp servers/visual_server.cpp +msgid "Time" +msgstr "" + +#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp +#: platform/osx/export/export.cpp +msgid "Location" +msgstr "" + +#: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp +#: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp +#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp scene/gui/control.cpp +msgid "Rotation" +msgstr "" + +#: editor/animation_track_editor.cpp editor/script_editor_debugger.cpp +#: modules/visual_script/visual_script_nodes.cpp scene/gui/range.cpp +msgid "Value" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Arg Count" +msgstr "" + +#: editor/animation_track_editor.cpp main/main.cpp +#: modules/mono/mono_gd/gd_mono.cpp +msgid "Args" +msgstr "" + +#: editor/animation_track_editor.cpp editor/editor_settings.cpp +#: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp +#: modules/gltf/gltf_light.cpp modules/visual_script/visual_script_nodes.cpp +#: scene/3d/physics_body.cpp scene/resources/visual_shader_nodes.cpp +msgid "Type" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "In Handle" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Out Handle" +msgstr "" + +#: editor/animation_track_editor.cpp +#: editor/import/resource_importer_texture.cpp +#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp +#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp +msgid "Stream" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Start Offset" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "End Offset" +msgstr "" + +#: editor/animation_track_editor.cpp editor/editor_settings.cpp +#: editor/import/resource_importer_scene.cpp +#: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp +#: scene/2d/animated_sprite.cpp scene/2d/cpu_particles_2d.cpp +#: scene/2d/sprite.cpp scene/3d/cpu_particles.cpp scene/3d/sprite_3d.cpp +#: scene/animation/animation_blend_tree.cpp +#: scene/resources/particles_material.cpp +msgid "Animation" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Easing" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Multi Change Keyframe Time" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Multi Change Transition" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Multi Change Transform" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Multi Change Keyframe Value" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Multi Change Call" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Change Animation Length" +msgstr "" + +#: editor/animation_track_editor.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Change Animation Loop" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Property Track" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "3D Transform Track" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Call Method Track" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Bezier Curve Track" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Audio Playback Track" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Animation Playback Track" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Animation length (frames)" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Animation length (seconds)" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Add Track" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Animation Looping" +msgstr "" + +#: editor/animation_track_editor.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Functions:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Audio Clips:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Clips:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Change Track Path" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Toggle this track on/off." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Update Mode (How this property is set)" +msgstr "" + +#: editor/animation_track_editor.cpp scene/resources/gradient.cpp +msgid "Interpolation Mode" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Remove this track." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Time (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Position:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Rotation:" +msgstr "" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "" + +#: editor/animation_track_editor.cpp +#: editor/plugins/resource_preloader_editor_plugin.cpp +#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Type:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "(Invalid, expected type: %s)" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Easing:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "In-Handle:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Out-Handle:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Stream:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Start (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Animation Clip:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Toggle Track Enabled" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Continuous" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Discrete" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Trigger" +msgstr "" + +#: editor/animation_track_editor.cpp scene/3d/baked_lightmap.cpp +msgid "Capture" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Nearest" +msgstr "" + +#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp +#: editor/property_editor.cpp scene/2d/physics_body_2d.cpp +#: scene/3d/physics_body.cpp +msgid "Linear" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Cubic" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Clamp Loop Interp" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Wrap Loop Interp" +msgstr "" + +#: editor/animation_track_editor.cpp +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Duplicate Key(s)" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Add RESET Value(s)" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Delete Key(s)" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Change Animation Update Mode" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Change Animation Interpolation Mode" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Change Animation Loop Mode" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Remove Anim Track" +msgstr "" + +#: editor/animation_track_editor.cpp editor/editor_settings.cpp +#: editor/plugins/path_editor_plugin.cpp +#: editor/plugins/polygon_2d_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp +#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Editors" +msgstr "" + +#: editor/animation_track_editor.cpp editor/editor_settings.cpp +msgid "Confirm Insert Track" +msgstr "" + +#. TRANSLATORS: %s will be replaced by a phrase describing the target of track. +#: editor/animation_track_editor.cpp +msgid "Create NEW track for %s and insert key?" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Create %d NEW tracks and insert keys?" +msgstr "" + +#: editor/animation_track_editor.cpp editor/create_dialog.cpp +#: editor/editor_audio_buses.cpp editor/editor_feature_profile.cpp +#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp +#: editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/mesh_instance_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +#: editor/plugins/version_control_editor_plugin.cpp +#: editor/plugins/visual_shader_editor_plugin.cpp +#: editor/script_create_dialog.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Create" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Insert" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "node '%s'" +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "animation" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "AnimationPlayer can't animate itself, only other players." +msgstr "" + +#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. +#: editor/animation_track_editor.cpp +msgid "property '%s'" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Create & Insert" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Insert Track & Key" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Insert Key" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Change Animation Step" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Rearrange Tracks" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Transform tracks only apply to Spatial-based nodes." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "" +"Audio tracks can only point to nodes of type:\n" +"-AudioStreamPlayer\n" +"-AudioStreamPlayer2D\n" +"-AudioStreamPlayer3D" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Animation tracks can only point to AnimationPlayer nodes." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Not possible to add a new track without a root" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Invalid track for Bezier (no suitable sub-properties)" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Add Bezier Track" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Track path is invalid, so can't add a key." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Track is not of type Spatial, can't insert key" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Add Transform Track Key" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Add Track Key" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Track path is invalid, so can't add a method key." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Add Method Track Key" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Method not found in object:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Move Keys" +msgstr "" + +#: editor/animation_track_editor.cpp editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/visual_shader_editor_plugin.cpp scene/2d/node_2d.cpp +#: scene/3d/spatial.cpp scene/main/canvas_layer.cpp +#: servers/camera/camera_feed.cpp servers/physics_2d_server.cpp +#: servers/physics_server.cpp +msgid "Transform" +msgstr "" + +#: editor/animation_track_editor.cpp editor/editor_help.cpp +msgid "Methods" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Bezier" +msgstr "" + +#: editor/animation_track_editor.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Clipboard is empty!" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Paste Tracks" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Scale Keys" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "" +"This option does not work for Bezier editing, as it's only a single track." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Add RESET Keys" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "" +"This animation belongs to an imported scene, so changes to imported tracks " +"will not be saved.\n" +"\n" +"To enable the ability to add custom tracks, navigate to the scene's import " +"settings and set\n" +"\"Animation > Storage\" to \"Files\", enable \"Animation > Keep Custom " +"Tracks\", then re-import.\n" +"Alternatively, use an import preset that imports animations to separate " +"files." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Warning: Editing imported animation" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Select an AnimationPlayer node to create and edit animations." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Only show tracks from nodes selected in tree." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Group tracks by node or display them as plain list." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Snap:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Animation step value." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp main/main.cpp +#: scene/resources/texture.cpp +msgid "FPS" +msgstr "" + +#: editor/animation_track_editor.cpp editor/editor_plugin_settings.cpp +#: editor/editor_resource_picker.cpp editor/import/resource_importer_wav.cpp +#: editor/plugins/polygon_2d_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +#: editor/plugins/tile_set_editor_plugin.cpp editor/project_manager.cpp +#: editor/project_settings_editor.cpp editor/property_editor.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Edit" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Animation properties." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Copy Tracks" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Scale Selection" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Scale From Cursor" +msgstr "" + +#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Delete Selection" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Go to Next Step" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Go to Previous Step" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Apply Reset" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Optimize Animation" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Clean-Up Animation" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Pick the node that will be animated:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Use Bezier Curves" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Create RESET Track(s)" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim. Optimizer" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Max. Linear Error:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Max. Angular Error:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Max Optimizable Angle:" +msgstr "" + +#: editor/animation_track_editor.cpp scene/3d/room_manager.cpp +#: servers/visual_server.cpp +msgid "Optimize" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Remove invalid keys" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Remove unresolved and empty tracks" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Clean-up all animations" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Clean-Up Animation(s) (NO UNDO!)" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Clean-Up" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Scale Ratio:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Select Tracks to Copy" +msgstr "" + +#: editor/animation_track_editor.cpp editor/editor_log.cpp +#: editor/editor_resource_picker.cpp +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp +#: editor/scene_tree_dock.cpp scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Copy" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Select All/None" +msgstr "" + +#: editor/animation_track_editor_plugins.cpp +msgid "Add Audio Track Clip" +msgstr "" + +#: editor/animation_track_editor_plugins.cpp +msgid "Change Audio Track Clip Start Offset" +msgstr "" + +#: editor/animation_track_editor_plugins.cpp +msgid "Change Audio Track Clip End Offset" +msgstr "" + +#: editor/array_property_edit.cpp +msgid "Resize Array" +msgstr "" + +#: editor/array_property_edit.cpp +msgid "Change Array Value Type" +msgstr "" + +#: editor/array_property_edit.cpp +msgid "Change Array Value" +msgstr "" + +#: editor/code_editor.cpp +msgid "Go to Line" +msgstr "" + +#: editor/code_editor.cpp +msgid "Line Number:" +msgstr "" + +#: editor/code_editor.cpp +msgid "%d replaced." +msgstr "" + +#: editor/code_editor.cpp editor/editor_help.cpp +msgid "%d match." +msgstr "" + +#: editor/code_editor.cpp editor/editor_help.cpp +msgid "%d matches." +msgstr "" + +#: editor/code_editor.cpp editor/find_in_files.cpp +msgid "Match Case" +msgstr "" + +#: editor/code_editor.cpp editor/find_in_files.cpp +msgid "Whole Words" +msgstr "" + +#: editor/code_editor.cpp +msgid "Replace" +msgstr "" + +#: editor/code_editor.cpp +msgid "Replace All" +msgstr "" + +#: editor/code_editor.cpp +msgid "Selection Only" +msgstr "" + +#: editor/code_editor.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +msgid "Standard" +msgstr "" + +#: editor/code_editor.cpp editor/plugins/script_editor_plugin.cpp +msgid "Toggle Scripts Panel" +msgstr "" + +#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +#: editor/plugins/texture_region_editor_plugin.cpp +#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp +msgid "Zoom In" +msgstr "" + +#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +#: editor/plugins/texture_region_editor_plugin.cpp +#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp +msgid "Zoom Out" +msgstr "" + +#: editor/code_editor.cpp +msgid "Reset Zoom" +msgstr "" + +#: editor/code_editor.cpp modules/gdscript/gdscript.cpp +msgid "Warnings" +msgstr "" + +#: editor/code_editor.cpp +msgid "Line and column numbers." +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Method in target node must be specified." +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Method name must be a valid identifier." +msgstr "" + +#: editor/connections_dialog.cpp +msgid "" +"Target method not found. Specify a valid method or attach a script to the " +"target node." +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connect to Node:" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connect to Script:" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "From Signal:" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Scene does not contain any script." +msgstr "" + +#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp +#: editor/groups_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/item_list_editor_plugin.cpp +#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp +msgid "Add" +msgstr "" + +#: editor/connections_dialog.cpp editor/dependency_editor.cpp +#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/resource_preloader_editor_plugin.cpp +#: editor/plugins/version_control_editor_plugin.cpp +#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_manager.cpp +#: editor/project_settings_editor.cpp +msgid "Remove" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Add Extra Call Argument:" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Extra Call Arguments:" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Receiver Method:" +msgstr "" + +#: editor/connections_dialog.cpp scene/3d/room_manager.cpp +#: servers/visual_server.cpp +msgid "Advanced" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Deferred" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "" +"Defers the signal, storing it in a queue and only firing it at idle time." +msgstr "" + +#: editor/connections_dialog.cpp scene/resources/texture.cpp +msgid "Oneshot" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Disconnects the signal after its first emission." +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Cannot connect signal" +msgstr "" + +#: editor/connections_dialog.cpp editor/dependency_editor.cpp +#: editor/export_template_manager.cpp editor/groups_editor.cpp +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +#: editor/plugins/resource_preloader_editor_plugin.cpp +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/project_settings_editor.cpp editor/property_editor.cpp +#: editor/run_settings_dialog.cpp editor/settings_config_dialog.cpp +#: modules/visual_script/visual_script_editor.cpp +#: scene/resources/default_theme/default_theme.cpp +msgid "Close" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connect" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Signal:" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connect '%s' to '%s'" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Disconnect '%s' from '%s'" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Disconnect all from signal: '%s'" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connect..." +msgstr "" + +#: editor/connections_dialog.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Disconnect" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connect a Signal to a Method" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Edit Connection:" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Are you sure you want to remove all connections from the \"%s\" signal?" +msgstr "" + +#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp +msgid "Signals" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Filter signals" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Are you sure you want to remove all connections from this signal?" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Disconnect All" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Edit..." +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Go to Method" +msgstr "" + +#: editor/create_dialog.cpp +msgid "Change %s Type" +msgstr "" + +#: editor/create_dialog.cpp editor/project_settings_editor.cpp +msgid "Change" +msgstr "" + +#: editor/create_dialog.cpp +msgid "Create New %s" +msgstr "" + +#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp +msgid "No results for \"%s\"." +msgstr "" + +#: editor/create_dialog.cpp editor/property_selector.cpp +msgid "No description available for %s." +msgstr "" + +#: editor/create_dialog.cpp editor/editor_file_dialog.cpp +#: editor/filesystem_dock.cpp +msgid "Favorites:" +msgstr "" + +#: editor/create_dialog.cpp editor/editor_file_dialog.cpp +msgid "Recent:" +msgstr "" + +#: editor/create_dialog.cpp editor/editor_quick_open.cpp +#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp +#: editor/rename_dialog.cpp +#: modules/visual_script/visual_script_property_selector.cpp +msgid "Search:" +msgstr "" + +#: editor/create_dialog.cpp editor/editor_quick_open.cpp +#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp +#: modules/visual_script/visual_script_property_selector.cpp +msgid "Matches:" +msgstr "" + +#: editor/create_dialog.cpp editor/editor_feature_profile.cpp +#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp +#: modules/visual_script/visual_script_property_selector.cpp +msgid "Description:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Search Replacement For:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Dependencies For:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "" +"Scene '%s' is currently being edited.\n" +"Changes will only take effect when reloaded." +msgstr "" + +#: editor/dependency_editor.cpp +msgid "" +"Resource '%s' is in use.\n" +"Changes will only take effect when reloaded." +msgstr "" + +#: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dependencies" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Dependencies:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Fix Broken" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Dependency Editor" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Search Replacement Resource:" +msgstr "" + +#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp +#: editor/editor_help_search.cpp editor/editor_node.cpp +#: editor/editor_quick_open.cpp editor/filesystem_dock.cpp +#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp +#: editor/script_create_dialog.cpp +#: modules/visual_script/visual_script_property_selector.cpp +#: scene/gui/file_dialog.cpp +msgid "Open" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Owners of: %s (Total: %d)" +msgstr "" + +#: editor/dependency_editor.cpp +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 "" + +#: editor/dependency_editor.cpp +msgid "" +"The files being removed are required by other resources in order for them to " +"work.\n" +"Remove them anyway? (Cannot be undone.)\n" +"Depending on your filesystem configuration, the files will either be moved " +"to the system trash or deleted permanently." +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Cannot remove:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Error loading:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Load failed due to missing dependencies:" +msgstr "" + +#: editor/dependency_editor.cpp editor/editor_node.cpp +msgid "Open Anyway" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Which action should be taken?" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Fix Dependencies" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Errors loading!" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Permanently delete %d item(s)? (No undo!)" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Show Dependencies" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Orphan Resource Explorer" +msgstr "" + +#: editor/dependency_editor.cpp editor/editor_audio_buses.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp editor/project_export.cpp +#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +msgid "Delete" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Owns" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Resources Without Explicit Ownership:" +msgstr "" + +#: editor/dictionary_property_edit.cpp +msgid "Change Dictionary Key" +msgstr "" + +#: editor/dictionary_property_edit.cpp +msgid "Change Dictionary Value" +msgstr "" + +#: editor/editor_about.cpp +msgid "Thanks from the Godot community!" +msgstr "" + +#: editor/editor_about.cpp editor/editor_node.cpp editor/project_manager.cpp +msgid "Click to copy." +msgstr "" + +#: editor/editor_about.cpp +msgid "Godot Engine contributors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Project Founders" +msgstr "" + +#: editor/editor_about.cpp +msgid "Lead Developer" +msgstr "" + +#. TRANSLATORS: This refers to a job title. +#: editor/editor_about.cpp +msgctxt "Job Title" +msgid "Project Manager" +msgstr "" + +#: editor/editor_about.cpp +msgid "Developers" +msgstr "" + +#: editor/editor_about.cpp +msgid "Authors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Platinum Sponsors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Gold Sponsors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Silver Sponsors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Bronze Sponsors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Mini Sponsors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Gold Donors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Silver Donors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Bronze Donors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Donors" +msgstr "" + +#: editor/editor_about.cpp +msgid "License" +msgstr "" + +#: editor/editor_about.cpp +msgid "Third-party Licenses" +msgstr "" + +#: editor/editor_about.cpp +msgid "" +"Godot Engine relies on a number of third-party free and open source " +"libraries, all compatible with the terms of its MIT license. The following " +"is an exhaustive list of all such third-party components with their " +"respective copyright statements and license terms." +msgstr "" + +#: editor/editor_about.cpp +msgid "All Components" +msgstr "" + +#: editor/editor_about.cpp +msgid "Components" +msgstr "" + +#: editor/editor_about.cpp +msgid "Licenses" +msgstr "" + +#: editor/editor_asset_installer.cpp +msgid "Error opening asset file for \"%s\" (not in ZIP format)." +msgstr "" + +#: editor/editor_asset_installer.cpp +msgid "%s (already exists)" +msgstr "" + +#: editor/editor_asset_installer.cpp +msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:" +msgstr "" + +#: editor/editor_asset_installer.cpp +msgid "Contents of asset \"%s\" - No files conflict with your project:" +msgstr "" + +#: editor/editor_asset_installer.cpp +msgid "Uncompressing Assets" +msgstr "" + +#: editor/editor_asset_installer.cpp +msgid "The following files failed extraction from asset \"%s\":" +msgstr "" + +#: editor/editor_asset_installer.cpp +msgid "(and %s more files)" +msgstr "" + +#: editor/editor_asset_installer.cpp +msgid "Asset \"%s\" installed successfully!" +msgstr "" + +#: editor/editor_asset_installer.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Success!" +msgstr "" + +#: editor/editor_asset_installer.cpp editor/editor_node.cpp +msgid "Install" +msgstr "" + +#: editor/editor_asset_installer.cpp +msgid "Asset Installer" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Speakers" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Add Effect" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Rename Audio Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Change Audio Bus Volume" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Toggle Audio Bus Solo" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Toggle Audio Bus Mute" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Toggle Audio Bus Bypass Effects" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Select Audio Bus Send" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Add Audio Bus Effect" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Move Bus Effect" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Delete Bus Effect" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Drag & drop to rearrange." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Solo" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Mute" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Bypass" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Bus Options" +msgstr "" + +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/project_export.cpp editor/scene_tree_dock.cpp +msgid "Duplicate" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Reset Volume" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Delete Effect" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Add Audio Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Master bus can't be deleted!" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Delete Audio Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Duplicate Audio Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Reset Bus Volume" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Move Audio Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Save Audio Bus Layout As..." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Location for New Layout..." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Open Audio Bus Layout" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "There is no '%s' file." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Layout:" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Invalid file, not an audio bus layout." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Error saving file: %s" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Add Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Add a new Audio Bus to this layout." +msgstr "" + +#: editor/editor_audio_buses.cpp editor/editor_resource_picker.cpp +#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp +#: editor/script_create_dialog.cpp +msgid "Load" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Load an existing Bus Layout." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Save As" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Save this Bus Layout to a file." +msgstr "" + +#: editor/editor_audio_buses.cpp editor/import_dock.cpp +msgid "Load Default" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Load the default Bus Layout." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Audio Bus Layout" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Cannot begin with a digit." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Must not collide with an existing engine class name." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Must not collide with an existing built-in type name." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Must not collide with an existing global constant name." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Keyword cannot be used as an autoload name." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "" + +#: editor/editor_autoload_settings.cpp editor/editor_plugin_settings.cpp +#: modules/gdscript/gdscript.cpp platform/android/export/export_plugin.cpp +#: platform/osx/export/export.cpp platform/windows/export/export.cpp +#: scene/2d/polygon_2d.cpp scene/3d/area.cpp scene/3d/physics_joint.cpp +#: scene/3d/reflection_probe.cpp scene/main/canvas_layer.cpp +#: scene/resources/material.cpp servers/visual_server.cpp +msgid "Enable" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Rearrange Autoloads" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Can't add autoload:" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "%s is an invalid path. File does not exist." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "%s is an invalid path. Not in resource path (res://)." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Add AutoLoad" +msgstr "" + +#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp +#: editor/editor_plugin_settings.cpp +#: editor/plugins/animation_tree_editor_plugin.cpp +#: editor/script_create_dialog.cpp scene/gui/file_dialog.cpp +msgid "Path:" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Global Variable" +msgstr "" + +#: editor/editor_data.cpp +msgid "Paste Params" +msgstr "" + +#: editor/editor_data.cpp +msgid "Updating Scene" +msgstr "" + +#: editor/editor_data.cpp +msgid "Storing local changes..." +msgstr "" + +#: editor/editor_data.cpp +msgid "Updating scene..." +msgstr "" + +#: editor/editor_data.cpp editor/editor_resource_picker.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp +#: editor/plugins/text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "[unsaved]" +msgstr "" + +#: editor/editor_dir_dialog.cpp +msgid "Please select a base directory first." +msgstr "" + +#: editor/editor_dir_dialog.cpp +msgid "Choose a Directory" +msgstr "" + +#: 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 "" + +#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp +#: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp +#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: editor/script_create_dialog.cpp +#: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp +msgid "Name:" +msgstr "" + +#: 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 "" + +#: editor/editor_dir_dialog.cpp +msgid "Choose" +msgstr "" + +#: editor/editor_export.cpp +msgid "Project export for platform:" +msgstr "" + +#: editor/editor_export.cpp +msgid "Completed with warnings." +msgstr "" + +#: editor/editor_export.cpp +msgid "Completed successfully." +msgstr "" + +#: editor/editor_export.cpp +msgid "Failed." +msgstr "" + +#: editor/editor_export.cpp +msgid "Storing File:" +msgstr "" + +#: editor/editor_export.cpp +msgid "No export template found at the expected path:" +msgstr "" + +#: editor/editor_export.cpp +msgid "Packing" +msgstr "" + +#: editor/editor_export.cpp +msgid "Save PCK" +msgstr "" + +#: editor/editor_export.cpp +msgid "Cannot create file \"%s\"." +msgstr "" + +#: editor/editor_export.cpp +msgid "Failed to export project files." +msgstr "" + +#: editor/editor_export.cpp +msgid "Can't open file to read from path \"%s\"." +msgstr "" + +#: editor/editor_export.cpp +msgid "Save ZIP" +msgstr "" + +#: editor/editor_export.cpp +msgid "" +"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " +"Etc' in Project Settings." +msgstr "" + +#: editor/editor_export.cpp +msgid "" +"Target platform requires 'ETC2' texture compression for GLES3. Enable " +"'Import Etc 2' in Project Settings." +msgstr "" + +#: editor/editor_export.cpp +msgid "" +"Target platform requires 'ETC' texture compression for the driver fallback " +"to GLES2.\n" +"Enable 'Import Etc' in Project Settings, or disable 'Driver Fallback " +"Enabled'." +msgstr "" + +#: editor/editor_export.cpp +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" + +#: 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 "" + +#: editor/editor_export.cpp +msgid "" +"Target platform requires 'PVRTC' texture compression for the driver fallback " +"to GLES2.\n" +"Enable 'Import Pvrtc' in Project Settings, or disable 'Driver Fallback " +"Enabled'." +msgstr "" + +#: editor/editor_export.cpp platform/android/export/export_plugin.cpp +#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp +#: platform/osx/export/export.cpp platform/uwp/export/export.cpp +msgid "Custom Template" +msgstr "" + +#: editor/editor_export.cpp editor/project_export.cpp +#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp +#: platform/javascript/export/export.cpp platform/osx/export/export.cpp +#: platform/uwp/export/export.cpp +msgid "Release" +msgstr "" + +#: editor/editor_export.cpp +msgid "Binary Format" +msgstr "" + +#: editor/editor_export.cpp +msgid "64 Bits" +msgstr "" + +#: editor/editor_export.cpp +msgid "Embed PCK" +msgstr "" + +#: editor/editor_export.cpp platform/osx/export/export.cpp +msgid "Texture Format" +msgstr "" + +#: editor/editor_export.cpp +msgid "BPTC" +msgstr "" + +#: editor/editor_export.cpp platform/osx/export/export.cpp +msgid "S3TC" +msgstr "" + +#: editor/editor_export.cpp platform/osx/export/export.cpp +msgid "ETC" +msgstr "" + +#: editor/editor_export.cpp platform/osx/export/export.cpp +msgid "ETC2" +msgstr "" + +#: editor/editor_export.cpp +msgid "No BPTC Fallbacks" +msgstr "" + +#: editor/editor_export.cpp platform/android/export/export_plugin.cpp +#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp +#: platform/osx/export/export.cpp platform/uwp/export/export.cpp +msgid "Custom debug template not found." +msgstr "" + +#: editor/editor_export.cpp platform/android/export/export_plugin.cpp +#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp +#: platform/osx/export/export.cpp platform/uwp/export/export.cpp +msgid "Custom release template not found." +msgstr "" + +#: editor/editor_export.cpp +msgid "Prepare Template" +msgstr "" + +#: editor/editor_export.cpp platform/osx/export/export.cpp +msgid "The given export path doesn't exist." +msgstr "" + +#: editor/editor_export.cpp platform/javascript/export/export.cpp +msgid "Template file not found: \"%s\"." +msgstr "" + +#: editor/editor_export.cpp +msgid "Failed to copy export template." +msgstr "" + +#: editor/editor_export.cpp platform/windows/export/export.cpp +#: platform/x11/export/export.cpp +msgid "PCK Embedding" +msgstr "" + +#: editor/editor_export.cpp +msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB." +msgstr "" + +#: editor/editor_export.cpp +msgid "Convert Text Resources To Binary On Export" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "3D Editor" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Script Editor" +msgstr "" + +#: editor/editor_feature_profile.cpp +#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp +msgid "Asset Library" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Scene Tree Editing" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Node Dock" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "FileSystem Dock" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Import Dock" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Allows to view and edit 3D scenes." +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Allows to edit scripts using the integrated script editor." +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Provides built-in access to the Asset Library." +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Allows editing the node hierarchy in the Scene dock." +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "" +"Allows to work with signals and groups of the node selected in the Scene " +"dock." +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Allows to browse the local file system via a dedicated dock." +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "" +"Allows to configure import settings for individual assets. Requires the " +"FileSystem dock to function." +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "(current)" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "(none)" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Remove currently selected profile, '%s'? Cannot be undone." +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Profile must be a valid filename and must not contain '.'" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Profile with this name already exists." +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "(Editor Disabled, Properties Disabled)" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "(Properties Disabled)" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "(Editor Disabled)" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Class Options:" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Enable Contextual Editor" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Class Properties:" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Main Features:" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Nodes and Classes:" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "File '%s' format is invalid, import aborted." +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "" +"Profile '%s' already exists. Remove it first before importing, import " +"aborted." +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Error saving profile to path: '%s'." +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Reset to Default" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Current Profile:" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Create Profile" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Remove Profile" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Available Profiles:" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Make Current" +msgstr "" + +#: editor/editor_feature_profile.cpp editor/editor_node.cpp +#: editor/import/resource_importer_scene.cpp +#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp +#: modules/fbx/editor_scene_importer_fbx.cpp +msgid "Import" +msgstr "" + +#: editor/editor_feature_profile.cpp editor/project_export.cpp +#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp +#: platform/javascript/export/export.cpp platform/osx/export/export.cpp +#: platform/uwp/export/export.cpp platform/windows/export/export.cpp +msgid "Export" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Configure Selected Profile:" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Extra Options:" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Create or import a profile to edit available classes and properties." +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "New profile name:" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Godot Feature Profile" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Import Profile(s)" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Export Profile" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Manage Editor Feature Profiles" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Default Feature Profile" +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 +msgid "File exists, overwrite?" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Select This Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Open in File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/project_manager.cpp +msgid "Show in File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder..." +msgstr "" + +#: editor/editor_file_dialog.cpp editor/find_in_files.cpp +msgid "Refresh" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "All Recognized" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "All Files (*)" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Open a File" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Open File(s)" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Open a Directory" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Open a File or Directory" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/editor_resource_picker.cpp editor/import_defaults_editor.cpp +#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/theme_editor_plugin.cpp scene/gui/file_dialog.cpp +msgid "Save" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Save a File" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Access" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/editor_settings.cpp +msgid "Display Mode" +msgstr "" + +#: editor/editor_file_dialog.cpp +#: editor/import/resource_importer_layered_texture.cpp +#: editor/import/resource_importer_texture.cpp +#: editor/import/resource_importer_wav.cpp main/main.cpp +#: modules/csg/csg_shape.cpp modules/visual_script/visual_script_nodes.cpp +#: scene/2d/light_2d.cpp scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp +#: scene/3d/baked_lightmap.cpp scene/3d/light.cpp scene/3d/physics_body.cpp +#: scene/gui/control.cpp scene/gui/file_dialog.cpp +#: scene/resources/environment.cpp scene/resources/material.cpp +#: scene/resources/visual_shader.cpp +#: servers/audio/effects/audio_effect_distortion.cpp +msgid "Mode" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Current Dir" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Current File" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Current Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/editor_settings.cpp +#: scene/gui/file_dialog.cpp +msgid "Show Hidden Files" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Disable Overwrite Warning" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Go Back" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Go Forward" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Go Up" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Toggle Hidden Files" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Toggle Favorite" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/editor_resource_picker.cpp +#: scene/gui/base_button.cpp +msgid "Toggle Mode" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Focus Path" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Move Favorite Up" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Move Favorite Down" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Go to previous folder." +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Go to next folder." +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Refresh files." +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Toggle the visibility of hidden files." +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a grid of thumbnails." +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a list." +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Directories & Files:" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp +#: editor/plugins/style_box_editor_plugin.cpp editor/rename_dialog.cpp +msgid "Preview:" +msgstr "" + +#: editor/editor_file_dialog.cpp +#: editor/plugins/version_control_editor_plugin.cpp scene/gui/file_dialog.cpp +msgid "File:" +msgstr "" + +#: editor/editor_file_system.cpp +msgid "ScanSources" +msgstr "" + +#: editor/editor_file_system.cpp +msgid "" +"There are multiple importers for different types pointing to file %s, import " +"aborted" +msgstr "" + +#: editor/editor_file_system.cpp +msgid "(Re)Importing Assets" +msgstr "" + +#: editor/editor_file_system.cpp +msgid "Reimport Missing Imported Files" +msgstr "" + +#: editor/editor_help.cpp scene/2d/camera_2d.cpp scene/gui/control.cpp +#: scene/gui/nine_patch_rect.cpp scene/resources/dynamic_font.cpp +#: scene/resources/style_box.cpp scene/resources/texture.cpp +msgid "Top" +msgstr "" + +#: editor/editor_help.cpp +msgid "Class:" +msgstr "" + +#: editor/editor_help.cpp editor/scene_tree_editor.cpp +#: editor/script_create_dialog.cpp +msgid "Inherits:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Inherited by:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Online Tutorials" +msgstr "" + +#: editor/editor_help.cpp +msgid "Properties" +msgstr "" + +#: editor/editor_help.cpp +msgid "overrides %s:" +msgstr "" + +#: editor/editor_help.cpp +msgid "default:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Theme Properties" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/gradient.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 +#: platform/iphone/export/export.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 "" + +#: editor/editor_help.cpp +msgid "(value)" +msgstr "" + +#: editor/editor_help.cpp +msgid "" +"There is currently no description for this property. Please help us by " +"[color=$color][url=$url]contributing one[/url][/color]!" +msgstr "" + +#: editor/editor_help.cpp +msgid "Method Descriptions" +msgstr "" + +#: editor/editor_help.cpp +msgid "" +"There is currently no description for this method. Please help us by " +"[color=$color][url=$url]contributing one[/url][/color]!" +msgstr "" + +#: editor/editor_help.cpp editor/editor_settings.cpp +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp +#: modules/gdscript/editor/gdscript_highlighter.cpp +#: modules/gdscript/gdscript_editor.cpp +msgid "Text Editor" +msgstr "" + +#: editor/editor_help.cpp editor/editor_node.cpp editor/editor_settings.cpp +#: editor/plugins/shader_editor_plugin.cpp +msgid "Help" +msgstr "" + +#: editor/editor_help.cpp +msgid "Sort Functions Alphabetically" +msgstr "" + +#: editor/editor_help_search.cpp editor/editor_node.cpp +#: editor/plugins/script_editor_plugin.cpp +msgid "Search Help" +msgstr "" + +#: editor/editor_help_search.cpp +msgid "Case Sensitive" +msgstr "" + +#: editor/editor_help_search.cpp +msgid "Show Hierarchy" +msgstr "" + +#: editor/editor_help_search.cpp +msgid "Display All" +msgstr "" + +#: editor/editor_help_search.cpp +msgid "Classes Only" +msgstr "" + +#: editor/editor_help_search.cpp +msgid "Methods Only" +msgstr "" + +#: editor/editor_help_search.cpp +msgid "Signals Only" +msgstr "" + +#: editor/editor_help_search.cpp +msgid "Constants Only" +msgstr "" + +#: editor/editor_help_search.cpp +msgid "Properties Only" +msgstr "" + +#: editor/editor_help_search.cpp +msgid "Theme Properties Only" +msgstr "" + +#: editor/editor_help_search.cpp +msgid "Member Type" +msgstr "" + +#: editor/editor_help_search.cpp +msgid "Class" +msgstr "" + +#: editor/editor_help_search.cpp +msgid "Method" +msgstr "" + +#: editor/editor_help_search.cpp editor/plugins/script_text_editor.cpp +#: modules/visual_script/visual_script_func_nodes.cpp +#: modules/visual_script/visual_script_yield_nodes.cpp +msgid "Signal" +msgstr "" + +#: editor/editor_help_search.cpp modules/visual_script/visual_script_nodes.cpp +#: scene/resources/visual_shader_nodes.cpp +msgid "Constant" +msgstr "" + +#: editor/editor_help_search.cpp +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Property" +msgstr "" + +#: editor/editor_help_search.cpp +msgid "Theme Property" +msgstr "" + +#: editor/editor_inspector.cpp editor/project_settings_editor.cpp +msgid "Property:" +msgstr "" + +#: editor/editor_inspector.cpp editor/editor_spin_slider.cpp +msgid "Label" +msgstr "" + +#: editor/editor_inspector.cpp editor/editor_spin_slider.cpp +#: scene/resources/default_theme/default_theme.cpp +msgid "Read Only" +msgstr "" + +#: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp +msgid "Checkable" +msgstr "" + +#: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp +#: scene/resources/default_theme/default_theme.cpp +msgid "Checked" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Draw Red" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Keying" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "" +"Pinning a value forces it to be saved even if it's equal to the default." +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pin value [Disabled because '%s' is editor-only]" +msgstr "" + +#: editor/editor_inspector.cpp +#: editor/plugins/gradient_texture_2d_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +#: modules/visual_script/visual_script_func_nodes.cpp +#: modules/visual_script/visual_script_nodes.cpp +#: modules/visual_script/visual_script_property_selector.cpp +msgid "Set %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Set Multiple:" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Pinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Unpinned %s" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Copy Property" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Paste Property" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Copy Property Path" +msgstr "" + +#: editor/editor_log.cpp +msgid "Output:" +msgstr "" + +#: editor/editor_log.cpp editor/plugins/tile_map_editor_plugin.cpp +msgid "Copy Selection" +msgstr "" + +#: editor/editor_log.cpp editor/editor_network_profiler.cpp +#: editor/editor_profiler.cpp editor/editor_resource_picker.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/property_editor.cpp editor/scene_tree_dock.cpp +#: editor/script_editor_debugger.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp scene/resources/default_theme/default_theme.cpp +msgid "Clear" +msgstr "" + +#: editor/editor_log.cpp +msgid "Clear Output" +msgstr "" + +#: editor/editor_network_profiler.cpp editor/editor_node.cpp +#: editor/editor_profiler.cpp +msgid "Stop" +msgstr "" + +#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp +#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp +msgid "Start" +msgstr "" + +#: editor/editor_network_profiler.cpp +msgid "%s/s" +msgstr "" + +#: editor/editor_network_profiler.cpp +msgid "Down" +msgstr "" + +#: editor/editor_network_profiler.cpp +msgid "Up" +msgstr "" + +#: editor/editor_network_profiler.cpp editor/editor_node.cpp +#: scene/main/node.cpp scene/resources/default_theme/default_theme.cpp +msgid "Node" +msgstr "" + +#: editor/editor_network_profiler.cpp +msgid "Incoming RPC" +msgstr "" + +#: editor/editor_network_profiler.cpp +msgid "Incoming RSET" +msgstr "" + +#: editor/editor_network_profiler.cpp +msgid "Outgoing RPC" +msgstr "" + +#: editor/editor_network_profiler.cpp +msgid "Outgoing RSET" +msgstr "" + +#: editor/editor_node.cpp editor/project_manager.cpp +msgid "New Window" +msgstr "" + +#: editor/editor_node.cpp editor/project_manager.cpp +msgid "Unnamed Project" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Spins when the editor window redraws.\n" +"Update Continuously is enabled, which can increase power usage. Click to " +"disable it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +#: editor/plugins/theme_editor_plugin.cpp +#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp scene/gui/dialogs.cpp +msgid "OK" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Save Resource As..." +msgstr "" + +#: editor/editor_node.cpp +msgid "Can't open file for writing:" +msgstr "" + +#: editor/editor_node.cpp +msgid "Requested file format unknown:" +msgstr "" + +#: editor/editor_node.cpp +msgid "Error while saving." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +msgid "Can't open '%s'. The file could have been moved or deleted." +msgstr "" + +#: editor/editor_node.cpp +msgid "Error while parsing '%s'." +msgstr "" + +#: editor/editor_node.cpp +msgid "Unexpected end of file '%s'." +msgstr "" + +#: editor/editor_node.cpp +msgid "Missing '%s' or its dependencies." +msgstr "" + +#: editor/editor_node.cpp +msgid "Error while loading '%s'." +msgstr "" + +#: editor/editor_node.cpp +msgid "Saving Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Analyzing" +msgstr "" + +#: editor/editor_node.cpp +msgid "Creating Thumbnail" +msgstr "" + +#: editor/editor_node.cpp +msgid "This operation can't be done without a tree root." +msgstr "" + +#: editor/editor_node.cpp +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 "" + +#: editor/editor_node.cpp +msgid "" +"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't " +"be satisfied." +msgstr "" + +#: editor/editor_node.cpp +msgid "Could not save one or more scenes!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save All Scenes" +msgstr "" + +#: editor/editor_node.cpp editor/scene_tree_dock.cpp +msgid "Can't overwrite scene that is still open!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Can't load MeshLibrary for merging!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Error saving MeshLibrary!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Can't load TileSet for merging!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Error saving TileSet!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"An error occurred while trying to save the editor layout.\n" +"Make sure the editor's user data path is writable." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Default editor layout overridden.\n" +"To restore the Default layout to its base settings, use the Delete Layout " +"option and delete the Default layout." +msgstr "" + +#: editor/editor_node.cpp +msgid "Layout name not found!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Restored the Default layout to its base settings." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource belongs to a scene that was imported, so it's not editable.\n" +"Please read the documentation relevant to importing scenes to better " +"understand this workflow." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource belongs to a scene that was instanced or inherited.\n" +"Changes to it won't be kept when saving the current scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource was imported, so it's not editable. Change its settings in the " +"import panel and then re-import." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This scene was imported, so changes to it won't be kept.\n" +"Instancing it or inheriting will allow making changes to it.\n" +"Please read the documentation relevant to importing scenes to better " +"understand this workflow." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This is a remote object, so changes to it won't be kept.\n" +"Please read the documentation relevant to debugging to better understand " +"this workflow." +msgstr "" + +#: editor/editor_node.cpp +msgid "There is no defined scene to run." +msgstr "" + +#: editor/editor_node.cpp +msgid "Save scene before running..." +msgstr "" + +#: editor/editor_node.cpp +msgid "Could not start subprocess!" +msgstr "" + +#: editor/editor_node.cpp editor/filesystem_dock.cpp +msgid "Open Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Base Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Quick Open..." +msgstr "" + +#: editor/editor_node.cpp +msgid "Quick Open Scene..." +msgstr "" + +#: editor/editor_node.cpp +msgid "Quick Open Script..." +msgstr "" + +#: editor/editor_node.cpp +msgid "Save & Reload" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save changes to '%s' before reloading?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save & Close" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save changes to '%s' before closing?" +msgstr "" + +#: editor/editor_node.cpp +msgid "%s no longer exists! Please specify a new save location." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"The current scene has no root node, but %d modified external resource(s) " +"were saved anyway." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"A root node is required to save the scene. You can add a root node using the " +"Scene tree dock." +msgstr "" + +#: editor/editor_node.cpp +msgid "Save Scene As..." +msgstr "" + +#: editor/editor_node.cpp modules/gltf/editor_scene_exporter_gltf_plugin.cpp +msgid "This operation can't be done without a scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "Export Mesh Library" +msgstr "" + +#: editor/editor_node.cpp +msgid "This operation can't be done without a root node." +msgstr "" + +#: editor/editor_node.cpp +msgid "Export Tile Set" +msgstr "" + +#: editor/editor_node.cpp +msgid "This operation can't be done without a selected node." +msgstr "" + +#: editor/editor_node.cpp +msgid "Current scene not saved. Open anyway?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Can't undo while mouse buttons are pressed." +msgstr "" + +#: editor/editor_node.cpp +msgid "Nothing to undo." +msgstr "" + +#: editor/editor_node.cpp +msgid "Undo: %s" +msgstr "" + +#: editor/editor_node.cpp +msgid "Can't redo while mouse buttons are pressed." +msgstr "" + +#: editor/editor_node.cpp +msgid "Nothing to redo." +msgstr "" + +#: editor/editor_node.cpp +msgid "Redo: %s" +msgstr "" + +#: editor/editor_node.cpp +msgid "Can't reload a scene that was never saved." +msgstr "" + +#: editor/editor_node.cpp +msgid "Reload Saved Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" + +#: editor/editor_node.cpp +msgid "Quick Run Scene..." +msgstr "" + +#: editor/editor_node.cpp +msgid "Quit" +msgstr "" + +#: editor/editor_node.cpp +msgid "Yes" +msgstr "" + +#: editor/editor_node.cpp +msgid "Exit the editor?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Project Manager?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save changes to the following scene(s) before reloading?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save & Quit" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save changes to the following scene(s) before quitting?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save changes to the following scene(s) before opening Project Manager?" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This option is deprecated. Situations where refresh must be forced are now " +"considered a bug. Please report." +msgstr "" + +#: editor/editor_node.cpp +msgid "Pick a Main Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Close Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Reopen Closed Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Unable to enable addon plugin at: '%s' parsing of config failed." +msgstr "" + +#: editor/editor_node.cpp +msgid "Unable to find script field for addon plugin at: '%s'." +msgstr "" + +#: editor/editor_node.cpp +msgid "Unable to load addon script from path: '%s'." +msgstr "" + +#: editor/editor_node.cpp +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 "" + +#: editor/editor_node.cpp +msgid "" +"Unable to load addon script from path: '%s' Base type is not EditorPlugin." +msgstr "" + +#: editor/editor_node.cpp +msgid "Unable to load addon script from path: '%s' Script is not in tool mode." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Scene '%s' was automatically imported, so it can't be modified.\n" +"To make changes to it, a new inherited scene can be created." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Error loading scene, it must be inside the project path. Use 'Import' to " +"open the scene, then save it inside the project path." +msgstr "" + +#: editor/editor_node.cpp +msgid "Scene '%s' has broken dependencies:" +msgstr "" + +#: editor/editor_node.cpp +msgid "Clear Recent Scenes" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"No main scene has ever been defined, select one?\n" +"You can change it later in \"Project Settings\" under the 'application' " +"category." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Selected scene '%s' does not exist, select a valid one?\n" +"You can change it later in \"Project Settings\" under the 'application' " +"category." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Selected scene '%s' is not a scene file, select a valid one?\n" +"You can change it later in \"Project Settings\" under the 'application' " +"category." +msgstr "" + +#: editor/editor_node.cpp +msgid "Save Layout" +msgstr "" + +#: editor/editor_node.cpp +msgid "Delete Layout" +msgstr "" + +#: editor/editor_node.cpp editor/import_dock.cpp +#: editor/script_create_dialog.cpp +msgid "Default" +msgstr "" + +#: editor/editor_node.cpp editor/editor_resource_picker.cpp +#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +msgid "Show in FileSystem" +msgstr "" + +#: editor/editor_node.cpp +msgid "Play This Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Close Tab" +msgstr "" + +#: editor/editor_node.cpp +msgid "Undo Close Tab" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +msgid "Close Other Tabs" +msgstr "" + +#: editor/editor_node.cpp +msgid "Close Tabs to the Right" +msgstr "" + +#: editor/editor_node.cpp +msgid "Close All Tabs" +msgstr "" + +#: editor/editor_node.cpp +msgid "Switch Scene Tab" +msgstr "" + +#: editor/editor_node.cpp +msgid "%d more files or folders" +msgstr "" + +#: editor/editor_node.cpp +msgid "%d more folders" +msgstr "" + +#: editor/editor_node.cpp +msgid "%d more files" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Unable to write to file '%s', file in use, locked or lacking permissions." +msgstr "" + +#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp +#: servers/arvr/arvr_interface.cpp +msgid "Interface" +msgstr "" + +#: editor/editor_node.cpp editor/editor_settings.cpp +msgid "Scene Tabs" +msgstr "" + +#: editor/editor_node.cpp +msgid "Always Show Close Button" +msgstr "" + +#: editor/editor_node.cpp editor/editor_settings.cpp +msgid "Resize If Many Tabs" +msgstr "" + +#: editor/editor_node.cpp editor/editor_settings.cpp +msgid "Minimum Width" +msgstr "" + +#: editor/editor_node.cpp editor/editor_settings.cpp +msgid "Output" +msgstr "" + +#: editor/editor_node.cpp editor/editor_settings.cpp +msgid "Always Clear Output On Play" +msgstr "" + +#: editor/editor_node.cpp editor/editor_settings.cpp +msgid "Always Open Output On Play" +msgstr "" + +#: editor/editor_node.cpp editor/editor_settings.cpp +msgid "Always Close Output On Stop" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save On Focus Loss" +msgstr "" + +#: editor/editor_node.cpp editor/editor_settings.cpp +msgid "Save Each Scene On Quit" +msgstr "" + +#: editor/editor_node.cpp editor/editor_settings.cpp +msgid "Quit Confirmation" +msgstr "" + +#: editor/editor_node.cpp +msgid "Show Update Spinner" +msgstr "" + +#: editor/editor_node.cpp +msgid "Update Continuously" +msgstr "" + +#: editor/editor_node.cpp +msgid "Update Vital Only" +msgstr "" + +#: editor/editor_node.cpp +msgid "Localize Settings" +msgstr "" + +#: editor/editor_node.cpp +msgid "Restore Scenes On Load" +msgstr "" + +#: editor/editor_node.cpp editor/editor_settings.cpp +msgid "Show Thumbnail On Hover" +msgstr "" + +#: editor/editor_node.cpp editor/editor_settings.cpp +msgid "Inspector" +msgstr "" + +#: editor/editor_node.cpp +msgid "Default Property Name Style" +msgstr "" + +#: editor/editor_node.cpp +msgid "Default Float Step" +msgstr "" + +#: editor/editor_node.cpp scene/gui/tree.cpp +msgid "Disable Folding" +msgstr "" + +#: editor/editor_node.cpp +msgid "Auto Unfold Foreign Scenes" +msgstr "" + +#: editor/editor_node.cpp +msgid "Horizontal Vector2 Editing" +msgstr "" + +#: editor/editor_node.cpp +msgid "Horizontal Vector Types Editing" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Resources In Current Inspector" +msgstr "" + +#: editor/editor_node.cpp +msgid "Resources To Open In New Inspector" +msgstr "" + +#: editor/editor_node.cpp +msgid "Default Color Picker Mode" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp +msgid "Version Control" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp +msgid "Username" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp +msgid "SSH Public Key Path" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp +msgid "SSH Private Key Path" +msgstr "" + +#: editor/editor_node.cpp +msgid "Dock Position" +msgstr "" + +#: editor/editor_node.cpp editor/editor_plugin.cpp +msgid "Distraction Free Mode" +msgstr "" + +#: editor/editor_node.cpp +msgid "Toggle distraction-free mode." +msgstr "" + +#: editor/editor_node.cpp +msgid "Add a new scene." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Go to previously opened scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "Copy Text" +msgstr "" + +#: editor/editor_node.cpp +msgid "Next tab" +msgstr "" + +#: editor/editor_node.cpp +msgid "Previous tab" +msgstr "" + +#: editor/editor_node.cpp +msgid "Filter Files..." +msgstr "" + +#: editor/editor_node.cpp +msgid "Operations with scene files." +msgstr "" + +#: editor/editor_node.cpp +msgid "New Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "New Inherited Scene..." +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Scene..." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +msgid "Open Recent" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Convert To..." +msgstr "" + +#: editor/editor_node.cpp +msgid "MeshLibrary..." +msgstr "" + +#: editor/editor_node.cpp +msgid "TileSet..." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Undo" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Redo" +msgstr "" + +#: editor/editor_node.cpp +msgid "Miscellaneous project or scene-wide tools." +msgstr "" + +#: editor/editor_node.cpp editor/project_manager.cpp +#: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp +msgid "Project" +msgstr "" + +#: editor/editor_node.cpp +msgid "Project Settings..." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp +msgid "Set Up Version Control" +msgstr "" + +#: editor/editor_node.cpp +msgid "Shut Down Version Control" +msgstr "" + +#: editor/editor_node.cpp +msgid "Export..." +msgstr "" + +#: editor/editor_node.cpp +msgid "Install Android Build Template..." +msgstr "" + +#: editor/editor_node.cpp +msgid "Open User Data Folder" +msgstr "" + +#: editor/editor_node.cpp editor/editor_settings.cpp +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tools" +msgstr "" + +#: editor/editor_node.cpp +msgid "Orphan Resource Explorer..." +msgstr "" + +#: editor/editor_node.cpp +msgid "Reload Current Project" +msgstr "" + +#: editor/editor_node.cpp +msgid "Quit to Project List" +msgstr "" + +#: editor/editor_node.cpp +msgid "Deploy with Remote Debug" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, using one-click deploy will make the executable " +"attempt to connect to this computer's IP so the running project can be " +"debugged.\n" +"This option is intended to be used for remote debugging (typically with a " +"mobile device).\n" +"You don't need to enable it to use the GDScript debugger locally." +msgstr "" + +#: editor/editor_node.cpp +msgid "Small Deploy with Network Filesystem" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, using one-click deploy for Android will only " +"export an executable without the project data.\n" +"The filesystem will be provided from the project by the editor over the " +"network.\n" +"On Android, deploying will use the USB cable for faster performance. This " +"option speeds up testing for projects with large assets." +msgstr "" + +#: editor/editor_node.cpp +msgid "Visible Collision Shapes" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, collision shapes and raycast nodes (for 2D and " +"3D) will be visible in the running project." +msgstr "" + +#: editor/editor_node.cpp +msgid "Visible Navigation" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, navigation meshes and polygons will be visible " +"in the running project." +msgstr "" + +#: editor/editor_node.cpp +msgid "Force Shader Fallbacks" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, shaders will be used in their fallback form " +"(either visible via an ubershader or hidden) during all the run time.\n" +"This is useful for verifying the look and performance of fallbacks, which " +"are normally displayed briefly.\n" +"Asynchronous shader compilation must be enabled in the project settings for " +"this option to make a difference." +msgstr "" + +#: editor/editor_node.cpp +msgid "Synchronize Scene Changes" +msgstr "" + +#: editor/editor_node.cpp +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 "" + +#: editor/editor_node.cpp +msgid "Synchronize Script Changes" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, any script that is saved will be reloaded in " +"the running project.\n" +"When used remotely on a device, this is more efficient when the network " +"filesystem option is enabled." +msgstr "" + +#: editor/editor_node.cpp +msgid "Editor Settings..." +msgstr "" + +#: editor/editor_node.cpp +msgid "Editor Layout" +msgstr "" + +#: editor/editor_node.cpp +msgid "Take Screenshot" +msgstr "" + +#: editor/editor_node.cpp +msgid "Screenshots are stored in the Editor Data/Settings Folder." +msgstr "" + +#: editor/editor_node.cpp +msgid "Toggle Fullscreen" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Editor Data/Settings Folder" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Editor Data Folder" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Editor Settings Folder" +msgstr "" + +#: editor/editor_node.cpp +msgid "Manage Editor Features..." +msgstr "" + +#: editor/editor_node.cpp +msgid "Manage Export Templates..." +msgstr "" + +#: editor/editor_node.cpp +msgid "Online Documentation" +msgstr "" + +#: editor/editor_node.cpp +msgid "Questions & Answers" +msgstr "" + +#: editor/editor_node.cpp +msgid "Report a Bug" +msgstr "" + +#: editor/editor_node.cpp +msgid "Suggest a Feature" +msgstr "" + +#: editor/editor_node.cpp +msgid "Send Docs Feedback" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp +msgid "Community" +msgstr "" + +#: editor/editor_node.cpp +msgid "About Godot" +msgstr "" + +#: editor/editor_node.cpp +msgid "Support Godot Development" +msgstr "" + +#: editor/editor_node.cpp +msgid "Play the project." +msgstr "" + +#: editor/editor_node.cpp +msgid "Play" +msgstr "" + +#: editor/editor_node.cpp +msgid "Pause the scene execution for debugging." +msgstr "" + +#: editor/editor_node.cpp +msgid "Pause Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Stop the scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "Play the edited scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "Play Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Play custom scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Play Custom Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Changing the video driver requires restarting the editor." +msgstr "" + +#: editor/editor_node.cpp editor/project_settings_editor.cpp +#: editor/settings_config_dialog.cpp +msgid "Save & Restart" +msgstr "" + +#: editor/editor_node.cpp +msgid "Update All Changes" +msgstr "" + +#: editor/editor_node.cpp +msgid "Update Vital Changes" +msgstr "" + +#: editor/editor_node.cpp +msgid "Hide Update Spinner" +msgstr "" + +#: editor/editor_node.cpp editor/editor_settings.cpp +#: editor/fileserver/editor_file_server.cpp +#: modules/fbx/editor_scene_importer_fbx.cpp +msgid "FileSystem" +msgstr "" + +#: editor/editor_node.cpp +msgid "Expand Bottom Panel" +msgstr "" + +#: editor/editor_node.cpp +msgid "Don't Save" +msgstr "" + +#: editor/editor_node.cpp +msgid "Android build template is missing, please install relevant templates." +msgstr "" + +#: editor/editor_node.cpp +msgid "Manage Templates" +msgstr "" + +#: editor/editor_node.cpp +msgid "Install from file" +msgstr "" + +#: editor/editor_node.cpp +msgid "Select android sources file" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This will set up your project for custom Android builds by installing the " +"source template to \"res://android/build\".\n" +"You can then apply modifications and build your own custom APK on export " +"(adding modules, changing the AndroidManifest.xml, etc.).\n" +"Note that in order to make custom builds instead of using pre-built APKs, " +"the \"Use Custom Build\" option should be enabled in the Android export " +"preset." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"The Android build template is already installed in this project and it won't " +"be overwritten.\n" +"Remove the \"res://android/build\" directory manually before attempting this " +"operation again." +msgstr "" + +#: editor/editor_node.cpp +msgid "Import Templates From ZIP File" +msgstr "" + +#: editor/editor_node.cpp +msgid "Template Package" +msgstr "" + +#: editor/editor_node.cpp modules/gltf/editor_scene_exporter_gltf_plugin.cpp +msgid "Export Library" +msgstr "" + +#: editor/editor_node.cpp +msgid "Merge With Existing" +msgstr "" + +#: editor/editor_node.cpp +msgid "Apply MeshInstance Transforms" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open & Run a Script" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"The following files are newer on disk.\n" +"What action should be taken?" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +#: editor/plugins/shader_editor_plugin.cpp +#: scene/resources/default_theme/default_theme.cpp +msgid "Reload" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +#: editor/plugins/shader_editor_plugin.cpp +msgid "Resave" +msgstr "" + +#: editor/editor_node.cpp +msgid "New Inherited" +msgstr "" + +#: editor/editor_node.cpp +msgid "Load Errors" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp +#: modules/visual_script/visual_script_nodes.cpp +msgid "Select" +msgstr "" + +#: editor/editor_node.cpp +msgid "Select Current" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open 2D Editor" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open 3D Editor" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Script Editor" +msgstr "" + +#: editor/editor_node.cpp editor/project_manager.cpp +msgid "Open Asset Library" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open the next Editor" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open the previous Editor" +msgstr "" + +#: editor/editor_node.h +msgid "Warning!" +msgstr "" + +#: editor/editor_path.cpp +msgid "No sub-resources found." +msgstr "" + +#: editor/editor_path.cpp +msgid "Open a list of sub-resources." +msgstr "" + +#: editor/editor_plugin.cpp +msgid "Creating Mesh Previews" +msgstr "" + +#: editor/editor_plugin.cpp +msgid "Thumbnail..." +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Main Script:" +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Edit Plugin" +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Installed Plugins:" +msgstr "" + +#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp +#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp +msgid "Update" +msgstr "" + +#: editor/editor_plugin_settings.cpp platform/android/export/export_plugin.cpp +#: platform/iphone/export/export.cpp platform/osx/export/export.cpp +#: platform/uwp/export/export.cpp +msgid "Version" +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Author" +msgstr "" + +#: editor/editor_plugin_settings.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Status" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Measure:" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Frame Time (ms)" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Average Time (ms)" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Frame %" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Physics Frame %" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Inclusive" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Self" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "" +"Inclusive: Includes time from other functions called by this function.\n" +"Use this to spot bottlenecks.\n" +"\n" +"Self: Only count the time spent in the function itself, not in other " +"functions called by that function.\n" +"Use this to find individual functions to optimize." +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Frame #:" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + +#: editor/editor_profiler.cpp editor/plugins/script_editor_plugin.cpp +#: editor/script_editor_debugger.cpp +msgid "Debugger" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Profiler Frame History Size" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Profiler Frame Max Functions" +msgstr "" + +#: editor/editor_properties.cpp +msgid "Edit Text:" +msgstr "" + +#: editor/editor_properties.cpp editor/script_create_dialog.cpp +#: scene/resources/default_theme/default_theme.cpp +msgid "On" +msgstr "" + +#: editor/editor_properties.cpp modules/gridmap/grid_map.cpp +#: scene/2d/collision_object_2d.cpp scene/2d/tile_map.cpp +#: scene/3d/collision_object.cpp scene/3d/soft_body.cpp +#: scene/main/canvas_layer.cpp +msgid "Layer" +msgstr "" + +#: editor/editor_properties.cpp +msgid "Bit %d, value %d" +msgstr "" + +#: editor/editor_properties.cpp +msgid "[Empty]" +msgstr "" + +#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp +msgid "Assign..." +msgstr "" + +#: editor/editor_properties.cpp +msgid "Invalid RID" +msgstr "" + +#: editor/editor_properties.cpp +msgid "" +"Can't create a ViewportTexture on resources saved as a file.\n" +"Resource needs to belong to a scene." +msgstr "" + +#: editor/editor_properties.cpp +msgid "" +"Can't create a ViewportTexture on this resource because it's not set as " +"local to scene.\n" +"Please switch on the 'local to scene' property on it (and all resources " +"containing it up to a node)." +msgstr "" + +#: editor/editor_properties.cpp editor/property_editor.cpp +msgid "Pick a Viewport" +msgstr "" + +#: editor/editor_properties.cpp editor/property_editor.cpp +msgid "Selected node is not a Viewport!" +msgstr "" + +#: editor/editor_properties_array_dict.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "" + +#: editor/editor_properties_array_dict.cpp +msgid "Page:" +msgstr "" + +#: editor/editor_properties_array_dict.cpp +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove Item" +msgstr "" + +#: editor/editor_properties_array_dict.cpp +msgid "New Key:" +msgstr "" + +#: editor/editor_properties_array_dict.cpp +msgid "New Value:" +msgstr "" + +#: editor/editor_properties_array_dict.cpp +msgid "Add Key/Value Pair" +msgstr "" + +#: editor/editor_resource_picker.cpp +msgid "" +"The selected resource (%s) does not match any type expected for this " +"property (%s)." +msgstr "" + +#: editor/editor_resource_picker.cpp +msgid "Quick Load" +msgstr "" + +#: editor/editor_resource_picker.cpp editor/property_editor.cpp +msgid "Make Unique" +msgstr "" + +#: editor/editor_resource_picker.cpp +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/animation_state_machine_editor.cpp +#: editor/plugins/resource_preloader_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/property_editor.cpp +#: editor/scene_tree_dock.cpp scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Paste" +msgstr "" + +#: editor/editor_resource_picker.cpp editor/property_editor.cpp +msgid "Convert to %s" +msgstr "" + +#: editor/editor_resource_picker.cpp editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/editor_resource_picker.cpp editor/plugins/theme_editor_plugin.cpp +#: modules/visual_script/visual_script_flow_control.cpp +#: modules/visual_script/visual_script_func_nodes.cpp +#: modules/visual_script/visual_script_nodes.cpp +#: modules/visual_script/visual_script_yield_nodes.cpp +msgid "Base Type" +msgstr "" + +#: editor/editor_resource_picker.cpp +msgid "Edited Resource" +msgstr "" + +#: editor/editor_resource_picker.cpp scene/gui/line_edit.cpp +#: scene/gui/slider.cpp scene/gui/spin_box.cpp +msgid "Editable" +msgstr "" + +#: editor/editor_resource_picker.cpp editor/property_editor.cpp +msgid "New Script" +msgstr "" + +#: editor/editor_resource_picker.cpp editor/scene_tree_dock.cpp +msgid "Extend Script" +msgstr "" + +#: editor/editor_resource_picker.cpp +msgid "Script Owner" +msgstr "" + +#: editor/editor_run_native.cpp +msgid "" +"No runnable export preset found for this platform.\n" +"Please add a runnable preset in the Export menu or define an existing preset " +"as runnable." +msgstr "" + +#: editor/editor_run_native.cpp +msgid "Project Run" +msgstr "" + +#: editor/editor_run_script.cpp +msgid "Write your logic in the _run() method." +msgstr "" + +#: editor/editor_run_script.cpp +msgid "There is an edited scene already." +msgstr "" + +#: editor/editor_run_script.cpp +msgid "Couldn't instance script:" +msgstr "" + +#: editor/editor_run_script.cpp +msgid "Did you forget the 'tool' keyword?" +msgstr "" + +#: editor/editor_run_script.cpp +msgid "Couldn't run script:" +msgstr "" + +#: editor/editor_run_script.cpp +msgid "Did you forget the '_run' method?" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Editor Language" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Display Scale" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Custom Display Scale" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Main Font Size" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Code Font Size" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Font Antialiased" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Font Hinting" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Main Font" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Main Font Bold" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Code Font" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Dim Editor On Dialog Popup" +msgstr "" + +#: editor/editor_settings.cpp main/main.cpp +msgid "Low Processor Mode Sleep (µsec)" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Unfocused Low Processor Mode Sleep (µsec)" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Separate Distraction Mode" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Automatically Open Screenshots" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Max Array Dictionary Items Per Page" +msgstr "" + +#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp +#: editor/plugins/theme_editor_plugin.cpp scene/gui/control.cpp +#: scene/register_scene_types.cpp +msgid "Theme" +msgstr "" + +#: editor/editor_settings.cpp editor/import_dock.cpp +msgid "Preset" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Icon And Font Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Base Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Accent Color" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/environment.cpp +msgid "Contrast" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Relationship Line Opacity" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Highlight Tabs" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Border Size" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Use Graph Node Headers" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Additional Spacing" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Custom Theme" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Show Script Button" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Directories" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Autoscan Project Path" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Default Project Path" +msgstr "" + +#: editor/editor_settings.cpp +msgid "On Save" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Compress Binary Resources" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Safe Save On Backup Then Rename" +msgstr "" + +#: editor/editor_settings.cpp +msgid "File Dialog" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Thumbnail Size" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Docks" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Scene Tree" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Start Create Dialog Fully Expanded" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Always Show Folders" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Property Editor" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Auto Refresh Interval" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Subresource Hue Tint" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Color Theme" +msgstr "" + +#: editor/editor_settings.cpp scene/3d/label_3d.cpp +#: scene/resources/default_theme/default_theme.cpp +msgid "Line Spacing" +msgstr "" + +#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp +#: modules/gdscript/editor/gdscript_highlighter.cpp +msgid "Highlighting" +msgstr "" + +#: editor/editor_settings.cpp scene/gui/text_edit.cpp +msgid "Syntax Highlighting" +msgstr "" + +#: editor/editor_settings.cpp scene/gui/text_edit.cpp +msgid "Highlight All Occurrences" +msgstr "" + +#: editor/editor_settings.cpp scene/gui/text_edit.cpp +msgid "Highlight Current Line" +msgstr "" + +#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp +msgid "Highlight Type Safe Lines" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Indent" +msgstr "" + +#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp +msgid "Auto Indent" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Convert Indent On Save" +msgstr "" + +#: editor/editor_settings.cpp scene/gui/text_edit.cpp +msgid "Draw Tabs" +msgstr "" + +#: editor/editor_settings.cpp scene/gui/text_edit.cpp +msgid "Draw Spaces" +msgstr "" + +#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp +#: scene/main/scene_tree.cpp scene/resources/world.cpp +#: scene/resources/world_2d.cpp +msgid "Navigation" +msgstr "" + +#: editor/editor_settings.cpp scene/gui/text_edit.cpp +msgid "Smooth Scrolling" +msgstr "" + +#: editor/editor_settings.cpp scene/gui/text_edit.cpp +msgid "V Scroll Speed" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Show Minimap" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Minimap Width" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Mouse Extra Buttons Navigate History" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Drag And Drop Selection" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Stay In Script Editor On Node Selected" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Appearance" +msgstr "" + +#: editor/editor_settings.cpp scene/gui/text_edit.cpp +msgid "Show Line Numbers" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Line Numbers Zero Padded" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Show Bookmark Gutter" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Show Breakpoint Gutter" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Show Info Gutter" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Code Folding" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Word Wrap" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Show Line Length Guidelines" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Line Length Guideline Soft Column" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Line Length Guideline Hard Column" +msgstr "" + +#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp +msgid "Script List" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Show Members Overview" +msgstr "" + +#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp +msgid "Files" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Trim Trailing Whitespace On Save" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Autosave Interval Secs" +msgstr "" + +#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp +msgid "Restore Scripts On Load" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Auto Reload And Parse Scripts On Save" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Auto Reload Scripts On External Change" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Create Signal Callbacks" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Sort Members Outline Alphabetically" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Cursor" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Scroll Past End Of File" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Block Caret" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Caret Blink" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Caret Blink Speed" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Right Click Moves Caret" +msgstr "" + +#: editor/editor_settings.cpp modules/gdscript/gdscript.cpp +#: modules/gdscript/gdscript_editor.cpp +#: scene/resources/default_theme/default_theme.cpp +msgid "Completion" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Idle Parse Delay" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Auto Brace Complete" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Code Complete Delay" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Put Callhint Tooltip Below Current Line" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Callhint Tooltip Offset" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Complete File Paths" +msgstr "" + +#: editor/editor_settings.cpp modules/gdscript/gdscript_editor.cpp +msgid "Add Type Hints" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Use Single Quotes" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Show Help Index" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Help Font Size" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Help Source Font Size" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Help Title Font Size" +msgstr "" + +#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp +msgid "Grid Map" +msgstr "" + +#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp +msgid "Pick Distance" +msgstr "" + +#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp +msgid "Preview Size" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Primary Grid Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Secondary Grid Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Selection Box Color" +msgstr "" + +#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp +#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp +msgid "3D Gizmos" +msgstr "" + +#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp +#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp +msgid "Gizmo Colors" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Instanced" +msgstr "" + +#: editor/editor_settings.cpp modules/gltf/gltf_node.cpp +#: scene/3d/physics_body.cpp +msgid "Joint" +msgstr "" + +#: editor/editor_settings.cpp scene/2d/collision_shape_2d.cpp +#: scene/2d/cpu_particles_2d.cpp scene/2d/touch_screen_button.cpp +#: scene/3d/collision_shape.cpp scene/3d/cpu_particles.cpp +#: scene/3d/occluder.cpp scene/3d/spring_arm.cpp +#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp +#: servers/physics_server.cpp +msgid "Shape" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Primary Grid Steps" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Grid Size" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Grid Division Level Max" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Grid Division Level Min" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Grid Division Level Bias" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Grid XZ Plane" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Grid XY Plane" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Grid YZ Plane" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Default FOV" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Default Z Near" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Default Z Far" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Lightmap Baking Number Of CPU Threads" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Navigation Scheme" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Invert Y Axis" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Invert X Axis" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Zoom Style" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Emulate Numpad" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Emulate 3 Button Mouse" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Orbit Modifier" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Pan Modifier" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Zoom Modifier" +msgstr "" + +#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp +msgid "Warped Mouse Panning" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Navigation Feel" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Orbit Sensitivity" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Orbit Inertia" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Translation Inertia" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Zoom Inertia" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Freelook" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Freelook Navigation Scheme" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Freelook Sensitivity" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Freelook Inertia" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Freelook Base Speed" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Freelook Activation Modifier" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Freelook Speed Zoom Link" +msgstr "" + +#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp +msgid "Grid Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Guides Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Smart Snapping Line Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Bone Width" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Bone Color 1" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Bone Color 2" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Bone Selected Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Bone IK Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Bone Outline Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Bone Outline Size" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Viewport Border Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Constrain Editor View" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Simple Panning" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Scroll To Pan" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Pan Speed" +msgstr "" + +#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Poly Editor" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Point Grab Radius" +msgstr "" + +#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Show Previous Outline" +msgstr "" + +#: editor/editor_settings.cpp editor/scene_tree_dock.cpp +msgid "Autorename Animation Tracks" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Default Create Bezier Tracks" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Default Create Reset Tracks" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Onion Layers Past Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Onion Layers Future Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Visual Editors" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Minimap Opacity" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Window Placement" +msgstr "" + +#: editor/editor_settings.cpp scene/2d/back_buffer_copy.cpp scene/2d/sprite.cpp +#: scene/2d/visibility_notifier_2d.cpp scene/3d/sprite_3d.cpp +#: scene/gui/control.cpp +msgid "Rect" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Rect Custom Position" +msgstr "" + +#: editor/editor_settings.cpp platform/android/export/export_plugin.cpp +msgid "Screen" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Auto Save" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Save Before Running" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Font Size" +msgstr "" + +#: editor/editor_settings.cpp +#: modules/gdscript/language_server/gdscript_language_server.cpp +msgid "Remote Host" +msgstr "" + +#: editor/editor_settings.cpp +#: modules/gdscript/language_server/gdscript_language_server.cpp +msgid "Remote Port" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Editor SSL Certificates" +msgstr "" + +#: editor/editor_settings.cpp +msgid "HTTP Proxy" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Host" +msgstr "" + +#: editor/editor_settings.cpp editor/fileserver/editor_file_server.cpp +#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp +#: scene/resources/default_theme/default_theme.cpp +msgid "Port" +msgstr "" + +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. +#: editor/editor_settings.cpp +msgid "Project Manager" +msgstr "" + +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. +#: editor/editor_settings.cpp +msgid "Sorting Order" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Symbol Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Keyword Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Control Flow Keyword Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Base Type Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Engine Type Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "User Type Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Comment Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "String Color" +msgstr "" + +#: editor/editor_settings.cpp platform/javascript/export/export.cpp +#: platform/uwp/export/export.cpp +#: scene/resources/default_theme/default_theme.cpp +msgid "Background Color" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Completion Background Color" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Completion Selected Color" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Completion Existing Color" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Completion Scroll Color" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Completion Font Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Text Color" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Line Number Color" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Safe Line Number Color" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Caret Color" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Caret Background Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Text Selected Color" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Selection Color" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Brace Mismatch Color" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Current Line Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Line Length Guideline Color" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Word Highlighted Color" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Number Color" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Function Color" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Member Variable Color" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Mark Color" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Bookmark Color" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Breakpoint Color" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Executing Line Color" +msgstr "" + +#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +msgid "Code Folding Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Search Result Color" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Search Result Border Color" +msgstr "" + +#: editor/editor_spin_slider.cpp +msgid "Hold %s to round to integers. Hold Shift for more precise changes." +msgstr "" + +#: editor/editor_spin_slider.cpp scene/gui/button.cpp +msgid "Flat" +msgstr "" + +#: editor/editor_spin_slider.cpp +msgid "Hide Slider" +msgstr "" + +#: editor/editor_sub_scene.cpp +msgid "Select Node(s) to Import" +msgstr "" + +#: editor/editor_sub_scene.cpp editor/project_manager.cpp +msgid "Browse" +msgstr "" + +#: editor/editor_sub_scene.cpp +msgid "Scene Path:" +msgstr "" + +#: editor/editor_sub_scene.cpp +msgid "Import From Node:" +msgstr "" + +#. TRANSLATORS: %s refers to the name of a version control system (e.g. "Git"). +#: editor/editor_vcs_interface.cpp +msgid "%s Error" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Open the folder containing these templates." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Uninstall these templates." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "There are no mirrors available." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Retrieving the mirror list..." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Starting the download..." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Error requesting URL:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Connecting to the mirror..." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Can't resolve the requested address." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Can't connect to the mirror." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "No response from the mirror." +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Request failed." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Request ended up in a redirect loop." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Request failed:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Download complete; extracting templates..." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Cannot remove temporary file:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "" +"Templates installation failed.\n" +"The problematic templates archives can be found at '%s'." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Error getting the list of mirrors." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Error parsing JSON with the list of mirrors. Please report this issue!" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Best available mirror" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "" +"No download links found for this version. Direct download is only available " +"for official releases." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Disconnected" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Resolving" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Can't Resolve" +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Connecting..." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Can't Connect" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Connected" +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Requesting..." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Downloading" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Connection Error" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "SSL Handshake Error" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Can't open the export templates file." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Invalid version.txt format inside the export templates file: %s." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "No version.txt found inside the export templates file." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Error creating path for extracting templates:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Extracting Export Templates" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Importing:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Remove templates for the version '%s'?" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Uncompressing Android Build Sources" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Export Template Manager" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Current Version:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Export templates are missing. Download them or install from a file." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Export templates are installed and ready to be used." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Open Folder" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Open the folder containing installed templates for the current version." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Uninstall" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Uninstall templates for the current version." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Download from:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Open in Web Browser" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Copy Mirror URL" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Download and Install" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "" +"Download and install templates for the current version from the best " +"possible mirror." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Official export templates aren't available for development builds." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Install from File" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Install templates from a local file." +msgstr "" + +#: editor/export_template_manager.cpp editor/find_in_files.cpp +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Cancel the download of the templates." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Other Installed Versions:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Uninstall Template" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Select Template File" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Godot Export Templates" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "" +"The templates will continue to download.\n" +"You may experience a short editor freeze when they finish." +msgstr "" + +#: editor/fileserver/editor_file_server.cpp +msgid "File Server" +msgstr "" + +#: editor/fileserver/editor_file_server.cpp +#: editor/plugins/version_control_editor_plugin.cpp +#: platform/uwp/export/export.cpp platform/windows/export/export.cpp +msgid "Password" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Favorites" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Status: Import of file failed. Please fix file and reimport manually." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "" +"Importing has been disabled for this file, so it can't be opened for editing." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Cannot move/rename resources root." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Cannot move a folder into itself." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Error moving:" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Error duplicating:" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Unable to update dependencies:" +msgstr "" + +#: editor/filesystem_dock.cpp editor/scene_tree_editor.cpp +msgid "No name provided." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Provided name contains invalid characters." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "A file or folder with this name already exists." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Name contains invalid characters." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "" +"This file extension is not recognized by the editor.\n" +"If you want to rename it anyway, use your operating system's file manager.\n" +"After renaming to an unknown extension, the file won't be shown in the " +"editor anymore." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "" +"The following files or folders conflict with items in the target location " +"'%s':\n" +"\n" +"%s\n" +"\n" +"Do you wish to overwrite them?" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Renaming file:" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Renaming folder:" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Duplicating file:" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Duplicating folder:" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "New Inherited Scene" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Set As Main Scene" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Open Scenes" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Instance" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Add to Favorites" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Remove from Favorites" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Edit Dependencies..." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "View Owners..." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Move To..." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "New Scene..." +msgstr "" + +#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp +msgid "New Script..." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "New Resource..." +msgstr "" + +#: editor/filesystem_dock.cpp editor/inspector_dock.cpp +#: editor/plugins/visual_shader_editor_plugin.cpp +#: editor/script_editor_debugger.cpp +msgid "Expand All" +msgstr "" + +#: editor/filesystem_dock.cpp editor/inspector_dock.cpp +#: editor/plugins/visual_shader_editor_plugin.cpp +#: editor/script_editor_debugger.cpp +msgid "Collapse All" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Sort files" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Sort by Name (Ascending)" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Sort by Name (Descending)" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Sort by Type (Ascending)" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Sort by Type (Descending)" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Sort by Last Modified" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Sort by First Modified" +msgstr "" + +#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Duplicate..." +msgstr "" + +#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Rename..." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Focus the search box" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Previous Folder/File" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Next Folder/File" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Re-Scan Filesystem" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Toggle Split Mode" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Search files" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "" +"Scanning Files,\n" +"Please Wait..." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Move" +msgstr "" + +#: editor/filesystem_dock.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/project_manager.cpp editor/rename_dialog.cpp +#: editor/scene_tree_dock.cpp +msgid "Rename" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Overwrite" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Create Scene" +msgstr "" + +#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp +msgid "Create Script" +msgstr "" + +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +msgid "Find in Files" +msgstr "" + +#: editor/find_in_files.cpp +msgid "Find:" +msgstr "" + +#: editor/find_in_files.cpp editor/rename_dialog.cpp +msgid "Replace:" +msgstr "" + +#: editor/find_in_files.cpp +msgid "Folder:" +msgstr "" + +#: editor/find_in_files.cpp +msgid "Filters:" +msgstr "" + +#: editor/find_in_files.cpp +msgid "" +"Include the files with the following extensions. Add or remove them in " +"ProjectSettings." +msgstr "" + +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp +msgid "Find..." +msgstr "" + +#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp +msgid "Replace..." +msgstr "" + +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +msgid "Replace in Files" +msgstr "" + +#: editor/find_in_files.cpp +msgid "Replace All (NO UNDO)" +msgstr "" + +#: editor/find_in_files.cpp +msgid "Searching..." +msgstr "" + +#: editor/find_in_files.cpp +msgid "%d match in %d file." +msgstr "" + +#: editor/find_in_files.cpp +msgid "%d matches in %d file." +msgstr "" + +#: editor/find_in_files.cpp +msgid "%d matches in %d files." +msgstr "" + +#: editor/groups_editor.cpp +msgid "Add to Group" +msgstr "" + +#: editor/groups_editor.cpp +msgid "Remove from Group" +msgstr "" + +#: editor/groups_editor.cpp +msgid "Group name already exists." +msgstr "" + +#: editor/groups_editor.cpp +msgid "Invalid group name." +msgstr "" + +#: editor/groups_editor.cpp +msgid "Rename Group" +msgstr "" + +#: editor/groups_editor.cpp +msgid "Delete Group" +msgstr "" + +#: editor/groups_editor.cpp editor/node_dock.cpp +msgid "Groups" +msgstr "" + +#: editor/groups_editor.cpp +msgid "Nodes Not in Group" +msgstr "" + +#: editor/groups_editor.cpp editor/scene_tree_dock.cpp +#: editor/scene_tree_editor.cpp +msgid "Filter nodes" +msgstr "" + +#: editor/groups_editor.cpp +msgid "Nodes in Group" +msgstr "" + +#: editor/groups_editor.cpp +msgid "Empty groups will be automatically removed." +msgstr "" + +#: editor/groups_editor.cpp +msgid "Group Editor" +msgstr "" + +#: editor/groups_editor.cpp +msgid "Manage Groups" +msgstr "" + +#: editor/import/editor_import_collada.cpp +msgid "Collada" +msgstr "" + +#: editor/import/editor_import_collada.cpp +msgid "Use Ambient" +msgstr "" + +#: editor/import/resource_importer_bitmask.cpp +msgid "Create From" +msgstr "" + +#: editor/import/resource_importer_bitmask.cpp +#: servers/audio/effects/audio_effect_compressor.cpp +msgid "Threshold" +msgstr "" + +#: editor/import/resource_importer_csv_translation.cpp +#: editor/import/resource_importer_layered_texture.cpp +#: editor/import/resource_importer_scene.cpp +#: editor/import/resource_importer_texture.cpp +#: editor/import/resource_importer_wav.cpp scene/3d/gi_probe.cpp +msgid "Compress" +msgstr "" + +#: editor/import/resource_importer_csv_translation.cpp +msgid "Delimiter" +msgstr "" + +#: editor/import/resource_importer_layered_texture.cpp +msgid "ColorCorrect" +msgstr "" + +#: editor/import/resource_importer_layered_texture.cpp +msgid "No BPTC If RGB" +msgstr "" + +#: editor/import/resource_importer_layered_texture.cpp +#: editor/import/resource_importer_texture.cpp scene/2d/cpu_particles_2d.cpp +#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp +#: scene/resources/material.cpp scene/resources/particles_material.cpp +#: scene/resources/texture.cpp scene/resources/visual_shader.cpp +msgid "Flags" +msgstr "" + +#: editor/import/resource_importer_layered_texture.cpp +#: editor/import/resource_importer_texture.cpp scene/animation/tween.cpp +#: scene/resources/texture.cpp +msgid "Repeat" +msgstr "" + +#: editor/import/resource_importer_layered_texture.cpp +#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp +#: scene/gui/control.cpp +msgid "Filter" +msgstr "" + +#: editor/import/resource_importer_layered_texture.cpp +#: editor/import/resource_importer_texture.cpp +msgid "Mipmaps" +msgstr "" + +#: editor/import/resource_importer_layered_texture.cpp +#: editor/import/resource_importer_texture.cpp +msgid "Anisotropic" +msgstr "" + +#: editor/import/resource_importer_layered_texture.cpp +#: editor/import/resource_importer_texture.cpp +msgid "sRGB" +msgstr "" + +#: editor/import/resource_importer_layered_texture.cpp +msgid "Slices" +msgstr "" + +#: editor/import/resource_importer_layered_texture.cpp +#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp +#: scene/gui/nine_patch_rect.cpp scene/gui/scroll_container.cpp +#: scene/resources/style_box.cpp +msgid "Horizontal" +msgstr "" + +#: editor/import/resource_importer_layered_texture.cpp +#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp +#: scene/gui/nine_patch_rect.cpp scene/gui/scroll_container.cpp +#: scene/resources/style_box.cpp +msgid "Vertical" +msgstr "" + +#: editor/import/resource_importer_obj.cpp +msgid "Generate Tangents" +msgstr "" + +#: editor/import/resource_importer_obj.cpp +msgid "Scale Mesh" +msgstr "" + +#: editor/import/resource_importer_obj.cpp +msgid "Offset Mesh" +msgstr "" + +#: editor/import/resource_importer_obj.cpp +#: editor/import/resource_importer_scene.cpp +msgid "Octahedral Compression" +msgstr "" + +#: editor/import/resource_importer_obj.cpp +msgid "Optimize Mesh Flags" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import as Single Scene" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Animations" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Materials" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Objects" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Objects+Materials" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Objects+Animations" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Materials+Animations" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Objects+Materials+Animations" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import as Multiple Scenes" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import as Multiple Scenes+Materials" +msgstr "" + +#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp +#: scene/3d/physics_joint.cpp +msgid "Nodes" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Root Type" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Root Name" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Root Scale" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Custom Script" +msgstr "" + +#: editor/import/resource_importer_scene.cpp scene/resources/texture.cpp +msgid "Storage" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Use Legacy Names" +msgstr "" + +#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp +msgid "Materials" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Keep On Reimport" +msgstr "" + +#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp +msgid "Meshes" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Ensure Tangents" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Light Baking" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Lightmap Texel Size" +msgstr "" + +#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp +msgid "Skins" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Use Named Skins" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "External Files" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Store In Subdir" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Filter Script" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Keep Custom Tracks" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Optimizer" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +#: editor/plugins/item_list_editor_plugin.cpp main/main.cpp +#: modules/mono/mono_gd/gd_mono.cpp platform/javascript/export/export.cpp +#: platform/osx/export/export.cpp scene/2d/camera_2d.cpp scene/2d/light_2d.cpp +#: scene/2d/navigation_polygon.cpp scene/2d/ray_cast_2d.cpp scene/2d/sprite.cpp +#: scene/2d/y_sort.cpp scene/3d/audio_stream_player_3d.cpp +#: scene/3d/baked_lightmap.cpp scene/3d/interpolated_camera.cpp +#: scene/3d/light.cpp scene/3d/navigation_mesh_instance.cpp +#: scene/3d/physics_joint.cpp scene/3d/ray_cast.cpp scene/3d/skeleton.cpp +#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp +#: scene/gui/rich_text_label.cpp scene/resources/curve.cpp +#: scene/resources/environment.cpp scene/resources/material.cpp +msgid "Enabled" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Max Linear Error" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Max Angular Error" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Max Angle" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Remove Unused Tracks" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Clips" +msgstr "" + +#: editor/import/resource_importer_scene.cpp scene/2d/cpu_particles_2d.cpp +#: scene/2d/particles_2d.cpp scene/3d/area.cpp scene/3d/cpu_particles.cpp +#: scene/3d/particles.cpp scene/resources/environment.cpp +msgid "Amount" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +#: editor/plugins/mesh_library_editor_plugin.cpp +msgid "Import Scene" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Importing Scene..." +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh:" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Running Custom Script..." +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Couldn't load post-import script:" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Invalid/broken script for post-import (check console):" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Error running post-import script:" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Saving..." +msgstr "" + +#: editor/import/resource_importer_texture.cpp +msgid "" +"%s: Texture detected as used as a normal map in 3D. Enabling red-green " +"texture compression to reduce memory usage (blue channel is discarded)." +msgstr "" + +#: editor/import/resource_importer_texture.cpp +msgid "" +"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap " +"generation and VRAM texture compression." +msgstr "" + +#: editor/import/resource_importer_texture.cpp +msgid "2D, Detect 3D" +msgstr "" + +#: editor/import/resource_importer_texture.cpp +msgid "2D Pixel" +msgstr "" + +#: editor/import/resource_importer_texture.cpp scene/resources/texture.cpp +msgid "Lossy Quality" +msgstr "" + +#: editor/import/resource_importer_texture.cpp +msgid "HDR Mode" +msgstr "" + +#: editor/import/resource_importer_texture.cpp +msgid "BPTC LDR" +msgstr "" + +#: editor/import/resource_importer_texture.cpp +#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp +#: scene/2d/mesh_instance_2d.cpp scene/2d/multimesh_instance_2d.cpp +#: scene/2d/particles_2d.cpp scene/2d/sprite.cpp scene/resources/style_box.cpp +msgid "Normal Map" +msgstr "" + +#: editor/import/resource_importer_texture.cpp +msgid "Process" +msgstr "" + +#: editor/import/resource_importer_texture.cpp +msgid "Fix Alpha Border" +msgstr "" + +#: editor/import/resource_importer_texture.cpp +msgid "Premult Alpha" +msgstr "" + +#: editor/import/resource_importer_texture.cpp +msgid "Hdr As Srgb" +msgstr "" + +#: editor/import/resource_importer_texture.cpp +msgid "Invert Color" +msgstr "" + +#: editor/import/resource_importer_texture.cpp +msgid "Normal Map Invert Y" +msgstr "" + +#: editor/import/resource_importer_texture.cpp +msgid "Size Limit" +msgstr "" + +#: editor/import/resource_importer_texture.cpp +msgid "Detect 3D" +msgstr "" + +#: editor/import/resource_importer_texture.cpp +msgid "SVG" +msgstr "" + +#: editor/import/resource_importer_texture.cpp +msgid "" +"Warning, no suitable PC VRAM compression enabled in Project Settings. This " +"texture will not display correctly on PC." +msgstr "" + +#: editor/import/resource_importer_texture_atlas.cpp +msgid "Atlas File" +msgstr "" + +#: editor/import/resource_importer_texture_atlas.cpp +msgid "Import Mode" +msgstr "" + +#: editor/import/resource_importer_texture_atlas.cpp +msgid "Crop To Region" +msgstr "" + +#: editor/import/resource_importer_texture_atlas.cpp +msgid "Trim Alpha Border From Region" +msgstr "" + +#: editor/import/resource_importer_wav.cpp scene/2d/physics_body_2d.cpp +msgid "Force" +msgstr "" + +#: editor/import/resource_importer_wav.cpp +msgid "8 Bit" +msgstr "" + +#: editor/import/resource_importer_wav.cpp main/main.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp +msgid "Mono" +msgstr "" + +#: editor/import/resource_importer_wav.cpp +msgid "Max Rate" +msgstr "" + +#: editor/import/resource_importer_wav.cpp +msgid "Max Rate Hz" +msgstr "" + +#: editor/import/resource_importer_wav.cpp +msgid "Trim" +msgstr "" + +#: editor/import/resource_importer_wav.cpp +msgid "Normalize" +msgstr "" + +#: editor/import/resource_importer_wav.cpp +#: scene/resources/audio_stream_sample.cpp +msgid "Loop Mode" +msgstr "" + +#: editor/import/resource_importer_wav.cpp +#: scene/resources/audio_stream_sample.cpp +msgid "Loop Begin" +msgstr "" + +#: editor/import/resource_importer_wav.cpp +#: scene/resources/audio_stream_sample.cpp +msgid "Loop End" +msgstr "" + +#: editor/import_defaults_editor.cpp +msgid "Select Importer" +msgstr "" + +#: editor/import_defaults_editor.cpp +msgid "Importer:" +msgstr "" + +#: editor/import_defaults_editor.cpp +msgid "Reset to Defaults" +msgstr "" + +#: editor/import_dock.cpp +msgid "Keep File (No Import)" +msgstr "" + +#: editor/import_dock.cpp +msgid "%d Files" +msgstr "" + +#: editor/import_dock.cpp +msgid "Set as Default for '%s'" +msgstr "" + +#: editor/import_dock.cpp +msgid "Clear Default for '%s'" +msgstr "" + +#: editor/import_dock.cpp +msgid "Reimport" +msgstr "" + +#: editor/import_dock.cpp +msgid "" +"You have pending changes that haven't been applied yet. Click Reimport to " +"apply changes made to the import options.\n" +"Selecting another resource in the FileSystem dock without clicking Reimport " +"first will discard changes made in the Import dock." +msgstr "" + +#: editor/import_dock.cpp +msgid "Import As:" +msgstr "" + +#: editor/import_dock.cpp +msgid "Save Scenes, Re-Import, and Restart" +msgstr "" + +#: editor/import_dock.cpp +msgid "Changing the type of an imported file requires editor restart." +msgstr "" + +#: editor/import_dock.cpp +msgid "" +"WARNING: Assets exist that use this resource, they may stop loading properly." +msgstr "" + +#: editor/import_dock.cpp +msgid "" +"Select a resource file in the filesystem or in the inspector to adjust " +"import settings." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Failed to load resource." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Property Name Style" +msgstr "" + +#: editor/inspector_dock.cpp scene/gui/color_picker.cpp +msgid "Raw" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Capitalized" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Localized" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Localization not available for current language." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Copy Properties" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Paste Properties" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Make Sub-Resources Unique" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Create a new resource in memory and edit it." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Load an existing resource from disk and edit it." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Save the currently edited resource." +msgstr "" + +#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/theme_editor_plugin.cpp +msgid "Save As..." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Extra resource options." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Edit Resource from Clipboard" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Copy Resource" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Make Resource Built-In" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Go to the previous edited object in history." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Go to the next edited object in history." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "History of recently edited objects." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Open documentation for this object." +msgstr "" + +#: editor/inspector_dock.cpp editor/scene_tree_dock.cpp +msgid "Open Documentation" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Filter properties" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Manage object properties." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Changes may be lost!" +msgstr "" + +#: editor/multi_node_edit.cpp +msgid "MultiNode Set" +msgstr "" + +#: editor/node_dock.cpp +msgid "Select a single node to edit its signals and groups." +msgstr "" + +#: editor/plugin_config_dialog.cpp +msgid "Edit a Plugin" +msgstr "" + +#: editor/plugin_config_dialog.cpp +msgid "Create a Plugin" +msgstr "" + +#: editor/plugin_config_dialog.cpp +msgid "Plugin Name:" +msgstr "" + +#: editor/plugin_config_dialog.cpp +msgid "Subfolder:" +msgstr "" + +#: editor/plugin_config_dialog.cpp +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Author:" +msgstr "" + +#: editor/plugin_config_dialog.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Version:" +msgstr "" + +#: editor/plugin_config_dialog.cpp editor/script_create_dialog.cpp +msgid "Language:" +msgstr "" + +#: editor/plugin_config_dialog.cpp +msgid "Script Name:" +msgstr "" + +#: editor/plugin_config_dialog.cpp +msgid "Activate now?" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create Polygon" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Create points." +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "" +"Edit points.\n" +"LMB: Move Point\n" +"RMB: Erase Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Erase points." +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/animation_state_machine_editor.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Animation" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +#: editor/plugins/animation_state_machine_editor.cpp +#: editor/plugins/canvas_item_editor_plugin.cpp +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Add %s" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Load..." +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Move Node Point" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Change BlendSpace1D Limits" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Change BlendSpace1D Labels" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +#: editor/plugins/animation_state_machine_editor.cpp +msgid "This type of node can't be used. Only root nodes are allowed." +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Add Node Point" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Add Animation Point" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Remove BlendSpace1D Point" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Move BlendSpace1D Node Point" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/animation_state_machine_editor.cpp +msgid "" +"AnimationTree is inactive.\n" +"Activate to enable playback, check node warnings if activation fails." +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Set the blending position within the space" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Select and move points, create points with RMB." +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp scene/gui/graph_edit.cpp +msgid "Enable snap and show grid." +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Point" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Open Editor" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Open Animation Node" +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Triangle already exists." +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Add Triangle" +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Change BlendSpace2D Limits" +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Change BlendSpace2D Labels" +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Remove BlendSpace2D Point" +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Remove BlendSpace2D Triangle" +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "BlendSpace2D does not belong to an AnimationTree node." +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "No triangles exist, so no blending can take place." +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Toggle Auto Triangles" +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Create triangles by connecting points." +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Erase points and triangles." +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Generate blend triangles automatically (instead of manually)" +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Blend:" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Parameter Changed:" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Edit Filters" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Output node can't be added to the blend tree." +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Add Node to BlendTree" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Node Moved" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Unable to connect, port may be in use or connection may be invalid." +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Nodes Connected" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Nodes Disconnected" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Set Animation" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Delete Node" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Toggle Filter On/Off" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Change Filter" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "No animation player set, so unable to retrieve track names." +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Player path set is invalid, so unable to retrieve track names." +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/root_motion_editor_plugin.cpp +msgid "" +"Animation player has no valid root node path, so unable to retrieve track " +"names." +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Anim Clips" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Audio Clips" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Functions" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Node Renamed" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Add Node..." +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/root_motion_editor_plugin.cpp +msgid "Edit Filtered Tracks:" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Enable Filtering" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Toggle Autoplay" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "New Animation Name:" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "New Anim" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Create New Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Change Animation Name:" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Rename Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Delete Animation?" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Remove Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Invalid animation name!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation name already exists!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Duplicate Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Blend Next Changed" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Change Blend Time" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Load Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "No animation resource on clipboard!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Pasted Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Paste Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation backwards from current pos. (A)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation backwards from end. (Shift+A)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Stop animation playback. (S)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation from start. (Shift+D)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation from current pos. (D)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation position (in seconds)." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Scale animation playback globally for the node." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Tools" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/version_control_editor_plugin.cpp +msgid "New" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Paste As Reference" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Edit Transitions..." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Open in Inspector" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Display list of animations in player." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Autoplay on Load" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Enable Onion Skinning" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Onion Skinning Options" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Directions" +msgstr "" + +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Past" +msgstr "" + +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Future" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp modules/csg/csg_shape.cpp +#: scene/3d/collision_polygon.cpp scene/main/scene_tree.cpp +#: scene/resources/material.cpp scene/resources/primitive_meshes.cpp +#: servers/audio/effects/audio_effect_phaser.cpp +msgid "Depth" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "1 step" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "2 steps" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "3 steps" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Differences Only" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Force White Modulate" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Include Gizmos (3D)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Pin AnimationPlayer" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Name:" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/resource_preloader_editor_plugin.cpp +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp +msgid "Error!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Blend Times:" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Next (Auto Queue):" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Cross-Animation Blend Times" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Move Node" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Transition exists!" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Add Transition" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Node" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "End" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Immediate" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +#: scene/animation/animation_blend_tree.cpp +msgid "Sync" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "At End" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +#: scene/3d/vehicle_body.cpp +msgid "Travel" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Start and end nodes are needed for a sub-transition." +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "No playback resource set at path: %s." +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Node Removed" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Transition Removed" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Set Start Node (Autoplay)" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "" +"Select and move nodes.\n" +"RMB to add new nodes.\n" +"Shift+LMB to create connections." +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Create new nodes." +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Connect nodes." +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Remove selected node or transition." +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Toggle autoplay this animation on start, restart or seek to zero." +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Set the end animation. This is useful for sub-transitions." +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Transition:" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Play Mode:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "AnimationTree" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "New name:" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Fade In (s):" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Fade Out (s):" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: scene/resources/style_box.cpp scene/resources/visual_shader.cpp +msgid "Blend" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Auto Restart:" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Restart (s):" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Random Restart (s):" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Start!" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Amount:" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Blend 0:" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Blend 1:" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "X-Fade Time (s):" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/visual_shader_editor_plugin.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Input" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Clear Auto-Advance" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Set Auto-Advance" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Delete Input" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Animation tree is valid." +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Animation tree is invalid." +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Animation Node" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "OneShot Node" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Mix Node" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Blend2 Node" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Blend3 Node" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Blend4 Node" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "TimeScale Node" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "TimeSeek Node" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Transition Node" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Import Animations..." +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Edit Node Filters" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Filters..." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp scene/main/http_request.cpp +msgid "Use Threads" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Contents:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "View Files" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Download" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Connection error, please try again." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Can't connect." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Can't connect to host:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "No response from host:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "No response." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Can't resolve hostname:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Can't resolve." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Request failed, return code:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Cannot save response to:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Write error." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Request failed, too many redirects" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Redirect loop." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Request failed, timeout" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Timeout." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Failed:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Bad download hash, assuming file has been tampered with." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Expected:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Got:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Failed SHA-256 hash check" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Asset Download Error:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Downloading (%s / %s)..." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Downloading..." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Resolving..." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Error making request" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Idle" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Install..." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Retry" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Download Error" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Available URLs" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Download for this asset is already in progress!" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Recently Updated" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Least Recently Updated" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Name (A-Z)" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Name (Z-A)" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "License (A-Z)" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "License (Z-A)" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Loading..." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgctxt "Pagination" +msgid "First" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgctxt "Pagination" +msgid "Previous" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgctxt "Pagination" +msgid "Next" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgctxt "Pagination" +msgid "Last" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "All" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Search templates, projects, and demos" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Search assets (excluding templates, projects, and demos)" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Import..." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Plugins..." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp +msgid "Sort:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Category:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Site:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Support" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Official" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Testing" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Failed to get repository configuration." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Assets ZIP File" +msgstr "" + +#: editor/plugins/audio_stream_editor_plugin.cpp +msgid "Audio Preview Play/Pause" +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene and try again." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +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 "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed determining lightmap size. Maximum lightmap size too small?" +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Some mesh is invalid. Make sure the UV2 channel values are contained within " +"the [0.0,1.0] square region." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Godot editor was built without ray tracing support, lightmaps can't be baked." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "LightMap Bake" +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Select lightmap bake file:" +msgstr "" + +#: editor/plugins/camera_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp scene/resources/mesh_library.cpp +msgid "Preview" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Configure Snap" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Grid Offset:" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Grid Step:" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Primary Line Every:" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "steps" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation Offset:" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation Step:" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale Step:" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Vertical Guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Create Vertical Guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Remove Vertical Guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Horizontal Guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Create Horizontal Guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Remove Horizontal Guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Create Horizontal and Vertical Guides" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotate %d CanvasItems" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotate CanvasItem \"%s\" to %d degrees" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale Node2D \"%s\" to (%s, %s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Resize Control \"%s\" to (%d, %d)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale %d CanvasItems" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale CanvasItem \"%s\" to (%s, %s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move %d CanvasItems" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move CanvasItem \"%s\" to (%d, %d)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Locked" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Grouped" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Children of containers have their anchors and margins values overridden by " +"their parent." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Presets for the anchors and margins values of a Control node." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"When active, moving Control nodes changes their anchors instead of their " +"margins." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp +msgid "Top Left" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp +msgid "Top Right" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp +msgid "Bottom Right" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp scene/resources/style_box.cpp +msgid "Bottom Left" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Center Left" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Center Top" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Center Right" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Center Bottom" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Center" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Left Wide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Top Wide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Right Wide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Bottom Wide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "VCenter Wide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "HCenter Wide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Full Rect" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Keep Ratio" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Anchors only" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Change Anchors and Margins" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Change Anchors" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Project Camera Override\n" +"Overrides the running project's camera with the editor viewport camera." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Project Camera Override\n" +"No project instance running. Run the project from the editor to use this " +"feature." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Lock Selected" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Unlock Selected" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Group Selected" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Ungroup Selected" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Paste Pose" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Guides" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Create Custom Bone(s) from Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Bones" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Make IK Chain" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear IK Chain" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Warning: Children of a container get their position and size determined only " +"by their parent." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +#: editor/plugins/texture_region_editor_plugin.cpp +#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp +msgid "Zoom Reset" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp scene/gui/item_list.cpp +#: scene/gui/tree.cpp +msgid "Select Mode" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Drag: Rotate selected node around pivot." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Move selected node." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Scale selected node." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "V: Set selected node's pivot position." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Alt+RMB: Show list of all nodes at position clicked, including locked." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "RMB: Add node at position clicked." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Move Mode" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate Mode" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Scale Mode" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Shift: Scale proportionally." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Show a list of all objects at the position clicked\n" +"(same as Alt+RMB in select mode)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Click to change object's rotation pivot." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Pan Mode" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Ruler Mode" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Toggle smart snapping." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Smart Snap" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Toggle grid snapping." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Grid Snap" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snapping Options" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Rotation Snap" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Scale Snap" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap Relative" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Pixel Snap" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Smart Snapping" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Configure Snap..." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to Parent" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to Node Anchor" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to Node Sides" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to Node Center" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to Other Nodes" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to Guides" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Lock the selected object in place (can't be moved)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Lock Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Unlock the selected object (can be moved)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Unlock Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Makes sure the object's children are not selectable." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Group Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Restores the object's children's ability to be selected." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Ungroup Selected Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Skeleton Options" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Show Bones" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Make Custom Bone(s) from Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Custom Bones" +msgstr "" + +#. TRANSLATORS: Noun, name of the 2D/3D View menus. +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Show" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Show When Snapping" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Hide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Toggle Grid" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Grid" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Show Helpers" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Show Rulers" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Show Guides" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Show Origin" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Show Viewport" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Show Group And Lock Icons" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Center Selection" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Frame Selection" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Preview Canvas Scale" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert keys (based on mask)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated or scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Auto Insert Key" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Animation Key and Pose Options" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key (Existing Tracks)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Copy Pose" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Pose" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Add Node Here" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Instance Scene Here" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Multiply grid step by 2" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Divide grid step by 2" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Pan View" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom to 3.125%" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom to 6.25%" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom to 12.5%" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom to 25%" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom to 50%" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom to 100%" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom to 200%" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom to 400%" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom to 800%" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom to 1600%" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Adding %s..." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Cannot instantiate multiple nodes without root." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "Create Node" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "Error instancing scene from %s" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Change Default Type" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Drag & drop + Shift : Add node as sibling\n" +"Drag & drop + Alt : Change node type" +msgstr "" + +#: editor/plugins/collision_polygon_editor_plugin.cpp +msgid "Create Polygon3D" +msgstr "" + +#: editor/plugins/collision_polygon_editor_plugin.cpp +msgid "Edit Poly" +msgstr "" + +#: editor/plugins/collision_polygon_editor_plugin.cpp +msgid "Edit Poly (Remove Point)" +msgstr "" + +#: editor/plugins/collision_shape_2d_editor_plugin.cpp +msgid "Set Handle" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/cpu_particles_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Restart" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp editor/spatial_editor_gizmos.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Solid Pixels" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Border Pixels" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Directed Border Pixels" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + +#: editor/plugins/cpu_particles_editor_plugin.cpp +msgid "CPUParticles" +msgstr "" + +#: editor/plugins/cpu_particles_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Create Emission Points From Mesh" +msgstr "" + +#: editor/plugins/cpu_particles_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Create Emission Points From Node" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Flat 0" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Flat 1" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp +msgid "Ease In" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp +msgid "Ease Out" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Smoothstep" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Modify Curve Point" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Modify Curve Tangent" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Load Curve Preset" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Add Point" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Remove Point" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Left Linear" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Right Linear" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Load Preset" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Remove Curve Point" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Toggle Curve Linear Tangent" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Hold Shift to edit tangents individually" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Right click to add point" +msgstr "" + +#: editor/plugins/gi_probe_editor_plugin.cpp +msgid "Bake GI Probe" +msgstr "" + +#: editor/plugins/gradient_editor_plugin.cpp +msgid "Gradient Edited" +msgstr "" + +#: editor/plugins/gradient_texture_2d_editor_plugin.cpp +msgid "Swap GradientTexture2D Fill Points" +msgstr "" + +#: editor/plugins/gradient_texture_2d_editor_plugin.cpp +msgid "Swap Gradient Fill Points" +msgstr "" + +#: editor/plugins/gradient_texture_2d_editor_plugin.cpp +msgid "Toggle Grid Snap" +msgstr "" + +#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp +#: scene/3d/label_3d.cpp scene/gui/button.cpp scene/gui/dialogs.cpp +#: scene/gui/label.cpp scene/gui/line_edit.cpp scene/gui/link_button.cpp +#: scene/gui/rich_text_label.cpp scene/gui/text_edit.cpp +#: scene/resources/primitive_meshes.cpp +msgid "Text" +msgstr "" + +#: editor/plugins/item_list_editor_plugin.cpp +#: editor/plugins/tile_set_editor_plugin.cpp main/main.cpp +#: platform/osx/export/export.cpp platform/windows/export/export.cpp +#: scene/gui/button.cpp scene/gui/item_list.cpp +msgid "Icon" +msgstr "" + +#: editor/plugins/item_list_editor_plugin.cpp +msgid "ID" +msgstr "" + +#: editor/plugins/item_list_editor_plugin.cpp +#: scene/resources/default_theme/default_theme.cpp +msgid "Separator" +msgstr "" + +#: editor/plugins/item_list_editor_plugin.cpp +msgid "Item %d" +msgstr "" + +#: editor/plugins/item_list_editor_plugin.cpp +msgid "Items" +msgstr "" + +#: editor/plugins/item_list_editor_plugin.cpp +msgid "Item List Editor" +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Create Occluder Polygon" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh is empty!" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Couldn't create a Trimesh collision shape." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Static Trimesh Body" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "This doesn't work on scene root!" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Static Shape" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Can't create a single convex collision shape for the scene root." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Couldn't create a single convex collision shape." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Simplified Convex Shape" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Single Convex Shape" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Can't create multiple convex collision shapes for the scene root." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Couldn't create any collision shapes." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Multiple Convex Shapes" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Navigation Mesh" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh has no UV in layer %d." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "MeshInstance lacks a Mesh!" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh has not surface to create outlines from!" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES!" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Could not create outline!" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp modules/csg/csg_shape.cpp +#: modules/gltf/gltf_mesh.cpp modules/gltf/gltf_node.cpp +#: scene/2d/mesh_instance_2d.cpp scene/3d/cpu_particles.cpp +#: scene/3d/mesh_instance.cpp scene/resources/mesh_library.cpp +#: scene/resources/multimesh.cpp scene/resources/primitive_meshes.cpp +#: scene/resources/texture.cpp +msgid "Mesh" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Static Body" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "" +"Creates a StaticBody and assigns a polygon-based collision shape to it " +"automatically.\n" +"This is the most accurate (but slowest) option for collision detection." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Collision Sibling" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "" +"Creates a polygon-based collision shape.\n" +"This is the most accurate (but slowest) option for collision detection." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Single Convex Collision Sibling" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "" +"Creates a single convex collision shape.\n" +"This is the fastest (but least accurate) option for collision detection." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Simplified Convex Collision Sibling" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "" +"Creates a simplified convex collision shape.\n" +"This is similar to single collision shape, but can result in a simpler " +"geometry in some cases, at the cost of accuracy." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Multiple Convex Collision Siblings" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +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 "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline Mesh..." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "" +"Creates a static outline mesh. The outline mesh will have its normals " +"flipped automatically.\n" +"This can be used instead of the SpatialMaterial Grow property when using " +"that property isn't possible." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV1" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV2" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline Mesh" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Outline Size:" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Channel Debug" +msgstr "" + +#: editor/plugins/mesh_library_editor_plugin.cpp +msgid "Remove item %d?" +msgstr "" + +#: editor/plugins/mesh_library_editor_plugin.cpp +msgid "" +"Update from existing scene?:\n" +"%s" +msgstr "" + +#: editor/plugins/mesh_library_editor_plugin.cpp +msgid "MeshLibrary" +msgstr "" + +#: editor/plugins/mesh_library_editor_plugin.cpp +msgid "Add Item" +msgstr "" + +#: editor/plugins/mesh_library_editor_plugin.cpp +msgid "Remove Selected Item" +msgstr "" + +#: editor/plugins/mesh_library_editor_plugin.cpp +msgid "Import from Scene (Ignore Transforms)" +msgstr "" + +#: editor/plugins/mesh_library_editor_plugin.cpp +msgid "Import from Scene (Apply Transforms)" +msgstr "" + +#: editor/plugins/mesh_library_editor_plugin.cpp +msgid "Update from Scene" +msgstr "" + +#: editor/plugins/mesh_library_editor_plugin.cpp +msgid "Apply without Transforms" +msgstr "" + +#: editor/plugins/mesh_library_editor_plugin.cpp +msgid "Apply with Transforms" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "No mesh source specified (and no MultiMesh set in node)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "No mesh source specified (and MultiMesh contains no Mesh)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (invalid path)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (not a MeshInstance)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (contains no Mesh resource)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "No surface source specified." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (invalid path)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (no geometry)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (no faces)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Select a Source Mesh:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Select a Target Surface:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate Surface" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate MultiMesh" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Target Surface:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Source Mesh:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "X-Axis" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Y-Axis" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Z-Axis" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh Up Axis:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Rotation:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Tilt:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Scale:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate" +msgstr "" + +#: editor/plugins/navigation_polygon_editor_plugin.cpp +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Create Navigation Polygon" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Convert to CPUParticles" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generating Visibility Rect" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generate Visibility Rect" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Can only set point into a ParticlesMaterial process material" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Convert to CPUParticles2D" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generation Time (sec):" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "The geometry's faces don't contain any area." +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "The geometry doesn't contain any faces." +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "\"%s\" doesn't inherit from Spatial." +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "\"%s\" doesn't contain geometry." +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "\"%s\" doesn't contain face geometry." +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Emission Points:" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Surface Points" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Surface Points+Normal (Directed)" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp scene/gui/video_player.cpp +msgid "Volume" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Emission Source:" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "A processor material of type 'ParticlesMaterial' is required." +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generating AABB" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate Visibility AABB" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove Point from Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove Out-Control from Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove In-Control from Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Add Point to Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Split Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Move Point in Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Move In-Control in Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Move Out-Control in Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Select Points" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Shift+Drag: Select Control Points" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Click: Add Point" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Left Click: Split Segment (in curve)" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Right Click: Delete Point" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Select Control Points (Shift+Drag)" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Add Point (in empty space)" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Delete Point" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Close Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +#: editor/plugins/theme_editor_preview.cpp +#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_export.cpp +#: main/main.cpp servers/visual_server.cpp +msgid "Options" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Mirror Handle Angles" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Mirror Handle Lengths" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Curve Point #" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Set Curve Point Position" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Set Curve In Position" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Set Curve Out Position" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Split Path" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Remove Path Point" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Remove Out-Control Point" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Remove In-Control Point" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Split Segment (in curve)" +msgstr "" + +#: editor/plugins/physical_bone_plugin.cpp +msgid "Move Joint" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"The skeleton property of the Polygon2D does not point to a Skeleton2D node" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Sync Bones" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"No texture in this polygon.\n" +"Set a texture to be able to edit UV." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create UV Map" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create Polygon & UV" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create Internal Vertex" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Remove Internal Vertex" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Invalid Polygon (need 3 different vertices)" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Add Custom Polygon" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Remove Custom Polygon" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Transform UV Map" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Transform Polygon" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Paint Bone Weights" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Open Polygon 2D UV editor." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygon 2D UV Editor" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp +msgid "UV" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp +#: scene/2d/line_2d.cpp scene/3d/cpu_particles.cpp scene/3d/portal.cpp +#: scene/3d/room.cpp scene/resources/convex_polygon_shape.cpp +#: scene/resources/convex_polygon_shape_2d.cpp +msgid "Points" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp scene/2d/polygon_2d.cpp +#: scene/resources/navigation_mesh.cpp +msgid "Polygons" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp scene/3d/skeleton.cpp +msgid "Bones" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Points" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Command: Rotate" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Shift: Move All" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Shift+Command: Scale" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Shift+Ctrl: Scale" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Polygon" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Rotate Polygon" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Scale Polygon" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create a custom polygon. Enables custom polygon rendering." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Remove a custom polygon. If none remain, custom polygon rendering is " +"disabled." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Paint weights with specified intensity." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Unpaint weights with specified intensity." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Radius:" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Copy Polygon to UV" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Copy UV to Polygon" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Clear UV" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Grid Settings" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp modules/csg/csg_shape.cpp +#: scene/resources/default_theme/default_theme.cpp +msgid "Snap" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Enable Snap" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Show Grid" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Configure Grid:" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Grid Offset X:" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Grid Offset Y:" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Grid Step X:" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Grid Step Y:" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Sync Bones to Polygon" +msgstr "" + +#: editor/plugins/ray_cast_2d_editor_plugin.cpp +msgid "Set cast_to" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +msgid "ERROR: Couldn't load resource!" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Add Resource" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Rename Resource" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Delete Resource" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Resource clipboard is empty!" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Paste Resource" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +#: editor/scene_tree_editor.cpp +msgid "Instance:" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +msgid "Open in Editor" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Load Resource" +msgstr "" + +#: editor/plugins/room_manager_editor_plugin.cpp +msgid "Flip Portals" +msgstr "" + +#: editor/plugins/room_manager_editor_plugin.cpp +msgid "Room Generate Points" +msgstr "" + +#: editor/plugins/room_manager_editor_plugin.cpp +msgid "Generate Points" +msgstr "" + +#: editor/plugins/room_manager_editor_plugin.cpp +msgid "Flip Portal" +msgstr "" + +#: editor/plugins/room_manager_editor_plugin.cpp +msgid "Occluder Set Transform" +msgstr "" + +#: editor/plugins/room_manager_editor_plugin.cpp +msgid "Center Node" +msgstr "" + +#: editor/plugins/root_motion_editor_plugin.cpp +msgid "AnimationTree has no path set to an AnimationPlayer" +msgstr "" + +#: editor/plugins/root_motion_editor_plugin.cpp +msgid "Path to AnimationPlayer is invalid" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Clear Recent Files" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Close and save changes?" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error writing TextFile:" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Could not load file at:" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error saving file!" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error while saving theme." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error Saving" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error importing theme." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error Importing" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "New Text File..." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Open File" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Save File As..." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Can't obtain the script for running." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Script failed reloading, check console for errors." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Script is not in tool mode, will not be able to run." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "" +"To run this script, it must inherit EditorScript and be set to tool mode." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Import Theme" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error while saving theme" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error saving" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Save Theme As..." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "%s Class Reference" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp +msgid "Find Next" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp +msgid "Find Previous" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Filter scripts" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Toggle alphabetical sorting of the method list." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Filter methods" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp scene/2d/y_sort.cpp +msgid "Sort" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Move Up" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Move Down" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Next Script" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Previous Script" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +#: scene/resources/default_theme/default_theme.cpp +msgid "File" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Open..." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Reopen Closed Script" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Save All" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Soft Reload Script" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "History Previous" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "History Next" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Import Theme..." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Reload Theme" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Save Theme" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Close All" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Close Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +#: editor/plugins/visual_shader_editor_plugin.cpp +#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +msgid "Search" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp +msgid "Step Into" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp +msgid "Step Over" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp +msgid "Break" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp +#: editor/script_editor_debugger.cpp +msgid "Continue" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Keep Debugger Open" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Debug with External Editor" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/shader_editor_plugin.cpp +msgid "Online Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Open Godot online documentation." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Search the reference documentation." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Go to previous edited document." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Go to next edited document." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Discard" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "" +"The following files are newer on disk.\n" +"What action should be taken?:" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Search Results" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Open Dominant Script On Scene Change" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "External" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Use External Editor" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Exec Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Script Temperature Enabled" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Highlight Current Script" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Script Temperature History Size" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Current Script Background Color" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Group Help Pages" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Sort Scripts By" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "List Script Names As" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Exec Flags" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Clear Recent Scripts" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Connections to method:" +msgstr "" + +#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp +#: scene/resources/visual_shader_nodes.cpp +msgid "Source" +msgstr "" + +#: editor/plugins/script_text_editor.cpp platform/uwp/export/export.cpp +#: scene/3d/interpolated_camera.cpp scene/animation/skeleton_ik.cpp +msgid "Target" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "" +"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "[Ignore]" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Line" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Go to Function" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Only resources from filesystem can be dropped." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Can't drop nodes because script '%s' is not used in this scene." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Lookup Symbol" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Pick Color" +msgstr "" + +#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp +msgid "Convert Case" +msgstr "" + +#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp +#: scene/3d/label_3d.cpp scene/gui/label.cpp +#: scene/resources/primitive_meshes.cpp +msgid "Uppercase" +msgstr "" + +#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp +msgid "Lowercase" +msgstr "" + +#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp +msgid "Capitalize" +msgstr "" + +#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp +msgid "Syntax Highlighter" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Bookmarks" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Breakpoints" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" +msgstr "" + +#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Cut" +msgstr "" + +#: editor/plugins/script_text_editor.cpp editor/plugins/theme_editor_plugin.cpp +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Select All" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Delete Line" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Indent Left" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Indent Right" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Toggle Comment" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Fold/Unfold Line" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Fold All Lines" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Unfold All Lines" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Complete Symbol" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Evaluate Selection" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Trim Trailing Whitespace" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Convert Indent to Spaces" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Convert Indent to Tabs" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Find in Files..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Replace in Files..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Contextual Help" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Toggle Bookmark" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Go to Next Bookmark" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Go to Previous Bookmark" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Remove All Bookmarks" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Go to Function..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Go to Line..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Toggle Breakpoint" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Remove All Breakpoints" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Go to Next Breakpoint" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Go to Previous Breakpoint" +msgstr "" + +#: editor/plugins/shader_editor_plugin.cpp +msgid "" +"This shader has been modified on on disk.\n" +"What action should be taken?" +msgstr "" + +#: editor/plugins/shader_editor_plugin.cpp scene/resources/material.cpp +msgid "Shader" +msgstr "" + +#: editor/plugins/skeleton_2d_editor_plugin.cpp +msgid "This skeleton has no bones, create some children Bone2D nodes." +msgstr "" + +#: editor/plugins/skeleton_2d_editor_plugin.cpp +msgid "Set Rest Pose to Bones" +msgstr "" + +#: editor/plugins/skeleton_2d_editor_plugin.cpp +msgid "Create Rest Pose from Bones" +msgstr "" + +#: editor/plugins/skeleton_2d_editor_plugin.cpp +msgid "Skeleton2D" +msgstr "" + +#: editor/plugins/skeleton_2d_editor_plugin.cpp +msgid "Reset to Rest Pose" +msgstr "" + +#: editor/plugins/skeleton_2d_editor_plugin.cpp +msgid "Overwrite Rest Pose" +msgstr "" + +#: editor/plugins/skeleton_editor_plugin.cpp +msgid "Create physical bones" +msgstr "" + +#: editor/plugins/skeleton_editor_plugin.cpp editor/spatial_editor_gizmos.cpp +#: modules/gltf/gltf_node.cpp modules/gltf/gltf_skin.cpp +#: scene/2d/polygon_2d.cpp scene/3d/mesh_instance.cpp +msgid "Skeleton" +msgstr "" + +#: editor/plugins/skeleton_editor_plugin.cpp +msgid "Create physical skeleton" +msgstr "" + +#: editor/plugins/skeleton_ik_editor_plugin.cpp +msgid "Play IK" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Orthogonal" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp modules/gltf/gltf_camera.cpp +msgid "Perspective" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Top Orthogonal" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Top Perspective" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom Orthogonal" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom Perspective" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Left Orthogonal" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Left Perspective" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Right Orthogonal" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Right Perspective" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Front Orthogonal" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Front Perspective" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rear Orthogonal" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rear Perspective" +msgstr "" + +#. TRANSLATORS: This will be appended to the view name when Auto Orthogonal is enabled. +#: editor/plugins/spatial_editor_plugin.cpp +msgid " [auto]" +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 "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Aborted." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "X-Axis Transform." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Y-Axis Transform." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Z-Axis Transform." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Plane Transform." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/texture_region_editor_plugin.cpp +#: editor/plugins/theme_editor_plugin.cpp scene/resources/visual_shader.cpp +msgid "None" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp scene/2d/path_2d.cpp +msgid "Rotate" +msgstr "" + +#. TRANSLATORS: This refers to the movement that changes the position of an object. +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Translate" +msgstr "" + +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Scaling:" +msgstr "" + +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Translating:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rotating %s degrees." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Keying is disabled (no key inserted)." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Animation Key Inserted." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Pitch:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Yaw:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Objects Drawn:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Material Changes:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Shader Changes:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Surface Changes:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Draw Calls:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Vertices:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "FPS: %d (%s ms)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Top View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Left View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Right View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Front View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rear View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Align Transform with View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Align Rotation with View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "This operation requires a single selected node." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Auto Orthogonal Enabled" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Lock View Rotation" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Display Normal" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Display Wireframe" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Display Overdraw" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Display Unshaded" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Environment" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Gizmos" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Information" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View FPS" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Half Resolution" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp scene/main/viewport.cpp +msgid "Audio Listener" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Enable Doppler" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Cinematic Preview" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "(Not in GLES2)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Debug draw modes are only available when using the GLES3 renderer, not GLES2." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Freelook Left" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Freelook Right" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Freelook Forward" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Freelook Backwards" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Freelook Up" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Freelook Down" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Freelook Speed Modifier" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Freelook Slow Modifier" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Toggle Camera Preview" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Rotation Locked" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"To zoom further, change the camera's clipping planes (View -> Settings...)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Note: The FPS value displayed is the editor's framerate.\n" +"It cannot be used as a reliable indication of in-game performance." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Convert Rooms" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "XForm Dialog" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Nodes to Floor" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Couldn't find a solid floor to snap the selection to." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Use Local Space" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp scene/gui/graph_edit.cpp +msgid "Use Snap" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Converts rooms for portal culling." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Top View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rear View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Front View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Left View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Right View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Orbit View Down" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Orbit View Left" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Orbit View Right" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Orbit View Up" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Orbit View 180" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Switch Perspective/Orthogonal View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Insert Animation Key" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Focus Origin" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Focus Selection" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Toggle Freelook" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Decrease Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Increase Field of View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Reset Field of View to Default" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Object to Floor" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Dialog..." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "1 Viewport" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "2 Viewports" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "2 Viewports (Alt)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "3 Viewports" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "3 Viewports (Alt)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "4 Viewports" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Gizmos" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Origin" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Grid" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Portal Culling" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Occlusion Culling" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Settings..." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Settings" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Translate Snap:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate Snap (deg.):" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Scale Snap (%):" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Viewport Settings" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective FOV (deg.):" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Z-Near:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Z-Far:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Change" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Translate:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate (deg.):" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Scale (ratio):" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Type" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Pre" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Post" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Manipulator Gizmo Size" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Manipulator Gizmo Opacity" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Show Viewport Rotation Gizmo" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Unnamed Gizmo" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create Mesh2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Mesh2D Preview" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create Polygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Polygon2D Preview" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "CollisionPolygon2D Preview" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "LightOccluder2D Preview" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Sprite is empty!" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Can't convert a sprite using animation frames to mesh." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't replace by mesh." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Convert to MeshInstance2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Convert to Polygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D Sibling" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D Sibling" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Sprite" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Simplification:" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Shrink (Pixels):" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Grow (Pixels):" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Update Preview" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Settings:" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "No Frames Selected" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add %d Frame(s)" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Frame" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Unable to load images" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "ERROR: Couldn't load frame resource!" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Resource clipboard is empty or not a texture!" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Paste Frame" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Empty" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Change Animation FPS" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "(empty)" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Move Frame" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Animations:" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "New Animation" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Filter animations" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Speed:" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +#: modules/gltf/gltf_animation.cpp modules/minimp3/audio_stream_mp3.cpp +#: modules/minimp3/resource_importer_mp3.cpp +#: modules/stb_vorbis/audio_stream_ogg_vorbis.cpp +#: modules/stb_vorbis/resource_importer_ogg_vorbis.cpp scene/2d/path_2d.cpp +#: scene/3d/path.cpp scene/resources/animation.cpp scene/resources/material.cpp +msgid "Loop" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Animation Frames:" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add a Texture from File" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Frames from a Sprite Sheet" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Insert Empty (Before)" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Insert Empty (After)" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Move (Before)" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Move (After)" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Select Frames" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Horizontal:" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Vertical:" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Separation:" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Offset:" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Select/Clear All Frames" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Create Frames from Sprite Sheet" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "SpriteFrames" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Set Region Rect" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Set Margin" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Snap Mode:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Pixel Snap" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Grid Snap" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Auto Slice" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Step:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "TextureRegion" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Styleboxes" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "{num} color(s)" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "No colors found." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "{num} constant(s)" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "No constants found." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "{num} font(s)" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "No fonts found." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "{num} icon(s)" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "No icons found." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "{num} stylebox(es)" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "No styleboxes found." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "{num} currently selected" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Nothing was selected for the import." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Importing Theme Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Importing items {n}/{n}" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Updating the editor" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Finalizing" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "With Data" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Select by data type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Select all visible color items." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Select all visible color items and their data." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Deselect all visible color items." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Select all visible constant items." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Select all visible constant items and their data." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Deselect all visible constant items." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Select all visible font items." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Select all visible font items and their data." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Deselect all visible font items." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Select all visible icon items." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Select all visible icon items and their data." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Deselect all visible icon items." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Select all visible stylebox items." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Select all visible stylebox items and their data." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Deselect all visible stylebox items." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Caution: Adding icon data may considerably increase the size of your Theme " +"resource." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Collapse types." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Expand types." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Select all Theme items." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Select With Data" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Select all Theme items with item data." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Deselect All" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Deselect all Theme items." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Import Selected" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Import Items tab has some items selected. Selection will be lost upon " +"closing this window.\n" +"Close anyway?" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove All Color Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Rename Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove All Constant Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove All Font Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove All Icon Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove All StyleBox Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add Theme Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove Theme Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add Color Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add Constant Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add Font Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add Icon Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add Stylebox Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Rename Color Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Rename Constant Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Rename Font Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Rename Icon Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Rename Stylebox Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Invalid file, not a Theme resource." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Invalid file, same as the edited Theme resource." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Manage Theme Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Edit Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Types:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add StyleBox Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove Items:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove Class Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove Custom Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove All Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add Theme Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Old Name:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Import Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Default Theme" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Editor Theme" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Select Another Theme Resource:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Theme Resource" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Another Theme" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Filter the list of types or create a new custom type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Available Node-based types:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Type name is empty!" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Are you sure you want to create an empty type?" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Confirm Item Rename" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Cancel Item Rename" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Override Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Unpin this StyleBox as a main style." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"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 Item Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Set Variation Base Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Set Base Type" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Show Default" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Show default type items alongside items that have been overridden." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Override All" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Override all default type items." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Select the variation base type from a list of available types." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "" +"A type associated with a built-in class cannot be marked as a variation of " +"another type." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Theme:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Manage Items..." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add, remove, organize and import Theme items." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add Preview" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Default Preview" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Select UI Scene:" +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "" +"Toggle the control picker, allowing to visually select control types for " +"edit." +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Toggle Button" +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Disabled Button" +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp scene/resources/mesh_library.cpp +msgid "Item" +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Disabled Item" +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Check Item" +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Checked Item" +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Radio Item" +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Checked Radio Item" +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Named Separator" +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +#: scene/resources/default_theme/default_theme.cpp +msgid "Submenu" +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Subitem 1" +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Subitem 2" +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Has" +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Many" +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Disabled LineEdit" +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Tab 1" +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Tab 2" +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Tab 3" +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Editable Item" +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Subtree" +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Has,Many,Options" +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Invalid path, the PackedScene resource was probably moved or removed." +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Invalid PackedScene resource, must have a Control node at its root." +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Invalid file, not a PackedScene resource." +msgstr "" + +#: editor/plugins/theme_editor_preview.cpp +msgid "Reload the scene to reflect its most actual state." +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase Selection" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Fix Invalid Tiles" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cut Selection" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Paint TileMap" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Line Draw" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Rectangle Paint" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Bucket Fill" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase TileMap" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Find Tile" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Transpose" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Disable Autotile" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Enable Priority" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Filter tiles" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Give a TileSet resource to this TileMap to use its tiles." +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Paint Tile" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Ctrl+LMB: Rectangle Paint" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Pick Tile" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate Left" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate Right" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Flip Horizontally" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Flip Vertically" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Clear Transform" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Tile Map" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Palette Min Width" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Palette Item H Separation" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Show Tile Names" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Show Tile Ids" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Sort Tiles By Name" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Bucket Fill Preview" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Editor Side" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Display Grid" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Axis Color" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Add Texture(s) to TileSet." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove selected Texture from TileSet." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Create from Scene" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Merge from Scene" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Single Tile" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Autotile" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Atlas" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp +#: scene/3d/sprite_3d.cpp scene/resources/texture.cpp +msgid "Region" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp +#: modules/gridmap/grid_map.cpp scene/2d/collision_object_2d.cpp +#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp +#: scene/3d/collision_object.cpp scene/3d/physics_body.cpp +#: scene/3d/physics_joint.cpp scene/3d/soft_body.cpp scene/main/scene_tree.cpp +#: scene/resources/shape_2d.cpp +msgid "Collision" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Occlusion" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/touch_screen_button.cpp +msgid "Bitmask" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/area_2d.cpp +#: scene/3d/area.cpp scene/3d/physics_joint.cpp +#: scene/animation/animation_node_state_machine.cpp +msgid "Priority" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/node_2d.cpp +msgid "Z Index" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Region Mode" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Collision Mode" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Occlusion Mode" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Navigation Mode" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Bitmask Mode" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Priority Mode" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/item_list.cpp +msgid "Icon Mode" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Z Index Mode" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Copy bitmask." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Paste bitmask." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Erase bitmask." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Create a new rectangle." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Rectangle" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Create a new polygon." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Delete Selected Shape" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Keep polygon inside region Rect." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Enable snap and show grid (configurable via the Inspector)." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Display Tile Names (Hold Alt Key)" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "" +"Add or select a texture on the left panel to edit the tiles bound to it." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove selected texture? This will remove all tiles which use it." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "You haven't selected a texture to remove." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Create from scene? This will overwrite all current tiles." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Merge from scene?" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove Texture" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "%s file(s) were not added because was already on the list." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "" +"Drag handles to edit Rect.\n" +"Click on another Tile to edit it." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Delete selected Rect." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "" +"Select current edited sub-tile.\n" +"Click on another Tile to edit it." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Delete polygon." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "" +"LMB: Set bit on.\n" +"RMB: Set bit off.\n" +"Shift+LMB: Set wildcard bit.\n" +"Click on another Tile to edit it." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "" +"Select sub-tile to use as icon, this will be also used on invalid autotile " +"bindings.\n" +"Click on another Tile to edit it." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "" +"Select sub-tile to change its priority.\n" +"Click on another Tile to edit it." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "" +"Select sub-tile to change its z index.\n" +"Click on another Tile to edit it." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Set Tile Region" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Create Tile" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Set Tile Icon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Edit Tile Bitmask" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Edit Collision Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Edit Occlusion Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Edit Navigation Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Paste Tile Bitmask" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Clear Tile Bitmask" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove Tile" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove Collision Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove Occlusion Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove Navigation Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Edit Tile Priority" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Edit Tile Z Index" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Convex" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Concave" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Create Collision Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Create Occlusion Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "This property can't be changed." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Snap Options" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/animated_sprite.cpp +#: scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp +#: scene/2d/parallax_background.cpp scene/2d/parallax_layer.cpp +#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp +#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp +#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp +#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp +#: scene/main/canvas_layer.cpp scene/resources/material.cpp +#: scene/resources/particles_material.cpp scene/resources/style_box.cpp +msgid "Offset" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp editor/rename_dialog.cpp +#: scene/gui/range.cpp scene/resources/animation.cpp +#: scene/resources/visual_shader_nodes.cpp servers/physics_2d_server.cpp +#: servers/physics_server.cpp +msgid "Step" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +#: scene/resources/default_theme/default_theme.cpp +msgid "Separation" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Selected Tile" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp +#: scene/2d/light_2d.cpp scene/2d/line_2d.cpp scene/2d/mesh_instance_2d.cpp +#: scene/2d/multimesh_instance_2d.cpp scene/2d/particles_2d.cpp +#: scene/2d/polygon_2d.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp +#: scene/gui/nine_patch_rect.cpp scene/gui/texture_rect.cpp +#: scene/resources/material.cpp scene/resources/sky.cpp +#: scene/resources/style_box.cpp scene/resources/visual_shader_nodes.cpp +msgid "Texture" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tex Offset" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp +#: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp +#: scene/3d/mesh_instance.cpp scene/resources/primitive_meshes.cpp +msgid "Material" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/canvas_item.cpp +#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/style_box.cpp +msgid "Modulate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Mode" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Autotile Bitmask Mode" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Subtile Size" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Subtile Spacing" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Occluder Offset" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Navigation Offset" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Shape Offset" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Shape Transform" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Selected Collision" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Selected Collision One Way" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Selected Collision One Way Margin" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Selected Navigation" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Selected Occlusion" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tileset Script" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "TileSet" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "No VCS plugins are available." +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "" +"Remote settings are empty. VCS features that use the network may not work." +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "No commit message was provided." +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Commit" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Staged Changes" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Unstaged Changes" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Commit:" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Date:" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Subtitle:" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Do you want to remove the %s branch?" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Do you want to remove the %s remote?" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Apply" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Version Control System" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Initialize" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Remote Login" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Select SSH public key path" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Select SSH private key path" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "SSH Passphrase" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Detect new changes" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Discard all changes" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Stage all changes" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Unstage all changes" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Commit Message" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Commit Changes" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Commit List" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Commit list size" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Branches" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Create New Branch" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Remove Branch" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Branch Name" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Remotes" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Create New Remote" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Remove Remote" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Remote Name" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Remote URL" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Fetch" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Pull" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Push" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Force Push" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Modified" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Renamed" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Deleted" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Typechange" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Unmerged" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "View:" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Split" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Unified" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "(GLES3 only)" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Add Output" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Scalar" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Vector" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Boolean" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Sampler" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Add input port" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Add output port" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Change input port type" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Change output port type" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Change input port name" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Change output port name" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Remove input port" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Remove output port" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Set expression" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Resize VisualShader node" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Set Uniform Name" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Set Input Default Port" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Add Node to Visual Shader" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Node(s) Moved" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Duplicate Nodes" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Paste Nodes" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Delete Nodes" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Visual Shader Input Type Changed" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "UniformRef Name Changed" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Vertex" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Fragment" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp modules/gltf/gltf_node.cpp +#: scene/3d/light.cpp +msgid "Light" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Show resulted shader code." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Create Shader Node" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Color function." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Color operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Grayscale function." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Converts HSV vector to RGB equivalent." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Converts RGB vector to HSV equivalent." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Sepia function." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Burn operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Darken operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Difference operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Dodge operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "HardLight operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Lighten operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Overlay operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Screen operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "SoftLight operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Color constant." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Color uniform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the boolean result of the %s comparison between two parameters." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Equal (==)" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Greater Than (>)" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Greater Than or Equal (>=)" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Returns an associated vector if the provided scalars are equal, greater or " +"less." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Returns the boolean result of the comparison between INF and a scalar " +"parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Returns the boolean result of the comparison between NaN and a scalar " +"parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Less Than (<)" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Less Than or Equal (<=)" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Not Equal (!=)" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Returns an associated vector if the provided boolean value is true or false." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Returns an associated scalar if the provided boolean value is true or false." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the boolean result of the comparison between two parameters." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Returns the boolean result of the comparison between INF (or NaN) and a " +"scalar parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Boolean constant." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Boolean uniform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "'%s' input parameter for all shader modes." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Input parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "'%s' input parameter for vertex and fragment shader modes." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "'%s' input parameter for fragment and light shader modes." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "'%s' input parameter for fragment shader mode." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "'%s' input parameter for light shader mode." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "'%s' input parameter for vertex shader mode." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "'%s' input parameter for vertex and fragment shader mode." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Scalar function." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Scalar operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "E constant (2.718282). Represents the base of the natural logarithm." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Epsilon constant (0.00001). Smallest possible scalar number." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Phi constant (1.618034). Golden ratio." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Pi/4 constant (0.785398) or 45 degrees." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Pi/2 constant (1.570796) or 90 degrees." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Pi constant (3.141593) or 180 degrees." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Tau constant (6.283185) or 360 degrees." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Sqrt2 constant (1.414214). Square root of 2." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the absolute value of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the arc-cosine of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the inverse hyperbolic cosine of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the arc-sine of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the inverse hyperbolic sine of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the arc-tangent of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the arc-tangent of the parameters." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the inverse hyperbolic tangent of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Finds the nearest integer that is greater than or equal to the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Constrains a value to lie between two further values." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the cosine of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the hyperbolic cosine of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Converts a quantity in radians to degrees." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Base-e Exponential." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Base-2 Exponential." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Finds the nearest integer less than or equal to the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Computes the fractional part of the argument." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the inverse of the square root of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Natural logarithm." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Base-2 logarithm." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the greater of two values." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the lesser of two values." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Linear interpolation between two scalars." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the opposite value of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "1.0 - scalar" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Returns the value of the first parameter raised to the power of the second." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Converts a quantity in degrees to radians." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "1.0 / scalar" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Finds the nearest integer to the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Finds the nearest even integer to the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Clamps the value between 0.0 and 1.0." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Extracts the sign of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the sine of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the hyperbolic sine of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the square root of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n" +"\n" +"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if x is larger than " +"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 " +"using Hermite polynomials." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Step function( scalar(edge), scalar(x) ).\n" +"\n" +"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the tangent of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the hyperbolic tangent of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Finds the truncated value of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Adds scalar to scalar." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Divides scalar by scalar." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Multiplies scalar by scalar." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the remainder of the two scalars." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Subtracts scalar from scalar." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Scalar constant." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Scalar uniform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Perform the cubic texture lookup." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Perform the texture lookup." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Cubic texture uniform lookup." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "2D texture uniform lookup." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "2D texture uniform lookup with triplanar." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Transform function." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Calculate the outer product of a pair of vectors.\n" +"\n" +"OuterProduct treats the first parameter 'c' as a column vector (matrix with " +"one column) and the second parameter 'r' as a row vector (matrix with one " +"row) and does a linear algebraic matrix multiply 'c * r', yielding a matrix " +"whose number of rows is the number of components in 'c' and whose number of " +"columns is the number of components in 'r'." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Composes transform from four vectors." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Decomposes transform to four vectors." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Calculates the determinant of a transform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Calculates the inverse of a transform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Calculates the transpose of a transform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Multiplies transform by transform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Multiplies vector by transform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Transform constant." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Transform uniform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Vector function." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Vector operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Composes vector from three scalars." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Decomposes vector to three scalars." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Calculates the cross product of two vectors." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the distance between two points." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Calculates the dot product of two vectors." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Returns the vector that points in the same direction as a reference vector. " +"The function has three vector parameters : N, the vector to orient, I, the " +"incident vector, and Nref, the reference vector. If the dot product of I and " +"Nref is smaller than zero the return value is N. Otherwise -N is returned." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Calculates the length of a vector." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Linear interpolation between two vectors." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Linear interpolation between two vectors using scalar." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Calculates the normalize product of vector." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "1.0 - vector" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "1.0 / vector" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Returns the vector that points in the direction of reflection ( a : incident " +"vector, b : normal vector )." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the vector that points in the direction of refraction." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n" +"\n" +"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than " +"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 " +"using Hermite polynomials." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n" +"\n" +"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than " +"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 " +"using Hermite polynomials." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Step function( vector(edge), vector(x) ).\n" +"\n" +"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Step function( scalar(edge), vector(x) ).\n" +"\n" +"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Adds vector to vector." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Divides vector by vector." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Multiplies vector by vector." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the remainder of the two vectors." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Subtracts vector from vector." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Vector constant." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Vector uniform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Custom Godot Shader Language expression, with custom amount of input and " +"output ports. This is a direct injection of code into the vertex/fragment/" +"light function, do not use it to write the function declarations inside." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Returns falloff based on the dot product of surface normal and view " +"direction of camera (pass associated inputs to it)." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Custom Godot Shader Language expression, which is placed on top of the " +"resulted shader. You can place various function definitions inside and call " +"it later in the Expressions. You can also declare varyings, uniforms and " +"constants." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "A reference to an existing uniform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "(Fragment/Light mode only) Scalar derivative function." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "(Fragment/Light mode only) Vector derivative function." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"(Fragment/Light mode only) (Vector) Derivative in 'x' using local " +"differencing." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"(Fragment/Light mode only) (Scalar) Derivative in 'x' using local " +"differencing." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"(Fragment/Light mode only) (Vector) Derivative in 'y' using local " +"differencing." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"(Fragment/Light mode only) (Scalar) Derivative in 'y' using local " +"differencing." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"(Fragment/Light mode only) (Vector) Sum of absolute derivative in 'x' and " +"'y'." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"(Fragment/Light mode only) (Scalar) Sum of absolute derivative in 'x' and " +"'y'." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "VisualShader" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Edit Visual Property:" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Visual Shader Mode Changed" +msgstr "" + +#: editor/project_export.cpp +msgid "Runnable" +msgstr "" + +#: editor/project_export.cpp +msgid "Export the project for all the presets defined." +msgstr "" + +#: editor/project_export.cpp +msgid "All presets must have an export path defined for Export All to work." +msgstr "" + +#: editor/project_export.cpp +msgid "Delete preset '%s'?" +msgstr "" + +#: editor/project_export.cpp +msgid "Exporting All" +msgstr "" + +#: editor/project_export.cpp +msgid "Export Path" +msgstr "" + +#: editor/project_export.cpp +msgid "Presets" +msgstr "" + +#: editor/project_export.cpp editor/project_settings_editor.cpp +msgid "Add..." +msgstr "" + +#: editor/project_export.cpp +msgid "" +"If checked, the preset will be available for use in one-click deploy.\n" +"Only one preset per platform may be marked as runnable." +msgstr "" + +#: editor/project_export.cpp +msgid "Resources" +msgstr "" + +#: editor/project_export.cpp +msgid "Export all resources in the project" +msgstr "" + +#: editor/project_export.cpp +msgid "Export selected scenes (and dependencies)" +msgstr "" + +#: editor/project_export.cpp +msgid "Export selected resources (and dependencies)" +msgstr "" + +#: editor/project_export.cpp +msgid "Export Mode:" +msgstr "" + +#: editor/project_export.cpp +msgid "Resources to export:" +msgstr "" + +#: editor/project_export.cpp +msgid "" +"Filters to export non-resource files/folders\n" +"(comma-separated, e.g: *.json, *.txt, docs/*)" +msgstr "" + +#: editor/project_export.cpp +msgid "" +"Filters to exclude files/folders from project\n" +"(comma-separated, e.g: *.json, *.txt, docs/*)" +msgstr "" + +#: editor/project_export.cpp +msgid "Features" +msgstr "" + +#: editor/project_export.cpp +msgid "Custom (comma-separated):" +msgstr "" + +#: editor/project_export.cpp +msgid "Feature List:" +msgstr "" + +#: editor/project_export.cpp +msgid "Script" +msgstr "" + +#: editor/project_export.cpp +msgid "GDScript Export Mode:" +msgstr "" + +#: editor/project_export.cpp +msgid "Compiled Bytecode (Faster Loading)" +msgstr "" + +#: editor/project_export.cpp +msgid "Encrypted (Provide Key Below)" +msgstr "" + +#: editor/project_export.cpp +msgid "Invalid Encryption Key (must be 64 hexadecimal characters long)" +msgstr "" + +#: editor/project_export.cpp +msgid "GDScript Encryption Key (256-bits as hexadecimal):" +msgstr "" + +#: editor/project_export.cpp +msgid "" +"Note: Encryption key needs to be stored in the binary,\n" +"you need to build the export templates from source." +msgstr "" + +#: editor/project_export.cpp +msgid "More Info..." +msgstr "" + +#: editor/project_export.cpp +msgid "Export PCK/Zip..." +msgstr "" + +#: editor/project_export.cpp +msgid "Export Project..." +msgstr "" + +#: editor/project_export.cpp +msgid "Export All" +msgstr "" + +#: editor/project_export.cpp +msgid "Choose an export mode:" +msgstr "" + +#: editor/project_export.cpp +msgid "Export All..." +msgstr "" + +#: editor/project_export.cpp editor/project_manager.cpp +msgid "ZIP File" +msgstr "" + +#: editor/project_export.cpp +msgid "Godot Project Pack" +msgstr "" + +#: editor/project_export.cpp +msgid "Export templates for this platform are missing:" +msgstr "" + +#: editor/project_export.cpp +msgid "Project Export" +msgstr "" + +#: editor/project_export.cpp +msgid "Manage Export Templates" +msgstr "" + +#: editor/project_export.cpp +msgid "Export With Debug" +msgstr "" + +#: editor/project_manager.cpp +msgid "The path specified doesn't exist." +msgstr "" + +#: editor/project_manager.cpp +msgid "Error opening package file (it's not in ZIP format)." +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Invalid \".zip\" project file; it doesn't contain a \"project.godot\" file." +msgstr "" + +#: editor/project_manager.cpp +msgid "Please choose an empty folder." +msgstr "" + +#: editor/project_manager.cpp +msgid "Please choose a \"project.godot\" or \".zip\" file." +msgstr "" + +#: editor/project_manager.cpp +msgid "This directory already contains a Godot project." +msgstr "" + +#: editor/project_manager.cpp +msgid "New Game Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Imported Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Invalid project name." +msgstr "" + +#: editor/project_manager.cpp +msgid "Couldn't create folder." +msgstr "" + +#: editor/project_manager.cpp +msgid "There is already a folder in this path with the specified name." +msgstr "" + +#: editor/project_manager.cpp +msgid "It would be a good idea to name your project." +msgstr "" + +#: editor/project_manager.cpp +msgid "Invalid project path (changed anything?)." +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Couldn't load project.godot in project path (error %d). It may be missing or " +"corrupted." +msgstr "" + +#: editor/project_manager.cpp +msgid "Couldn't edit project.godot in project path." +msgstr "" + +#: editor/project_manager.cpp +msgid "Couldn't create project.godot in project path." +msgstr "" + +#: editor/project_manager.cpp +msgid "Error opening package file, not in ZIP format." +msgstr "" + +#: editor/project_manager.cpp +msgid "The following files failed extraction from package:" +msgstr "" + +#: editor/project_manager.cpp +msgid "Package installed successfully!" +msgstr "" + +#: editor/project_manager.cpp +msgid "Rename Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Import Existing Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Import & Edit" +msgstr "" + +#: editor/project_manager.cpp +msgid "Create New Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Create & Edit" +msgstr "" + +#: editor/project_manager.cpp +msgid "Install Project:" +msgstr "" + +#: editor/project_manager.cpp +msgid "Install & Edit" +msgstr "" + +#: editor/project_manager.cpp +msgid "Project Name:" +msgstr "" + +#: editor/project_manager.cpp +msgid "Project Path:" +msgstr "" + +#: editor/project_manager.cpp +msgid "Project Installation Path:" +msgstr "" + +#: editor/project_manager.cpp +msgid "Renderer:" +msgstr "" + +#: editor/project_manager.cpp +msgid "OpenGL ES 3.0" +msgstr "" + +#: editor/project_manager.cpp +msgid "Not supported by your GPU drivers." +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Higher visual quality\n" +"All features available\n" +"Incompatible with older hardware\n" +"Not recommended for web games" +msgstr "" + +#: editor/project_manager.cpp +msgid "OpenGL ES 2.0" +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Lower visual quality\n" +"Some features not available\n" +"Works on most hardware\n" +"Recommended for web games" +msgstr "" + +#: editor/project_manager.cpp +msgid "Renderer can be changed later, but scenes may need to be adjusted." +msgstr "" + +#: editor/project_manager.cpp +msgid "Missing Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Error: Project is missing on the filesystem." +msgstr "" + +#: editor/project_manager.cpp editor/scene_tree_dock.cpp +msgid "Local" +msgstr "" + +#: editor/project_manager.cpp +msgid "Local Projects" +msgstr "" + +#: editor/project_manager.cpp +msgid "Asset Library Projects" +msgstr "" + +#: editor/project_manager.cpp +msgid "Can't open project at '%s'." +msgstr "" + +#: editor/project_manager.cpp +msgid "Are you sure to open more than one project?" +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"The following project settings file does not specify the version of Godot " +"through which it was created.\n" +"\n" +"%s\n" +"\n" +"If you proceed with opening it, it will be converted to Godot's current " +"configuration file format.\n" +"Warning: You won't be able to open the project with previous versions of the " +"engine anymore." +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"The following project settings file was generated by an older engine " +"version, and needs to be converted for this version:\n" +"\n" +"%s\n" +"\n" +"Do you want to convert it?\n" +"Warning: You won't be able to open the project with previous versions of the " +"engine anymore." +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"The project settings were created by a newer engine version, whose settings " +"are not compatible with this version." +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Can't run project: no main scene defined.\n" +"Please edit the project and set the main scene in the Project Settings under " +"the \"Application\" category." +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Can't run project: Assets need to be imported.\n" +"Please edit the project to trigger the initial import." +msgstr "" + +#: editor/project_manager.cpp +msgid "Are you sure to run %d projects at once?" +msgstr "" + +#: editor/project_manager.cpp +msgid "Remove %d projects from the list?" +msgstr "" + +#: editor/project_manager.cpp +msgid "Remove this project from the list?" +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Remove all missing projects from the list?\n" +"The project folders' contents won't be modified." +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Language changed.\n" +"The interface will update after restarting the editor or project manager." +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Are you sure to scan %s folders for existing Godot projects?\n" +"This could take a while." +msgstr "" + +#. TRANSLATORS: This refers to the application where users manage their Godot projects. +#: editor/project_manager.cpp +msgctxt "Application" +msgid "Project Manager" +msgstr "" + +#: editor/project_manager.cpp +msgid "Last Modified" +msgstr "" + +#: editor/project_manager.cpp +msgid "Loading, please wait..." +msgstr "" + +#: editor/project_manager.cpp +msgid "Edit Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Run Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Scan" +msgstr "" + +#: editor/project_manager.cpp +msgid "Scan Projects" +msgstr "" + +#: editor/project_manager.cpp +msgid "Select a Folder to Scan" +msgstr "" + +#: editor/project_manager.cpp +msgid "New Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Import Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Remove Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Remove Missing" +msgstr "" + +#: editor/project_manager.cpp +msgid "About" +msgstr "" + +#: editor/project_manager.cpp +msgid "Restart Now" +msgstr "" + +#: editor/project_manager.cpp +msgid "Remove All" +msgstr "" + +#: editor/project_manager.cpp +msgid "Also delete project contents (no undo!)" +msgstr "" + +#: editor/project_manager.cpp +msgid "Can't run project" +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"You currently don't have any projects.\n" +"Would you like to explore official example projects in the Asset Library?" +msgstr "" + +#: editor/project_manager.cpp +msgid "Filter projects" +msgstr "" + +#: editor/project_manager.cpp +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 "" + +#: editor/project_settings_editor.cpp +msgid "Physical Key" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Key " +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Joy Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Joy Axis" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Mouse Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "" +"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " +"'\"'" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "An action with the name '%s' already exists." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Rename Input Action Event" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Change Action deadzone" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add Input Action Event" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "All Devices" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid " (Physical)" +msgstr "" + +#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +msgid "Press a Key..." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Mouse Button Index:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Left Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Right Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Middle Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Wheel Up Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Wheel Down Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Wheel Left Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Wheel Right Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "X Button 1" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "X Button 2" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Joypad Axis Index:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Joypad Button Index:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Erase Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Erase Input Action Event" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add Event" +msgstr "" + +#: editor/project_settings_editor.cpp +#: scene/resources/default_theme/default_theme.cpp +msgid "Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Left Button." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Right Button." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Middle Button." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Wheel Up." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Wheel Down." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add Global Property" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Select a setting item first!" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "No property '%s' exists." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Setting '%s' is internal, and it can't be deleted." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Delete Item" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "" +"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " +"'\"'." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Error saving settings." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Settings saved OK." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Moved Input Action Event" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Override for Feature" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add %d Translations" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Remove Translation" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Translation Resource Remap: Add %d Path(s)" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Translation Resource Remap: Add %d Remap(s)" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Change Resource Remap Language" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Remove Resource Remap" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Remove Resource Remap Option" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Changed Locale Filter" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Changed Locale Filter Mode" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Project Settings (project.godot)" +msgstr "" + +#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +msgid "General" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Override For..." +msgstr "" + +#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +msgid "The editor must be restarted for changes to take effect." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Input Map" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Action:" +msgstr "" + +#: editor/project_settings_editor.cpp scene/gui/scroll_container.cpp +msgid "Deadzone" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Device:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Index:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Localization" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Translations" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Translations:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Remaps" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Resources:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Remaps by Locale:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Locales Filter" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Show All Locales" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Show Selected Locales Only" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Filter mode:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Locales:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "AutoLoad" +msgstr "" + +#: editor/project_settings_editor.cpp platform/android/export/export_plugin.cpp +#: platform/iphone/export/export.cpp +msgid "Plugins" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Import Defaults" +msgstr "" + +#: editor/property_editor.cpp +msgid "Preset..." +msgstr "" + +#: editor/property_editor.cpp +msgid "Zero" +msgstr "" + +#: editor/property_editor.cpp +msgid "Easing In-Out" +msgstr "" + +#: editor/property_editor.cpp +msgid "Easing Out-In" +msgstr "" + +#: editor/property_editor.cpp +msgid "File..." +msgstr "" + +#: editor/property_editor.cpp +msgid "Dir..." +msgstr "" + +#: editor/property_editor.cpp +msgid "Assign" +msgstr "" + +#: editor/property_editor.cpp +msgid "Select Node" +msgstr "" + +#: editor/property_editor.cpp +msgid "Error loading file: Not a resource!" +msgstr "" + +#: editor/property_editor.cpp +msgid "Pick a Node" +msgstr "" + +#: editor/property_editor.cpp +msgid "Bit %d, val %d." +msgstr "" + +#: editor/property_selector.cpp +msgid "Select Property" +msgstr "" + +#: editor/property_selector.cpp +msgid "Select Virtual Method" +msgstr "" + +#: editor/property_selector.cpp +msgid "Select Method" +msgstr "" + +#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp +msgid "Batch Rename" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Prefix:" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Suffix:" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Use Regular Expressions" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Advanced Options" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Substitute" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Node name" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Node's parent name, if available" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Node type" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Current scene name" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Root node name" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "" +"Sequential integer counter.\n" +"Compare counter options." +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Per-level Counter" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "If set, the counter restarts for each group of child nodes." +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Initial value for the counter" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Amount by which counter is incremented for each node" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Padding" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "" +"Minimum number of digits for the counter.\n" +"Missing digits are padded with leading zeros." +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Post-Process" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Style" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Keep" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "PascalCase to snake_case" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "snake_case to PascalCase" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Case" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "To Lowercase" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "To Uppercase" +msgstr "" + +#: editor/rename_dialog.cpp scene/resources/default_theme/default_theme.cpp +msgid "Reset" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Regular Expression Error:" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "At character %s" +msgstr "" + +#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp +msgid "Reparent Node" +msgstr "" + +#: editor/reparent_dialog.cpp +msgid "Reparent Location (Select new Parent):" +msgstr "" + +#: editor/reparent_dialog.cpp +msgid "Keep Global Transform" +msgstr "" + +#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp +msgid "Reparent" +msgstr "" + +#: editor/run_settings_dialog.cpp +msgid "Run Mode:" +msgstr "" + +#: editor/run_settings_dialog.cpp scene/main/scene_tree.cpp +msgid "Current Scene" +msgstr "" + +#: editor/run_settings_dialog.cpp +msgid "Main Scene Arguments:" +msgstr "" + +#: editor/run_settings_dialog.cpp +msgid "Scene Run Settings" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "No parent to instance the scenes at." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Error loading scene from %s" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Cannot instance the scene '%s' because the current scene exists within one " +"of its nodes." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Instance Scene(s)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Replace with Branch Scene" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Instance Child Scene" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Can't paste root node into the same scene." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Paste Node(s)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Detach Script" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "This operation can't be done on the tree root." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Move Node In Parent" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Move Nodes In Parent" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Duplicate Node(s)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Can't reparent nodes in inherited scenes, order of nodes can't change." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Node must belong to the edited scene to become root." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Instantiated scenes can't become root" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Make node as Root" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Delete %d nodes and any children?" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Delete %d nodes?" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Delete the root node \"%s\"?" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Delete node \"%s\" and its children?" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Delete node \"%s\"?" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Saving the branch as a scene requires having a scene open in the editor." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Saving the branch as a scene requires selecting only one node, but you have " +"selected %d nodes." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save the root node branch as an instanced scene.\n" +"To create an editable copy of the current scene, duplicate it using the " +"FileSystem dock context menu\n" +"or create an inherited scene using Scene > New Inherited Scene... instead." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save the branch of an already instanced scene.\n" +"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 "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is a child of an already instantiated scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Can't save a branch which is part of an inherited scene.\n" +"To save this branch into its own scene, open the original scene, right click " +"on this branch, and select \"Save Branch as Scene\"." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Save New Scene As..." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Disabling \"editable_instance\" will cause all properties of the node to be " +"reverted to their default." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Enabling \"Load As Placeholder\" will disable \"Editable Children\" and " +"cause all properties of the node to be reverted to their default." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Make Local" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Enable Scene Unique Name(s)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Disable Scene Unique Name(s)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "New Scene Root" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Create Root Node:" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "2D Scene" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "3D Scene" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "User Interface" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Other Node" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Can't operate on nodes from a foreign scene!" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Can't operate on nodes the current scene inherits from!" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "This operation can't be done on instanced scenes." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Attach Script" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Cut Node(s)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Remove Node(s)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Change type of node(s)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Couldn't save new scene. Likely dependencies (instances) couldn't be " +"satisfied." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Error saving scene." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Error duplicating scene to save it." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Sub-Resources" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Access as Scene Unique Name" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Clear Inheritance" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Editable Children" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Load As Placeholder" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Add Child Node" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Expand/Collapse All" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Change Type" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Reparent to New Node" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Make Scene Root" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Merge From Scene" +msgstr "" + +#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp +msgid "Save Branch as Scene" +msgstr "" + +#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp +msgid "Copy Node Path" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Delete (No Confirm)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Add/Create a New Node." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Instance a scene file as a Node. Creates an inherited scene if no root node " +"exists." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Attach a new or existing script to the selected node." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Detach the script from the selected node." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Remote" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"If selected, the Remote scene tree dock will cause the project to stutter " +"every time it updates.\n" +"Switch back to the Local scene tree dock to improve performance." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Clear Inheritance? (No Undo!)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Show Scene Tree Root Selection" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Derive Script Globals By Name" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Use Favorites Root Selection" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Toggle Visible" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Unlock Node" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Button Group" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Disable Scene Unique Name" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "(Connecting From)" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Node configuration warning:" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"This node can be accessed from within anywhere in the scene by preceding it " +"with the '%s' prefix in a node path.\n" +"Click to disable this." +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"Node has %s connection(s) and %s group(s).\n" +"Click to show signals dock." +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"Node has %s connection(s).\n" +"Click to show signals dock." +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"Node is in %s group(s).\n" +"Click to show groups dock." +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Open Script:" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"Node is locked.\n" +"Click to unlock it." +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"Children are not selectable.\n" +"Click to make selectable." +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Toggle Visibility" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"AnimationPlayer is pinned.\n" +"Click to unpin." +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Invalid node name, the following characters are not allowed:" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Rename Node" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Scene Tree (Nodes):" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Node Configuration Warning!" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Select a Node" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Path is empty." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Filename is empty." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Path is not local." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Invalid base path." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "A directory with the same name exists." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Invalid extension." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Wrong extension chosen." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Error loading template '%s'" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Error - Could not create script in filesystem." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Error loading script from %s" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Overrides" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "N/A" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Open Script / Choose Location" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Open Script" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "File exists, it will be reused." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Invalid class name." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Invalid inherited parent name or path." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Script path/name is valid." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Allowed: a-z, A-Z, 0-9, _ and ." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Built-in script (into scene file)." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Will create a new script file." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Will load an existing script file." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Script file already exists." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "" +"Note: Built-in scripts have some limitations and can't be edited using an " +"external editor." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "" +"Warning: Having the script name be the same as a built-in type is usually " +"not desired." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Class Name:" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Template:" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Built-in Script:" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Attach Node Script" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Remote %s:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Bytes:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Warning:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Error:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "C++ Error" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "C++ Error:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "C++ Source" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Source:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "C++ Source:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Stack Trace" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Errors" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Child process connected." +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Copy Error" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Open C++ Source on GitHub" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Video RAM" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Skip Breakpoints" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Inspect Previous Instance" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Inspect Next Instance" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Stack Frames" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Filter stack variables" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Auto Switch To Remote Scene Tree" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Remote Scene Tree Refresh Interval" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Remote Inspect Refresh Interval" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Network Profiler" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Monitor" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Monitors" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Pick one or more items from the list to display the graph." +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "List of Video Memory Usage by Resource:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Total:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Export list to a CSV file" +msgstr "" + +#: editor/script_editor_debugger.cpp +#: modules/visual_script/visual_script_nodes.cpp +msgid "Resource Path" +msgstr "" + +#: editor/script_editor_debugger.cpp scene/resources/audio_stream_sample.cpp +#: servers/audio/effects/audio_effect_record.cpp +msgid "Format" +msgstr "" + +#: editor/script_editor_debugger.cpp scene/main/viewport.cpp +msgid "Usage" +msgstr "" + +#: editor/script_editor_debugger.cpp servers/visual_server.cpp +msgid "Misc" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Clicked Control:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Clicked Control Type:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Live Edit Root:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Set From Tree" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Export measures as CSV" +msgstr "" + +#: editor/settings_config_dialog.cpp +msgid "Erase Shortcut" +msgstr "" + +#: editor/settings_config_dialog.cpp +msgid "Restore Shortcut" +msgstr "" + +#: editor/settings_config_dialog.cpp +msgid "Change Shortcut" +msgstr "" + +#: editor/settings_config_dialog.cpp +msgid "Editor Settings" +msgstr "" + +#: editor/settings_config_dialog.cpp +msgid "Shortcuts" +msgstr "" + +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Light Radius" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Stream Player 3D" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change AudioStreamPlayer3D Emission Angle" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp modules/gltf/gltf_node.cpp +#: platform/osx/export/export.cpp +#: scene/resources/default_theme/default_theme.cpp +msgid "Camera" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Camera FOV" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Camera Size" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Visibility Notifier" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Notifier AABB" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Particles AABB" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Reflection Probe" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Probe Extents" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "GI Probe" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Baked Indirect Light" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp +msgid "Change Sphere Shape Radius" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp +msgid "Change Box Shape Extents" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Capsule Shape Radius" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Capsule Shape Height" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Cylinder Shape Radius" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Cylinder Shape Height" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Ray Shape Length" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Navigation Edge" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Navigation Edge Disabled" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Navigation Solid" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Navigation Solid Disabled" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Joint Body A" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Joint Body B" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Room Edge" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Room Overlap" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Room Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp scene/3d/portal.cpp +msgid "Portal Margin" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Portal Edge" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Portal Arrow" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Portal Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Portal Front" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Portal Back" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp scene/2d/light_occluder_2d.cpp +#: scene/2d/tile_map.cpp +msgid "Occluder" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Occluder Sphere Radius" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Occluder Sphere Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Occluder Polygon Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Set Occluder Hole Point Position" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Occluder Polygon Front" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Occluder Polygon Back" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Occluder Hole" +msgstr "" + +#: main/main.cpp +msgid "Godot Physics" +msgstr "" + +#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp +#: servers/visual/visual_server_scene.cpp +msgid "Use BVH" +msgstr "" + +#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp +#: servers/visual/visual_server_scene.cpp +msgid "BVH Collision Margin" +msgstr "" + +#: main/main.cpp +msgid "Crash Handler" +msgstr "" + +#: main/main.cpp +msgid "Multithreaded Server" +msgstr "" + +#: main/main.cpp +msgid "RID Pool Prealloc" +msgstr "" + +#: main/main.cpp +msgid "Debugger stdout" +msgstr "" + +#: main/main.cpp +msgid "Max Chars Per Second" +msgstr "" + +#: main/main.cpp +msgid "Max Messages Per Frame" +msgstr "" + +#: main/main.cpp +msgid "Max Errors Per Second" +msgstr "" + +#: main/main.cpp +msgid "Max Warnings Per Second" +msgstr "" + +#: main/main.cpp +msgid "Flush stdout On Print" +msgstr "" + +#: main/main.cpp servers/visual_server.cpp +msgid "Logging" +msgstr "" + +#: main/main.cpp +msgid "File Logging" +msgstr "" + +#: main/main.cpp +msgid "Enable File Logging" +msgstr "" + +#: main/main.cpp +msgid "Log Path" +msgstr "" + +#: main/main.cpp +msgid "Max Log Files" +msgstr "" + +#: main/main.cpp +msgid "Driver" +msgstr "" + +#: main/main.cpp +msgid "Driver Name" +msgstr "" + +#: main/main.cpp +msgid "Fallback To GLES2" +msgstr "" + +#: main/main.cpp +msgid "Use Nvidia Rect Flicker Workaround" +msgstr "" + +#: main/main.cpp +msgid "DPI" +msgstr "" + +#: main/main.cpp +msgid "Allow hiDPI" +msgstr "" + +#: main/main.cpp +msgid "V-Sync" +msgstr "" + +#: main/main.cpp +msgid "Use V-Sync" +msgstr "" + +#: main/main.cpp +msgid "Per Pixel Transparency" +msgstr "" + +#: main/main.cpp +msgid "Allowed" +msgstr "" + +#: main/main.cpp +msgid "Intended Usage" +msgstr "" + +#: main/main.cpp +msgid "Framebuffer Allocation" +msgstr "" + +#: main/main.cpp platform/uwp/os_uwp.cpp +msgid "Energy Saving" +msgstr "" + +#: main/main.cpp +msgid "Threads" +msgstr "" + +#: main/main.cpp servers/physics_2d/physics_2d_server_wrap_mt.h +msgid "Thread Model" +msgstr "" + +#: main/main.cpp +msgid "Thread Safe BVH" +msgstr "" + +#: main/main.cpp +msgid "Handheld" +msgstr "" + +#: main/main.cpp platform/javascript/export/export.cpp +#: platform/uwp/export/export.cpp +msgid "Orientation" +msgstr "" + +#: main/main.cpp scene/gui/scroll_container.cpp scene/gui/text_edit.cpp +#: scene/main/scene_tree.cpp scene/register_scene_types.cpp +msgid "Common" +msgstr "" + +#: main/main.cpp +msgid "Physics FPS" +msgstr "" + +#: main/main.cpp +msgid "Force FPS" +msgstr "" + +#: main/main.cpp +msgid "Enable Pause Aware Picking" +msgstr "" + +#: main/main.cpp scene/gui/item_list.cpp scene/gui/popup_menu.cpp +#: scene/gui/scroll_container.cpp scene/gui/text_edit.cpp scene/gui/tree.cpp +#: scene/main/viewport.cpp scene/register_scene_types.cpp +msgid "GUI" +msgstr "" + +#: main/main.cpp +msgid "Drop Mouse On GUI Input Disabled" +msgstr "" + +#: main/main.cpp +msgid "stdout" +msgstr "" + +#: main/main.cpp +msgid "Print FPS" +msgstr "" + +#: main/main.cpp +msgid "Verbose stdout" +msgstr "" + +#: main/main.cpp scene/main/scene_tree.cpp scene/resources/multimesh.cpp +msgid "Physics Interpolation" +msgstr "" + +#: main/main.cpp +msgid "Enable Warnings" +msgstr "" + +#: main/main.cpp +msgid "Frame Delay Msec" +msgstr "" + +#: main/main.cpp +msgid "Low Processor Mode" +msgstr "" + +#: main/main.cpp +msgid "Delta Sync After Draw" +msgstr "" + +#: main/main.cpp +msgid "iOS" +msgstr "" + +#: main/main.cpp +msgid "Hide Home Indicator" +msgstr "" + +#: main/main.cpp +msgid "Input Devices" +msgstr "" + +#: main/main.cpp +msgid "Pointing" +msgstr "" + +#: main/main.cpp +msgid "Touch Delay" +msgstr "" + +#: main/main.cpp servers/visual_server.cpp +msgid "GLES3" +msgstr "" + +#: main/main.cpp servers/visual_server.cpp +msgid "Shaders" +msgstr "" + +#: main/main.cpp +msgid "Debug Shader Fallbacks" +msgstr "" + +#: main/main.cpp scene/3d/baked_lightmap.cpp scene/3d/camera.cpp +#: scene/3d/world_environment.cpp scene/main/scene_tree.cpp +#: scene/resources/world.cpp +msgid "Environment" +msgstr "" + +#: main/main.cpp +msgid "Default Clear Color" +msgstr "" + +#: main/main.cpp +msgid "Boot Splash" +msgstr "" + +#: main/main.cpp +msgid "Show Image" +msgstr "" + +#: main/main.cpp +msgid "Image" +msgstr "" + +#: main/main.cpp +msgid "Fullsize" +msgstr "" + +#: main/main.cpp scene/resources/dynamic_font.cpp +msgid "Use Filter" +msgstr "" + +#: main/main.cpp scene/resources/style_box.cpp +msgid "BG Color" +msgstr "" + +#: main/main.cpp +msgid "macOS Native Icon" +msgstr "" + +#: main/main.cpp +msgid "Windows Native Icon" +msgstr "" + +#: main/main.cpp +msgid "Buffering" +msgstr "" + +#: main/main.cpp +msgid "Agile Event Flushing" +msgstr "" + +#: main/main.cpp +msgid "Emulate Touch From Mouse" +msgstr "" + +#: main/main.cpp +msgid "Emulate Mouse From Touch" +msgstr "" + +#: main/main.cpp +msgid "Mouse Cursor" +msgstr "" + +#: main/main.cpp +msgid "Custom Image" +msgstr "" + +#: main/main.cpp +msgid "Custom Image Hotspot" +msgstr "" + +#: main/main.cpp +msgid "Tooltip Position Offset" +msgstr "" + +#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp +msgid "Debugger Agent" +msgstr "" + +#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp +msgid "Wait For Debugger" +msgstr "" + +#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp +msgid "Wait Timeout" +msgstr "" + +#: main/main.cpp +msgid "Runtime" +msgstr "" + +#: main/main.cpp +msgid "Unhandled Exception Policy" +msgstr "" + +#: main/main.cpp +msgid "Main Loop Type" +msgstr "" + +#: main/main.cpp scene/gui/texture_progress.cpp +#: scene/gui/viewport_container.cpp +msgid "Stretch" +msgstr "" + +#: main/main.cpp +msgid "Aspect" +msgstr "" + +#: main/main.cpp +msgid "Shrink" +msgstr "" + +#: main/main.cpp scene/main/scene_tree.cpp +msgid "Auto Accept Quit" +msgstr "" + +#: main/main.cpp scene/main/scene_tree.cpp +msgid "Quit On Go Back" +msgstr "" + +#: main/main.cpp scene/main/viewport.cpp +msgid "Snap Controls To Pixels" +msgstr "" + +#: main/main.cpp +msgid "Dynamic Fonts" +msgstr "" + +#: main/main.cpp +msgid "Use Oversampling" +msgstr "" + +#: modules/bullet/register_types.cpp modules/bullet/space_bullet.cpp +msgid "Active Soft World" +msgstr "" + +#: modules/csg/csg_gizmos.cpp +msgid "CSG" +msgstr "" + +#: modules/csg/csg_gizmos.cpp +msgid "Change Cylinder Radius" +msgstr "" + +#: modules/csg/csg_gizmos.cpp +msgid "Change Cylinder Height" +msgstr "" + +#: modules/csg/csg_gizmos.cpp +msgid "Change Torus Inner Radius" +msgstr "" + +#: modules/csg/csg_gizmos.cpp +msgid "Change Torus Outer Radius" +msgstr "" + +#: modules/csg/csg_shape.cpp +msgid "Operation" +msgstr "" + +#: modules/csg/csg_shape.cpp +msgid "Calculate Tangents" +msgstr "" + +#: modules/csg/csg_shape.cpp +msgid "Use Collision" +msgstr "" + +#: modules/csg/csg_shape.cpp servers/physics_2d_server.cpp +msgid "Collision Layer" +msgstr "" + +#: modules/csg/csg_shape.cpp scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp +#: scene/3d/ray_cast.cpp scene/3d/spring_arm.cpp +#: scene/resources/navigation_mesh.cpp servers/physics_server.cpp +msgid "Collision Mask" +msgstr "" + +#: modules/csg/csg_shape.cpp +msgid "Invert Faces" +msgstr "" + +#: modules/csg/csg_shape.cpp scene/2d/navigation_agent_2d.cpp +#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_agent.cpp +#: scene/3d/navigation_obstacle.cpp scene/3d/vehicle_body.cpp +#: scene/animation/root_motion_view.cpp scene/resources/capsule_shape.cpp +#: scene/resources/capsule_shape_2d.cpp scene/resources/circle_shape_2d.cpp +#: scene/resources/cylinder_shape.cpp scene/resources/environment.cpp +#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp +#: scene/resources/sphere_shape.cpp +msgid "Radius" +msgstr "" + +#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp +msgid "Radial Segments" +msgstr "" + +#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp +msgid "Rings" +msgstr "" + +#: modules/csg/csg_shape.cpp +msgid "Smooth Faces" +msgstr "" + +#: modules/csg/csg_shape.cpp +msgid "Sides" +msgstr "" + +#: modules/csg/csg_shape.cpp +msgid "Cone" +msgstr "" + +#: modules/csg/csg_shape.cpp +msgid "Inner Radius" +msgstr "" + +#: modules/csg/csg_shape.cpp +msgid "Outer Radius" +msgstr "" + +#: modules/csg/csg_shape.cpp +msgid "Ring Sides" +msgstr "" + +#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp +#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp +#: scene/3d/collision_polygon.cpp +msgid "Polygon" +msgstr "" + +#: modules/csg/csg_shape.cpp +msgid "Spin Degrees" +msgstr "" + +#: modules/csg/csg_shape.cpp +msgid "Spin Sides" +msgstr "" + +#: modules/csg/csg_shape.cpp +msgid "Path Node" +msgstr "" + +#: modules/csg/csg_shape.cpp +msgid "Path Interval Type" +msgstr "" + +#: modules/csg/csg_shape.cpp +msgid "Path Interval" +msgstr "" + +#: modules/csg/csg_shape.cpp +msgid "Path Simplify Angle" +msgstr "" + +#: modules/csg/csg_shape.cpp +msgid "Path Rotation" +msgstr "" + +#: modules/csg/csg_shape.cpp +msgid "Path Local" +msgstr "" + +#: modules/csg/csg_shape.cpp +msgid "Path Continuous U" +msgstr "" + +#: modules/csg/csg_shape.cpp +msgid "Path U Distance" +msgstr "" + +#: modules/csg/csg_shape.cpp +msgid "Path Joined" +msgstr "" + +#: modules/enet/networked_multiplayer_enet.cpp +msgid "Compression Mode" +msgstr "" + +#: modules/enet/networked_multiplayer_enet.cpp +msgid "Transfer Channel" +msgstr "" + +#: modules/enet/networked_multiplayer_enet.cpp +msgid "Channel Count" +msgstr "" + +#: modules/enet/networked_multiplayer_enet.cpp +msgid "Always Ordered" +msgstr "" + +#: modules/enet/networked_multiplayer_enet.cpp +msgid "Server Relay" +msgstr "" + +#: modules/enet/networked_multiplayer_enet.cpp +msgid "DTLS Verify" +msgstr "" + +#: modules/enet/networked_multiplayer_enet.cpp +msgid "DTLS Hostname" +msgstr "" + +#: modules/enet/networked_multiplayer_enet.cpp +msgid "Use DTLS" +msgstr "" + +#: modules/fbx/editor_scene_importer_fbx.cpp +msgid "FBX" +msgstr "" + +#: modules/fbx/editor_scene_importer_fbx.cpp +msgid "Use FBX" +msgstr "" + +#: modules/gdnative/gdnative.cpp +msgid "Config File" +msgstr "" + +#: modules/gdnative/gdnative.cpp +msgid "Load Once" +msgstr "" + +#: modules/gdnative/gdnative.cpp +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Singleton" +msgstr "" + +#: modules/gdnative/gdnative.cpp +msgid "Symbol Prefix" +msgstr "" + +#: modules/gdnative/gdnative.cpp +msgid "Reloadable" +msgstr "" + +#: modules/gdnative/gdnative.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp +#: modules/gdnative/nativescript/nativescript.cpp +msgid "Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Remove current entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Enabled GDNative Singleton" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Disabled GDNative Singleton" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Libraries:" +msgstr "" + +#: modules/gdnative/nativescript/nativescript.cpp +msgid "Class Name" +msgstr "" + +#: modules/gdnative/nativescript/nativescript.cpp +msgid "Script Class" +msgstr "" + +#: modules/gdnative/nativescript/nativescript.cpp +msgid "Icon Path" +msgstr "" + +#: modules/gdnative/register_types.cpp +msgid "GDNative" +msgstr "" + +#: modules/gdscript/editor/gdscript_highlighter.cpp +#: modules/gdscript/gdscript.cpp +msgid "GDScript" +msgstr "" + +#: modules/gdscript/editor/gdscript_highlighter.cpp +msgid "Function Definition Color" +msgstr "" + +#: modules/gdscript/editor/gdscript_highlighter.cpp +msgid "Node Path Color" +msgstr "" + +#: modules/gdscript/gdscript.cpp modules/visual_script/visual_script.cpp +msgid "Max Call Stack" +msgstr "" + +#: modules/gdscript/gdscript.cpp +msgid "Treat Warnings As Errors" +msgstr "" + +#: modules/gdscript/gdscript.cpp +msgid "Exclude Addons" +msgstr "" + +#: modules/gdscript/gdscript.cpp +msgid "Autocomplete Setters And Getters" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Step argument is zero!" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Not a script with an instance" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Not based on a script" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Not based on a resource file" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Invalid instance dictionary format (missing @path)" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Invalid instance dictionary format (can't load script at @path)" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Invalid instance dictionary format (invalid script at @path)" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Invalid instance dictionary (invalid subclasses)" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Object can't provide a length." +msgstr "" + +#: modules/gdscript/language_server/gdscript_language_server.cpp +msgid "Language Server" +msgstr "" + +#: modules/gdscript/language_server/gdscript_language_server.cpp +msgid "Enable Smart Resolve" +msgstr "" + +#: modules/gdscript/language_server/gdscript_language_server.cpp +msgid "Show Native Symbols In Editor" +msgstr "" + +#: modules/gdscript/language_server/gdscript_language_server.cpp +msgid "Use Thread" +msgstr "" + +#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp +msgid "Export Mesh GLTF2" +msgstr "" + +#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp +msgid "Export GLTF..." +msgstr "" + +#: modules/gltf/gltf_accessor.cpp +msgid "Buffer View" +msgstr "" + +#: modules/gltf/gltf_accessor.cpp modules/gltf/gltf_buffer_view.cpp +msgid "Byte Offset" +msgstr "" + +#: modules/gltf/gltf_accessor.cpp +msgid "Component Type" +msgstr "" + +#: modules/gltf/gltf_accessor.cpp +msgid "Normalized" +msgstr "" + +#: modules/gltf/gltf_accessor.cpp +msgid "Count" +msgstr "" + +#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp +msgid "Min" +msgstr "" + +#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp +msgid "Max" +msgstr "" + +#: modules/gltf/gltf_accessor.cpp +msgid "Sparse Count" +msgstr "" + +#: modules/gltf/gltf_accessor.cpp +msgid "Sparse Indices Buffer View" +msgstr "" + +#: modules/gltf/gltf_accessor.cpp +msgid "Sparse Indices Byte Offset" +msgstr "" + +#: modules/gltf/gltf_accessor.cpp +msgid "Sparse Indices Component Type" +msgstr "" + +#: modules/gltf/gltf_accessor.cpp +msgid "Sparse Values Buffer View" +msgstr "" + +#: modules/gltf/gltf_accessor.cpp +msgid "Sparse Values Byte Offset" +msgstr "" + +#: modules/gltf/gltf_buffer_view.cpp +msgid "Buffer" +msgstr "" + +#: modules/gltf/gltf_buffer_view.cpp +msgid "Byte Length" +msgstr "" + +#: modules/gltf/gltf_buffer_view.cpp +msgid "Byte Stride" +msgstr "" + +#: modules/gltf/gltf_buffer_view.cpp +msgid "Indices" +msgstr "" + +#: modules/gltf/gltf_camera.cpp +msgid "FOV Size" +msgstr "" + +#: modules/gltf/gltf_camera.cpp +msgid "Zfar" +msgstr "" + +#: modules/gltf/gltf_camera.cpp +msgid "Znear" +msgstr "" + +#: modules/gltf/gltf_light.cpp scene/2d/canvas_modulate.cpp +#: scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp scene/2d/polygon_2d.cpp +#: scene/3d/cpu_particles.cpp scene/3d/light.cpp +#: scene/animation/root_motion_view.cpp scene/gui/color_picker.cpp +#: scene/gui/color_rect.cpp scene/gui/rich_text_effect.cpp +#: scene/resources/environment.cpp scene/resources/material.cpp +#: scene/resources/particles_material.cpp scene/resources/sky.cpp +#: scene/resources/style_box.cpp +msgid "Color" +msgstr "" + +#: modules/gltf/gltf_light.cpp scene/3d/reflection_probe.cpp +#: scene/resources/environment.cpp +msgid "Intensity" +msgstr "" + +#: modules/gltf/gltf_light.cpp scene/2d/light_2d.cpp scene/3d/light.cpp +msgid "Range" +msgstr "" + +#: modules/gltf/gltf_light.cpp +msgid "Inner Cone Angle" +msgstr "" + +#: modules/gltf/gltf_light.cpp +msgid "Outer Cone Angle" +msgstr "" + +#: modules/gltf/gltf_mesh.cpp +msgid "Blend Weights" +msgstr "" + +#: modules/gltf/gltf_mesh.cpp +msgid "Instance Materials" +msgstr "" + +#: modules/gltf/gltf_node.cpp scene/3d/skeleton.cpp +msgid "Parent" +msgstr "" + +#: modules/gltf/gltf_node.cpp +msgid "Xform" +msgstr "" + +#: modules/gltf/gltf_node.cpp scene/3d/mesh_instance.cpp +msgid "Skin" +msgstr "" + +#: modules/gltf/gltf_node.cpp scene/3d/spatial.cpp +msgid "Translation" +msgstr "" + +#: modules/gltf/gltf_node.cpp +msgid "Children" +msgstr "" + +#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp +msgid "Joints" +msgstr "" + +#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp +msgid "Roots" +msgstr "" + +#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_state.cpp +msgid "Unique Names" +msgstr "" + +#: modules/gltf/gltf_skeleton.cpp +msgid "Godot Bone Node" +msgstr "" + +#: modules/gltf/gltf_skin.cpp +msgid "Skin Root" +msgstr "" + +#: modules/gltf/gltf_skin.cpp +msgid "Joints Original" +msgstr "" + +#: modules/gltf/gltf_skin.cpp +msgid "Inverse Binds" +msgstr "" + +#: modules/gltf/gltf_skin.cpp +msgid "Non Joints" +msgstr "" + +#: modules/gltf/gltf_skin.cpp +msgid "Joint I To Bone I" +msgstr "" + +#: modules/gltf/gltf_skin.cpp +msgid "Joint I To Name" +msgstr "" + +#: modules/gltf/gltf_skin.cpp +msgid "Godot Skin" +msgstr "" + +#: modules/gltf/gltf_spec_gloss.cpp +msgid "Diffuse Img" +msgstr "" + +#: modules/gltf/gltf_spec_gloss.cpp +msgid "Diffuse Factor" +msgstr "" + +#: modules/gltf/gltf_spec_gloss.cpp +msgid "Gloss Factor" +msgstr "" + +#: modules/gltf/gltf_spec_gloss.cpp +msgid "Specular Factor" +msgstr "" + +#: modules/gltf/gltf_spec_gloss.cpp +msgid "Spec Gloss Img" +msgstr "" + +#: modules/gltf/gltf_state.cpp +msgid "Json" +msgstr "" + +#: modules/gltf/gltf_state.cpp +msgid "Major Version" +msgstr "" + +#: modules/gltf/gltf_state.cpp +msgid "Minor Version" +msgstr "" + +#: modules/gltf/gltf_state.cpp +msgid "GLB Data" +msgstr "" + +#: modules/gltf/gltf_state.cpp +msgid "Use Named Skin Binds" +msgstr "" + +#: modules/gltf/gltf_state.cpp +msgid "Buffer Views" +msgstr "" + +#: modules/gltf/gltf_state.cpp +msgid "Accessors" +msgstr "" + +#: modules/gltf/gltf_state.cpp +msgid "Scene Name" +msgstr "" + +#: modules/gltf/gltf_state.cpp +msgid "Root Nodes" +msgstr "" + +#: modules/gltf/gltf_state.cpp scene/2d/particles_2d.cpp +#: scene/gui/texture_button.cpp scene/gui/texture_progress.cpp +msgid "Textures" +msgstr "" + +#: modules/gltf/gltf_state.cpp platform/uwp/export/export.cpp +msgid "Images" +msgstr "" + +#: modules/gltf/gltf_state.cpp +msgid "Cameras" +msgstr "" + +#: modules/gltf/gltf_state.cpp servers/visual_server.cpp +msgid "Lights" +msgstr "" + +#: modules/gltf/gltf_state.cpp +msgid "Unique Animation Names" +msgstr "" + +#: modules/gltf/gltf_state.cpp +msgid "Skeletons" +msgstr "" + +#: modules/gltf/gltf_state.cpp +msgid "Skeleton To Node" +msgstr "" + +#: modules/gltf/gltf_state.cpp +msgid "Animations" +msgstr "" + +#: modules/gltf/gltf_texture.cpp +msgid "Src Image" +msgstr "" + +#: modules/gridmap/grid_map.cpp +msgid "Mesh Library" +msgstr "" + +#: modules/gridmap/grid_map.cpp +msgid "Physics Material" +msgstr "" + +#: modules/gridmap/grid_map.cpp scene/3d/visual_instance.cpp +msgid "Use In Baked Light" +msgstr "" + +#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp +msgid "Cell" +msgstr "" + +#: modules/gridmap/grid_map.cpp +msgid "Octant Size" +msgstr "" + +#: modules/gridmap/grid_map.cpp +msgid "Center X" +msgstr "" + +#: modules/gridmap/grid_map.cpp +msgid "Center Y" +msgstr "" + +#: modules/gridmap/grid_map.cpp +msgid "Center Z" +msgstr "" + +#: modules/gridmap/grid_map.cpp scene/2d/collision_object_2d.cpp +#: scene/2d/tile_map.cpp scene/3d/collision_object.cpp scene/3d/soft_body.cpp +#: scene/resources/material.cpp +msgid "Mask" +msgstr "" + +#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp +msgid "Bake Navigation" +msgstr "" + +#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp +#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp +#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "Navigation Layers" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Next Plane" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Previous Plane" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Plane:" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Next Floor" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Previous Floor" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Floor:" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "GridMap Delete Selection" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "GridMap Fill Selection" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "GridMap Paste Selection" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "GridMap Paint" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "GridMap Selection" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Snap View" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Clip Disabled" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Clip Above" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Clip Below" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Edit X Axis" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Edit Y Axis" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Edit Z Axis" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Rotate X" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Rotate Y" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Rotate Z" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Back Rotate X" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Back Rotate Y" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Back Rotate Z" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Clear Rotation" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Paste Selects" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Clear Selection" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Fill Selection" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "GridMap Settings" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Pick Distance:" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Filter meshes" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Give a MeshLibrary resource to this GridMap to use its meshes." +msgstr "" + +#: modules/lightmapper_cpu/lightmapper_cpu.cpp +msgid "Begin Bake" +msgstr "" + +#: modules/lightmapper_cpu/lightmapper_cpu.cpp +msgid "Preparing data structures" +msgstr "" + +#: modules/lightmapper_cpu/lightmapper_cpu.cpp +msgid "Generate buffers" +msgstr "" + +#: modules/lightmapper_cpu/lightmapper_cpu.cpp +msgid "Direct lighting" +msgstr "" + +#: modules/lightmapper_cpu/lightmapper_cpu.cpp +msgid "Indirect lighting" +msgstr "" + +#: modules/lightmapper_cpu/lightmapper_cpu.cpp +msgid "Post processing" +msgstr "" + +#: modules/lightmapper_cpu/lightmapper_cpu.cpp +msgid "Plotting lightmaps" +msgstr "" + +#: modules/lightmapper_cpu/register_types.cpp +msgid "CPU Lightmapper" +msgstr "" + +#: modules/lightmapper_cpu/register_types.cpp +msgid "Low Quality Ray Count" +msgstr "" + +#: modules/lightmapper_cpu/register_types.cpp +msgid "Medium Quality Ray Count" +msgstr "" + +#: modules/lightmapper_cpu/register_types.cpp +msgid "High Quality Ray Count" +msgstr "" + +#: modules/lightmapper_cpu/register_types.cpp +msgid "Ultra Quality Ray Count" +msgstr "" + +#: modules/minimp3/audio_stream_mp3.cpp +#: modules/minimp3/resource_importer_mp3.cpp +#: modules/stb_vorbis/audio_stream_ogg_vorbis.cpp +#: modules/stb_vorbis/resource_importer_ogg_vorbis.cpp +msgid "Loop Offset" +msgstr "" + +#: modules/mobile_vr/mobile_vr_interface.cpp +msgid "Eye Height" +msgstr "" + +#: modules/mobile_vr/mobile_vr_interface.cpp +msgid "IOD" +msgstr "" + +#: modules/mobile_vr/mobile_vr_interface.cpp +msgid "Display Width" +msgstr "" + +#: modules/mobile_vr/mobile_vr_interface.cpp +msgid "Display To Lens" +msgstr "" + +#: modules/mobile_vr/mobile_vr_interface.cpp +msgid "Oversample" +msgstr "" + +#: modules/mobile_vr/mobile_vr_interface.cpp +msgid "K1" +msgstr "" + +#: modules/mobile_vr/mobile_vr_interface.cpp +msgid "K2" +msgstr "" + +#: modules/mono/csharp_script.cpp +msgid "Class name can't be a reserved keyword" +msgstr "" + +#: modules/mono/csharp_script.cpp +msgid "Build Solution" +msgstr "" + +#: modules/mono/editor/csharp_project.cpp +msgid "Auto Update Project" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "Assembly Name" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "Solution Directory" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "C# Project Directory" +msgstr "" + +#: modules/mono/mono_gd/gd_mono_utils.cpp +msgid "End of inner exception stack trace" +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp +#: scene/3d/navigation_mesh_instance.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp +msgid "Bake NavMesh" +msgstr "" + +#: modules/navigation/navigation_mesh_editor_plugin.cpp +msgid "Clear the navigation mesh." +msgstr "" + +#: modules/navigation/navigation_mesh_generator.cpp +msgid "Setting up Configuration..." +msgstr "" + +#: modules/navigation/navigation_mesh_generator.cpp +msgid "Calculating grid size..." +msgstr "" + +#: modules/navigation/navigation_mesh_generator.cpp +msgid "Creating heightfield..." +msgstr "" + +#: modules/navigation/navigation_mesh_generator.cpp +msgid "Marking walkable triangles..." +msgstr "" + +#: modules/navigation/navigation_mesh_generator.cpp +msgid "Constructing compact heightfield..." +msgstr "" + +#: modules/navigation/navigation_mesh_generator.cpp +msgid "Eroding walkable area..." +msgstr "" + +#: modules/navigation/navigation_mesh_generator.cpp +msgid "Partitioning..." +msgstr "" + +#: modules/navigation/navigation_mesh_generator.cpp +msgid "Creating contours..." +msgstr "" + +#: modules/navigation/navigation_mesh_generator.cpp +msgid "Creating polymesh..." +msgstr "" + +#: modules/navigation/navigation_mesh_generator.cpp +msgid "Converting to native navigation mesh..." +msgstr "" + +#: modules/navigation/navigation_mesh_generator.cpp +msgid "Navigation Mesh Generator Setup:" +msgstr "" + +#: modules/navigation/navigation_mesh_generator.cpp +msgid "Parsing Geometry..." +msgstr "" + +#: modules/navigation/navigation_mesh_generator.cpp +msgid "Done!" +msgstr "" + +#: modules/opensimplex/noise_texture.cpp +msgid "Seamless" +msgstr "" + +#: modules/opensimplex/noise_texture.cpp +msgid "As Normal Map" +msgstr "" + +#: modules/opensimplex/noise_texture.cpp +msgid "Bump Strength" +msgstr "" + +#: modules/opensimplex/noise_texture.cpp +msgid "Noise" +msgstr "" + +#: modules/opensimplex/noise_texture.cpp +msgid "Noise Offset" +msgstr "" + +#: modules/opensimplex/open_simplex_noise.cpp +msgid "Octaves" +msgstr "" + +#: modules/opensimplex/open_simplex_noise.cpp +msgid "Period" +msgstr "" + +#: modules/opensimplex/open_simplex_noise.cpp +msgid "Persistence" +msgstr "" + +#: modules/opensimplex/open_simplex_noise.cpp +msgid "Lacunarity" +msgstr "" + +#: modules/regex/regex.cpp +msgid "Subject" +msgstr "" + +#: modules/regex/regex.cpp +msgid "Names" +msgstr "" + +#: modules/regex/regex.cpp +msgid "Strings" +msgstr "" + +#: modules/upnp/upnp.cpp +msgid "Discover Multicast If" +msgstr "" + +#: modules/upnp/upnp.cpp +msgid "Discover Local Port" +msgstr "" + +#: modules/upnp/upnp.cpp +msgid "Discover IPv6" +msgstr "" + +#: modules/upnp/upnp_device.cpp +msgid "Description URL" +msgstr "" + +#: modules/upnp/upnp_device.cpp +msgid "Service Type" +msgstr "" + +#: modules/upnp/upnp_device.cpp +msgid "IGD Control URL" +msgstr "" + +#: modules/upnp/upnp_device.cpp +msgid "IGD Service Type" +msgstr "" + +#: modules/upnp/upnp_device.cpp +msgid "IGD Our Addr" +msgstr "" + +#: modules/upnp/upnp_device.cpp +msgid "IGD Status" +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "" +"A node yielded without working memory, please read the docs on how to yield " +"properly!" +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "" +"Node yielded, but did not return a function state in the first working " +"memory." +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "" +"Return value must be assigned to first element of node working memory! Fix " +"your node please." +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "Node returned an invalid sequence output:" +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "Found sequence bit but not the node in the stack, report bug!" +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "Stack overflow with stack depth:" +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "Visual Script" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Signal Arguments" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Argument Type" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Argument name" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Set Variable Default Value" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Set Variable Type" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Input Port" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Output Port" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Port Type" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Port Name" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Override an existing built-in function." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Create a new function." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Variables:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Create a new variable." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Signals:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Create a new signal." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Name is not a valid identifier:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Name already in use by another func/var/signal:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Rename Function" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Rename Variable" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Rename Signal" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Function" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Delete input port" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Variable" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Signal" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove Input Port" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove Output Port" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Expression" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Can't copy the function node." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Paste VisualScript Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove VisualScript Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Duplicate VisualScript Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold %s to drop a Getter. Hold Shift to drop a generic signature." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold Ctrl to drop a Getter. Hold Shift to drop a generic signature." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold %s to drop a simple reference to the node." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold Ctrl to drop a simple reference to the node." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold %s to drop a Variable Setter." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold Ctrl to drop a Variable Setter." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Preload Node" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Node(s)" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Node(s) From Tree" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "" +"Can't drop properties because script '%s' is not used in this scene.\n" +"Drop holding 'Shift' to just copy the signature." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Getter Property" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Setter Property" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Base Type" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Move Node(s)" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove VisualScript Node" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Connect Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Disconnect Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Connect Node Data" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Connect Node Sequence" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Script already has function '%s'" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Input Value" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Resize Comment" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Can't create function with a function node." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Can't create function of nodes from nodes of multiple functions." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Select at least one node with sequence port." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Try to only have one sequence input in selection." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Create Function" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove Function" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove Variable" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Editing Variable:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove Signal" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Editing Signal:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Make Tool:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Members:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Base Type:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Nodes..." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Function..." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "function_name" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Select or create a function to edit its graph." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Delete Selected" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Find Node Type" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Copy Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Cut Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Make Function" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Refresh Graph" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Edit Member" +msgstr "" + +#: modules/visual_script/visual_script_expression.cpp +#: scene/resources/visual_shader.cpp +msgid "Expression" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "Return" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "Return Enabled" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "Return Type" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +#: scene/resources/visual_shader_nodes.cpp +msgid "Condition" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "if (cond) is:" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "While" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "while (cond):" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "Iterator" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "for (elem) in (input):" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "Input type not iterable:" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "Iterator became invalid" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "Iterator became invalid:" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "Sequence" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "in order:" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "Steps" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "Switch" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "'input' is:" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "Type Cast" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "Is %s?" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Base Script" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "On %s" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "On Self" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +#: modules/visual_script/visual_script_yield_nodes.cpp +msgid "Call Mode" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +#: modules/visual_script/visual_script_nodes.cpp +msgid "Basic Type" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +#: modules/visual_script/visual_script_nodes.cpp +#: modules/visual_script/visual_script_yield_nodes.cpp +msgid "Node Path" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Use Default Args" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Validate" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "RPC Call Mode" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Subtract %s" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Multiply %s" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Divide %s" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Mod %s" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "ShiftLeft %s" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "ShiftRight %s" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "BitAnd %s" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "BitOr %s" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "BitXor %s" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Set Mode" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Assign Op" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +#: modules/visual_script/visual_script_nodes.cpp +#: modules/visual_script/visual_script_property_selector.cpp +msgid "Get %s" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Invalid index property name." +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Base object is not a Node!" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Path does not lead to Node!" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Invalid index property name '%s' in node %s." +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Emit %s" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Compose Array" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp scene/resources/material.cpp +#: scene/resources/visual_shader_nodes.cpp +msgid "Operator" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Invalid argument of type:" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Invalid arguments:" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "a if cond, else b" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Var Name" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "VariableGet not found in script:" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "VariableSet not found in script:" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Preload" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Get Index" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Set Index" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Global Constant" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Class Constant" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Basic Constant" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Math Constant" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Get Engine Singleton" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Get Scene Node" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Get Scene Tree" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Get Self" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "CustomNode" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Custom node has no _step() method, can't process graph." +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "" +"Invalid return value from _step(), must be integer (seq out), or string " +"(error)." +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "SubCall" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp scene/gui/graph_node.cpp +msgid "Title" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Construct %s" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Get Local Var" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Set Local Var" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Action %s" +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Deconstruct %s" +msgstr "" + +#: modules/visual_script/visual_script_property_selector.cpp +msgid "Search VisualScript" +msgstr "" + +#: modules/visual_script/visual_script_yield_nodes.cpp +msgid "Yield" +msgstr "" + +#: modules/visual_script/visual_script_yield_nodes.cpp +msgid "Wait" +msgstr "" + +#: modules/visual_script/visual_script_yield_nodes.cpp +msgid "Next Frame" +msgstr "" + +#: modules/visual_script/visual_script_yield_nodes.cpp +msgid "Next Physics Frame" +msgstr "" + +#: modules/visual_script/visual_script_yield_nodes.cpp +msgid "%s sec(s)" +msgstr "" + +#: modules/visual_script/visual_script_yield_nodes.cpp scene/main/timer.cpp +msgid "Wait Time" +msgstr "" + +#: modules/visual_script/visual_script_yield_nodes.cpp +msgid "WaitSignal" +msgstr "" + +#: modules/visual_script/visual_script_yield_nodes.cpp +msgid "WaitNodeSignal" +msgstr "" + +#: modules/visual_script/visual_script_yield_nodes.cpp +msgid "WaitInstanceSignal" +msgstr "" + +#: modules/webrtc/webrtc_data_channel.cpp +msgid "Write Mode" +msgstr "" + +#: modules/webrtc/webrtc_data_channel.h +msgid "WebRTC" +msgstr "" + +#: modules/webrtc/webrtc_data_channel.h +msgid "Max Channel In Buffer (KB)" +msgstr "" + +#: modules/websocket/websocket_client.cpp +msgid "Verify SSL" +msgstr "" + +#: modules/websocket/websocket_client.cpp +msgid "Trusted SSL Certificate" +msgstr "" + +#: modules/websocket/websocket_macros.h +msgid "WebSocket Client" +msgstr "" + +#: modules/websocket/websocket_macros.h +msgid "Max In Buffer (KB)" +msgstr "" + +#: modules/websocket/websocket_macros.h +msgid "Max In Packets" +msgstr "" + +#: modules/websocket/websocket_macros.h +msgid "Max Out Buffer (KB)" +msgstr "" + +#: modules/websocket/websocket_macros.h +msgid "Max Out Packets" +msgstr "" + +#: modules/websocket/websocket_macros.h +msgid "WebSocket Server" +msgstr "" + +#: modules/websocket/websocket_server.cpp +msgid "Bind IP" +msgstr "" + +#: modules/websocket/websocket_server.cpp +msgid "Private Key" +msgstr "" + +#: modules/websocket/websocket_server.cpp platform/javascript/export/export.cpp +msgid "SSL Certificate" +msgstr "" + +#: modules/websocket/websocket_server.cpp +msgid "CA Chain" +msgstr "" + +#: modules/websocket/websocket_server.cpp +msgid "Handshake Timeout" +msgstr "" + +#: modules/webxr/webxr_interface.cpp +msgid "Session Mode" +msgstr "" + +#: modules/webxr/webxr_interface.cpp +msgid "Required Features" +msgstr "" + +#: modules/webxr/webxr_interface.cpp +msgid "Optional Features" +msgstr "" + +#: modules/webxr/webxr_interface.cpp +msgid "Requested Reference Space Types" +msgstr "" + +#: modules/webxr/webxr_interface.cpp +msgid "Reference Space Type" +msgstr "" + +#: modules/webxr/webxr_interface.cpp +msgid "Visibility State" +msgstr "" + +#: modules/webxr/webxr_interface.cpp +msgid "Bounds Geometry" +msgstr "" + +#: modules/webxr/webxr_interface.cpp +msgid "XR Standard Mapping" +msgstr "" + +#: platform/android/export/export.cpp +msgid "Android SDK Path" +msgstr "" + +#: platform/android/export/export.cpp +msgid "Debug Keystore" +msgstr "" + +#: platform/android/export/export.cpp +msgid "Debug Keystore User" +msgstr "" + +#: platform/android/export/export.cpp +msgid "Debug Keystore Pass" +msgstr "" + +#: platform/android/export/export.cpp +msgid "Force System User" +msgstr "" + +#: platform/android/export/export.cpp +msgid "Shutdown ADB On Exit" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Launcher Icons" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Main 192 X 192" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Adaptive Foreground 432 X 432" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Adaptive Background 432 X 432" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Package name is missing." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Package segments must be of non-zero length." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "The character '%s' is not allowed in Android application package names." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "A digit cannot be the first character in a package segment." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "The character '%s' cannot be the first character in a package segment." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "The package must have at least one '.' separator." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Custom Build" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Use Custom Build" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Export Format" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Min SDK" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Target SDK" +msgstr "" + +#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp +msgid "Architectures" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Keystore" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Debug User" +msgstr "" + +#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp +msgid "Debug Password" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Release User" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Release Password" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "One Click Deploy" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Clear Previous Install" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Code" +msgstr "" + +#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp +msgid "Package" +msgstr "" + +#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp +msgid "Unique Name" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Signed" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Classify As Game" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Retain Data On Uninstall" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Exclude From Recents" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Graphics" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "OpenGL Debug" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "XR Features" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "XR Mode" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Hand Tracking" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Hand Tracking Frequency" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Passthrough" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Immersive Mode" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Support Small" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Support Normal" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Support Large" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Support Xlarge" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "User Data Backup" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Allow" +msgstr "" + +#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp +msgid "Command Line" +msgstr "" + +#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp +msgid "Extra Args" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "APK Expansion" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Salt" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Public Key" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Permissions" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Custom Permissions" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Select device from the list" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Running on %s" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Exporting APK..." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Uninstalling..." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Installing to device, please wait..." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Could not install to device: %s" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Running on device..." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Could not execute on device." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Android build template not installed in the project. Install it from the " +"Project menu." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Either Debug Keystore, Debug User AND Debug Password settings must be " +"configured OR none of them." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Debug keystore not configured in the Editor Settings nor in the preset." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Either Release Keystore, Release User AND Release Password settings must be " +"configured OR none of them." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "A valid Android SDK path is required in Editor Settings." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Invalid Android SDK path in Editor Settings." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Missing 'platform-tools' directory!" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Unable to find Android SDK platform-tools' adb command." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Please check in the Android SDK directory specified in Editor Settings." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Missing 'build-tools' directory!" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Unable to find Android SDK build-tools' apksigner command." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Invalid public key for APK expansion." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Invalid package name:" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n" +"Note that the singleton was also renamed from \"GodotPayments\" to " +"\"GodotGooglePlayBilling\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"\"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 +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"\"Min SDK\" cannot be lower than %d, which is the version needed by the " +"Godot library." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"\"Target SDK\" %d is higher than the default version %d. This may work, but " +"wasn't tested and may be unstable." +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 platform/osx/export/export.cpp +#: platform/windows/export/export.cpp +msgid "Code Signing" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"'apksigner' could not be found. Please check that the command is available " +"in the Android SDK build-tools directory. The resulting %s is unsigned." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Signing debug %s..." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Signing release %s..." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Could not find keystore, unable to export." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Could not start apksigner executable." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "'apksigner' returned with error #%d" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Verifying %s..." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "'apksigner' verification of %s failed." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Exporting for Android" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Unsupported export format!" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Trying to build from a custom built template, but no version info for it " +"exists. Please reinstall from the 'Project' menu." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Android build version mismatch: Template installed: %s, Godot version: %s. " +"Please reinstall Android build template from 'Project' menu." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Unable to overwrite res://android/build/res/*.xml files with project name." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Could not export project files to gradle project." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Could not write expansion package file!" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Building Android Project (gradle)" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Building of Android project failed, check output for the error. " +"Alternatively visit docs.godotengine.org for Android build documentation." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Moving output" +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Package not found: \"%s\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Creating APK..." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Could not find template APK to export: \"%s\"." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "" +"Missing libraries in the export template for the selected architectures: %s. " +"Please build a template with all required libraries, or uncheck the missing " +"architectures in the export preset." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Adding files..." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Could not export project files." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Aligning APK..." +msgstr "" + +#: platform/android/export/export_plugin.cpp +msgid "Could not unzip temporary unaligned APK." +msgstr "" + +#: platform/iphone/export/export.cpp platform/osx/export/export.cpp +msgid "Identifier is missing." +msgstr "" + +#: platform/iphone/export/export.cpp platform/osx/export/export.cpp +msgid "The character '%s' is not allowed in Identifier." +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Landscape Launch Screens" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "iPhone 2436 X 1125" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "iPhone 2208 X 1242" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "iPad 1024 X 768" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "iPad 2048 X 1536" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Portrait Launch Screens" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "iPhone 640 X 960" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "iPhone 640 X 1136" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "iPhone 750 X 1334" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "iPhone 1125 X 2436" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "iPad 768 X 1024" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "iPad 1536 X 2048" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "iPhone 1242 X 2208" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "App Store Team ID" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Provisioning Profile UUID Debug" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Code Sign Identity Debug" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Export Method Debug" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Provisioning Profile UUID Release" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Code Sign Identity Release" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Export Method Release" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Targeted Device Family" +msgstr "" + +#: platform/iphone/export/export.cpp platform/osx/export/export.cpp +msgid "Info" +msgstr "" + +#: platform/iphone/export/export.cpp platform/osx/export/export.cpp +msgid "Identifier" +msgstr "" + +#: platform/iphone/export/export.cpp platform/osx/export/export.cpp +msgid "Signature" +msgstr "" + +#: platform/iphone/export/export.cpp platform/osx/export/export.cpp +msgid "Short Version" +msgstr "" + +#: platform/iphone/export/export.cpp platform/osx/export/export.cpp +#: platform/windows/export/export.cpp +msgid "Copyright" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Capabilities" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Access Wi-Fi" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Push Notifications" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "User Data" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Accessible From Files App" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Accessible From iTunes Sharing" +msgstr "" + +#: platform/iphone/export/export.cpp platform/osx/export/export.cpp +msgid "Privacy" +msgstr "" + +#: platform/iphone/export/export.cpp platform/osx/export/export.cpp +msgid "Camera Usage Description" +msgstr "" + +#: platform/iphone/export/export.cpp platform/osx/export/export.cpp +msgid "Microphone Usage Description" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Photolibrary Usage Description" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "iPhone 120 X 120" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "iPhone 180 X 180" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "iPad 76 X 76" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "iPad 152 X 152" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "iPad 167 X 167" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "App Store 1024 X 1024" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Spotlight 40 X 40" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Spotlight 80 X 80" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Storyboard" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Use Launch Screen Storyboard" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Image Scale Mode" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Custom Image @2x" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Custom Image @3x" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Use Custom BG Color" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Custom BG Color" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Export Icons" +msgstr "" + +#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp +#: platform/osx/export/export.cpp +msgid "Prepare Templates" +msgstr "" + +#: platform/iphone/export/export.cpp platform/osx/export/export.cpp +msgid "Export template not found." +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "App Store Team ID not specified - cannot configure the project." +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Invalid Identifier:" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Stop HTTP Server" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Run in Browser" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Run exported HTML in the system's default browser." +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not open template for export: \"%s\"." +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Invalid export template: \"%s\"." +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not write file: \"%s\"." +msgstr "" + +#: platform/javascript/export/export.cpp platform/osx/export/export.cpp +msgid "Icon Creation" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not read file: \"%s\"." +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "PWA" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Variant" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Export Type" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "VRAM Texture Compression" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "For Desktop" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "For Mobile" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "HTML" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Export Icon" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Custom HTML Shell" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Head Include" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Canvas Resize Policy" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Focus Canvas On Start" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Experimental Virtual Keyboard" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Progressive Web App" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Offline Page" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Icon 144 X 144" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Icon 180 X 180" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Icon 512 X 512" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not read HTML shell: \"%s\"." +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not create HTTP server directory: %s." +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Error starting HTTP server: %d." +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Web" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "HTTP Host" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "HTTP Port" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Use SSL" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "SSL Key" +msgstr "" + +#: platform/osx/export/codesign.cpp +msgid "Can't get filesystem access." +msgstr "" + +#: platform/osx/export/codesign.cpp +msgid "Failed to get Info.plist hash." +msgstr "" + +#: platform/osx/export/codesign.cpp +msgid "Invalid Info.plist, no exe name." +msgstr "" + +#: platform/osx/export/codesign.cpp +msgid "Invalid Info.plist, no bundle id." +msgstr "" + +#: platform/osx/export/codesign.cpp +msgid "Invalid Info.plist, can't load." +msgstr "" + +#: platform/osx/export/codesign.cpp +msgid "Failed to create \"%s\" subfolder." +msgstr "" + +#: platform/osx/export/codesign.cpp +msgid "Failed to extract thin binary." +msgstr "" + +#: platform/osx/export/codesign.cpp +msgid "Invalid binary format." +msgstr "" + +#: platform/osx/export/codesign.cpp +msgid "Already signed!" +msgstr "" + +#: platform/osx/export/codesign.cpp +msgid "Failed to process nested resources." +msgstr "" + +#: platform/osx/export/codesign.cpp +msgid "Failed to create _CodeSignature subfolder." +msgstr "" + +#: platform/osx/export/codesign.cpp +msgid "Failed to get CodeResources hash." +msgstr "" + +#: platform/osx/export/codesign.cpp platform/osx/export/export.cpp +msgid "Invalid entitlements file." +msgstr "" + +#: platform/osx/export/codesign.cpp +msgid "Invalid executable file." +msgstr "" + +#: platform/osx/export/codesign.cpp +msgid "Can't resize signature load command." +msgstr "" + +#: platform/osx/export/codesign.cpp +msgid "Failed to create fat binary." +msgstr "" + +#: platform/osx/export/codesign.cpp +msgid "Unknown bundle type." +msgstr "" + +#: platform/osx/export/codesign.cpp +msgid "Unknown object type." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "App Category" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "High Res" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Location Usage Description" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Address Book Usage Description" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Calendar Usage Description" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Photos Library Usage Description" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Desktop Folder Usage Description" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Documents Folder Usage Description" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Downloads Folder Usage Description" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Network Volumes Usage Description" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Removable Volumes Usage Description" +msgstr "" + +#: platform/osx/export/export.cpp platform/windows/export/export.cpp +msgid "Codesign" +msgstr "" + +#: platform/osx/export/export.cpp platform/uwp/export/export.cpp +#: platform/windows/export/export.cpp +msgid "Identity" +msgstr "" + +#: platform/osx/export/export.cpp platform/windows/export/export.cpp +msgid "Timestamp" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Hardened Runtime" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Replace Existing Signature" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Entitlements" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Custom File" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Allow JIT Code Execution" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Allow Unsigned Executable Memory" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Allow Dyld Environment Variables" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Disable Library Validation" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Audio Input" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Address Book" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Calendars" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Photos Library" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Apple Events" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Debugging" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "App Sandbox" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Network Server" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Network Client" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Device USB" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Device Bluetooth" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Files Downloads" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Files Pictures" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Files Music" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Files Movies" +msgstr "" + +#: platform/osx/export/export.cpp platform/windows/export/export.cpp +msgid "Custom Options" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Notarization" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Apple ID Name" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Apple ID Password" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Apple Team ID" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Could not open icon file \"%s\"." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Could not start xcrun executable." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Notarization failed." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Notarization request UUID: \"%s\"" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "" +"The notarization process generally takes less than an hour. When the process " +"is completed, you'll receive an email." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "" +"You can check progress manually by opening a Terminal and running the " +"following command:" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "" +"Run the following command to staple the notarization ticket to the exported " +"application (optional):" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "" +"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Built-in CodeSign failed with error \"%s\"." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Built-in CodeSign require regex module." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "" +"Could not start codesign executable, make sure Xcode command line tools are " +"installed." +msgstr "" + +#: platform/osx/export/export.cpp platform/windows/export/export.cpp +msgid "No identity found." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Cannot sign file %s." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Relative symlinks are not supported, exported \"%s\" might be broken!" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "DMG Creation" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Could not start hdiutil executable." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "`hdiutil create` failed - file exists." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "`hdiutil create` failed." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Creating app bundle" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Could not find template app to export: \"%s\"." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Invalid export format." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "" +"Relative symlinks are not supported on this OS, the exported project might " +"be broken!" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "" +"Requested template binary \"%s\" not found. It might be missing from your " +"template archive." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Making PKG" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "" +"Ad-hoc signed applications require the 'Disable Library Validation' " +"entitlement to load dynamic libraries." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Code signing bundle" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Making DMG" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Code signing DMG" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Making ZIP" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "" +"Notarization requires the app to be archived first, select the DMG or ZIP " +"export format instead." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Sending archive for notarization" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "ZIP Creation" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Could not open file to read from path \"%s\"." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Invalid bundle identifier:" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "" +"Warning: Built-in \"codesign\" is selected in the Editor Settings. Code " +"signing is limited to ad-hoc signature only." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "" +"Warning: Xcode command line tools are not installed, using built-in " +"\"codesign\". Code signing is limited to ad-hoc signature only." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Notarization: Notarization with an ad-hoc signature is not supported." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Notarization: Code signing is required for notarization." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Notarization: Hardened runtime is required for notarization." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Notarization: Timestamp runtime is required for notarization." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Notarization: Apple ID name not specified." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Notarization: Apple ID password not specified." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "" +"Warning: Notarization is disabled. The exported project will be blocked by " +"Gatekeeper if it's downloaded from an unknown source." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "" +"Code signing is disabled. The exported project will not run on Macs with " +"enabled Gatekeeper and Apple Silicon powered Macs." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "" +"Hardened Runtime is not compatible with ad-hoc signature, and will be " +"disabled!" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "" +"Timestamping is not compatible with ad-hoc signature, and will be disabled!" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "" +"Warning: Notarization is not supported from this OS. The exported project " +"will be blocked by Gatekeeper if it's downloaded from an unknown source." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "" +"Privacy: Microphone access is enabled, but usage description is not " +"specified." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "" +"Privacy: Camera access is enabled, but usage description is not specified." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "" +"Privacy: Location information access is enabled, but usage description is " +"not specified." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "" +"Privacy: Address book access is enabled, but usage description is not " +"specified." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "" +"Privacy: Calendar access is enabled, but usage description is not specified." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "" +"Privacy: Photo library access is enabled, but usage description is not " +"specified." +msgstr "" + +#: platform/osx/export/export.cpp +msgid "macOS" +msgstr "" + +#: platform/osx/export/export.cpp +msgid "Force Builtin Codesign" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Architecture" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Display Name" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Short Name" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Publisher" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Publisher Display Name" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Product GUID" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Publisher GUID" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Signing" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Certificate" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Algorithm" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Major" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Minor" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Build" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Revision" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Landscape" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Portrait" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Landscape Flipped" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Portrait Flipped" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Store Logo" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Square 44 X 44 Logo" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Square 71 X 71 Logo" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Square 150 X 150 Logo" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Square 310 X 310 Logo" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Wide 310 X 150 Logo" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Splash Screen" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Tiles" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Show Name On Square 150 X 150" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Show Name On Wide 310 X 150" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Show Name On Square 310 X 310" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid package short name." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid package unique name." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid package publisher display name." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid product GUID." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid publisher GUID." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid background color." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid Store Logo image dimensions (should be 50x50)." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid square 44x44 logo image dimensions (should be 44x44)." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid square 71x71 logo image dimensions (should be 71x71)." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid square 150x150 logo image dimensions (should be 150x150)." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid square 310x310 logo image dimensions (should be 310x310)." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid wide 310x150 logo image dimensions (should be 310x150)." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid splash screen image dimensions (should be 620x300)." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "UWP" +msgstr "" + +#: platform/uwp/export/export.cpp platform/windows/export/export.cpp +msgid "Signtool" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Debug Certificate" +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Debug Algorithm" +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Failed to rename temporary file \"%s\"." +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Identity Type" +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Timestamp Server URL" +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Digest Algorithm" +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Modify Resources" +msgstr "" + +#: platform/windows/export/export.cpp +msgid "File Version" +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Product Version" +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Company Name" +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Product Name" +msgstr "" + +#: platform/windows/export/export.cpp +msgid "File Description" +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Trademarks" +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Resources Modification" +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Could not find rcedit executable at \"%s\"." +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Could not find wine executable at \"%s\"." +msgstr "" + +#: platform/windows/export/export.cpp +msgid "" +"Could not start rcedit executable. Configure rcedit path in the Editor " +"Settings (Export > Windows > Rcedit), or disable \"Application > Modify " +"Resources\" in the export preset." +msgstr "" + +#: platform/windows/export/export.cpp +msgid "rcedit failed to modify executable: %s." +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Could not find signtool executable at \"%s\"." +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Could not find osslsigncode executable at \"%s\"." +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Invalid identity type." +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Invalid timestamp server." +msgstr "" + +#: platform/windows/export/export.cpp +msgid "" +"Could not start signtool executable. Configure signtool path in the Editor " +"Settings (Export > Windows > Signtool), or disable \"Codesign\" in the " +"export preset." +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Signtool failed to sign executable: %s." +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Failed to remove temporary file \"%s\"." +msgstr "" + +#: platform/windows/export/export.cpp +msgid "" +"The rcedit tool must be configured in the Editor Settings (Export > Windows " +"> Rcedit) to change the icon or app information data." +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Invalid icon path:" +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Invalid file version:" +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Invalid product version:" +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Windows executables cannot be >= 4 GiB." +msgstr "" + +#: platform/windows/export/export.cpp platform/x11/export/export.cpp +msgid "Failed to open executable file \"%s\"." +msgstr "" + +#: platform/windows/export/export.cpp platform/x11/export/export.cpp +msgid "Executable file header corrupted." +msgstr "" + +#: platform/windows/export/export.cpp platform/x11/export/export.cpp +msgid "Executable \"pck\" section not found." +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Windows" +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Rcedit" +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Osslsigncode" +msgstr "" + +#: platform/windows/export/export.cpp +msgid "Wine" +msgstr "" + +#: platform/x11/export/export.cpp +msgid "32-bit executables cannot have embedded data >= 4 GiB." +msgstr "" + +#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp +#: scene/resources/texture.cpp +msgid "Frames" +msgstr "" + +#: scene/2d/animated_sprite.cpp +msgid "" +"A SpriteFrames resource must be created or set in the \"Frames\" property in " +"order for AnimatedSprite to display frames." +msgstr "" + +#: scene/2d/animated_sprite.cpp scene/2d/cpu_particles_2d.cpp +#: scene/2d/particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/particles.cpp +msgid "Speed Scale" +msgstr "" + +#: scene/2d/animated_sprite.cpp scene/2d/audio_stream_player_2d.cpp +#: scene/3d/audio_stream_player_3d.cpp scene/3d/sprite_3d.cpp +#: scene/audio/audio_stream_player.cpp +msgid "Playing" +msgstr "" + +#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp +msgid "Centered" +msgstr "" + +#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp +#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp +msgid "Flip H" +msgstr "" + +#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp +#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp +msgid "Flip V" +msgstr "" + +#: scene/2d/area_2d.cpp scene/3d/area.cpp +msgid "Monitoring" +msgstr "" + +#: scene/2d/area_2d.cpp scene/3d/area.cpp +msgid "Monitorable" +msgstr "" + +#: scene/2d/area_2d.cpp scene/3d/area.cpp +msgid "Physics Overrides" +msgstr "" + +#: scene/2d/area_2d.cpp scene/3d/area.cpp +msgid "Space Override" +msgstr "" + +#: scene/2d/area_2d.cpp scene/3d/area.cpp +msgid "Gravity Point" +msgstr "" + +#: scene/2d/area_2d.cpp scene/3d/area.cpp +msgid "Gravity Distance Scale" +msgstr "" + +#: scene/2d/area_2d.cpp scene/3d/area.cpp +msgid "Gravity Vec" +msgstr "" + +#: scene/2d/area_2d.cpp scene/2d/cpu_particles_2d.cpp scene/3d/area.cpp +#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp +msgid "Gravity" +msgstr "" + +#: scene/2d/area_2d.cpp scene/3d/area.cpp +msgid "Linear Damp" +msgstr "" + +#: scene/2d/area_2d.cpp scene/3d/area.cpp +msgid "Angular Damp" +msgstr "" + +#: scene/2d/area_2d.cpp scene/3d/area.cpp +msgid "Audio Bus" +msgstr "" + +#: scene/2d/area_2d.cpp scene/3d/area.cpp +msgid "Override" +msgstr "" + +#: scene/2d/audio_stream_player_2d.cpp scene/audio/audio_stream_player.cpp +#: scene/gui/video_player.cpp servers/audio/effects/audio_effect_amplify.cpp +msgid "Volume dB" +msgstr "" + +#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp +#: scene/audio/audio_stream_player.cpp +#: servers/audio/effects/audio_effect_pitch_shift.cpp +msgid "Pitch Scale" +msgstr "" + +#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp +#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp +msgid "Autoplay" +msgstr "" + +#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp +#: scene/audio/audio_stream_player.cpp +msgid "Stream Paused" +msgstr "" + +#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp +#: scene/3d/light.cpp scene/3d/reflection_probe.cpp +#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp +#: scene/resources/material.cpp +msgid "Max Distance" +msgstr "" + +#: scene/2d/audio_stream_player_2d.cpp scene/3d/light.cpp +msgid "Attenuation" +msgstr "" + +#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp +#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp +msgid "Bus" +msgstr "" + +#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp +msgid "Area Mask" +msgstr "" + +#: scene/2d/back_buffer_copy.cpp +msgid "Copy Mode" +msgstr "" + +#: scene/2d/camera_2d.cpp +msgid "Anchor Mode" +msgstr "" + +#: scene/2d/camera_2d.cpp +msgid "Rotating" +msgstr "" + +#: scene/2d/camera_2d.cpp scene/2d/listener_2d.cpp scene/3d/camera.cpp +#: scene/3d/listener.cpp scene/animation/animation_blend_tree.cpp +msgid "Current" +msgstr "" + +#: scene/2d/camera_2d.cpp scene/gui/graph_edit.cpp +msgid "Zoom" +msgstr "" + +#: scene/2d/camera_2d.cpp scene/main/canvas_layer.cpp +msgid "Custom Viewport" +msgstr "" + +#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp +#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp +#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp +msgid "Process Mode" +msgstr "" + +#: scene/2d/camera_2d.cpp +msgid "Limit" +msgstr "" + +#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp +#: scene/resources/style_box.cpp scene/resources/texture.cpp +msgid "Left" +msgstr "" + +#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp +#: scene/resources/style_box.cpp scene/resources/texture.cpp +msgid "Right" +msgstr "" + +#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp +#: scene/resources/dynamic_font.cpp scene/resources/style_box.cpp +#: scene/resources/texture.cpp +msgid "Bottom" +msgstr "" + +#: scene/2d/camera_2d.cpp +msgid "Smoothed" +msgstr "" + +#: scene/2d/camera_2d.cpp +msgid "Draw Margin" +msgstr "" + +#: scene/2d/camera_2d.cpp +msgid "Drag Margin H Enabled" +msgstr "" + +#: scene/2d/camera_2d.cpp +msgid "Drag Margin V Enabled" +msgstr "" + +#: scene/2d/camera_2d.cpp +msgid "Smoothing" +msgstr "" + +#: scene/2d/camera_2d.cpp +msgid "H" +msgstr "" + +#: scene/2d/camera_2d.cpp +msgid "V" +msgstr "" + +#: scene/2d/camera_2d.cpp +msgid "Drag Margin" +msgstr "" + +#: scene/2d/camera_2d.cpp +msgid "Draw Screen" +msgstr "" + +#: scene/2d/camera_2d.cpp +msgid "Draw Limits" +msgstr "" + +#: scene/2d/camera_2d.cpp +msgid "Draw Drag Margin" +msgstr "" + +#: scene/2d/canvas_item.cpp scene/resources/environment.cpp +#: scene/resources/material.cpp +msgid "Blend Mode" +msgstr "" + +#: scene/2d/canvas_item.cpp +msgid "Light Mode" +msgstr "" + +#: scene/2d/canvas_item.cpp +msgid "Particles Animation" +msgstr "" + +#: scene/2d/canvas_item.cpp +msgid "Particles Anim H Frames" +msgstr "" + +#: scene/2d/canvas_item.cpp +msgid "Particles Anim V Frames" +msgstr "" + +#: scene/2d/canvas_item.cpp +msgid "Particles Anim Loop" +msgstr "" + +#: scene/2d/canvas_item.cpp scene/3d/spatial.cpp +msgid "Visibility" +msgstr "" + +#: scene/2d/canvas_item.cpp scene/3d/spatial.cpp scene/gui/progress_bar.cpp +#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp +msgid "Visible" +msgstr "" + +#: scene/2d/canvas_item.cpp +msgid "Self Modulate" +msgstr "" + +#: scene/2d/canvas_item.cpp +msgid "Show Behind Parent" +msgstr "" + +#: scene/2d/canvas_item.cpp +msgid "Show On Top" +msgstr "" + +#: scene/2d/canvas_item.cpp scene/2d/light_occluder_2d.cpp +#: scene/2d/tile_map.cpp +msgid "Light Mask" +msgstr "" + +#: scene/2d/canvas_item.cpp +msgid "Use Parent Material" +msgstr "" + +#: scene/2d/canvas_modulate.cpp +msgid "" +"Only one visible CanvasModulate is allowed per scene (or set of instanced " +"scenes). The first created one will work, while the rest will be ignored." +msgstr "" + +#: scene/2d/collision_object_2d.cpp +msgid "" +"This node has no shape, so it can't collide or interact with other objects.\n" +"Consider adding a CollisionShape2D or CollisionPolygon2D as a child to " +"define its shape." +msgstr "" + +#: scene/2d/collision_object_2d.cpp +msgid "Pickable" +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp +msgid "" +"CollisionPolygon2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp +msgid "An empty CollisionPolygon2D has no effect on collision." +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp +msgid "Invalid polygon. At least 3 points are needed in 'Solids' build mode." +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp +msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode." +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp +msgid "" +"The One Way Collision property will be ignored when the parent is an Area2D." +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp +msgid "Build Mode" +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp +#: scene/3d/collision_polygon.cpp scene/3d/collision_shape.cpp +#: scene/animation/animation_node_state_machine.cpp scene/gui/base_button.cpp +#: scene/gui/texture_button.cpp scene/resources/default_theme/default_theme.cpp +msgid "Disabled" +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp +msgid "One Way Collision" +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp +msgid "One Way Collision Margin" +msgstr "" + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"CollisionShape2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." +msgstr "" + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"A shape must be provided for CollisionShape2D to function. Please create a " +"shape resource for it!" +msgstr "" + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"Polygon-based shapes are not meant be used nor edited directly through the " +"CollisionShape2D node. Please use the CollisionPolygon2D node instead." +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp +msgid "" +"CPUParticles2D animation requires the usage of a CanvasItemMaterial with " +"\"Particles Animation\" enabled." +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp +#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp +msgid "Emitting" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp +#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp +msgid "Lifetime" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp +#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp scene/main/timer.cpp +msgid "One Shot" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp +#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp +msgid "Preprocess" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp +#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp +msgid "Explosiveness" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp +#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp +msgid "Randomness" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Lifetime Randomness" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp +#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp +msgid "Fixed FPS" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp +#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp +msgid "Fract Delta" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp +#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp +msgid "Drawing" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp +#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp +msgid "Local Coords" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp +#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp +msgid "Draw Order" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Emission Shape" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Sphere Radius" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp +msgid "Rect Extents" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +msgid "Normals" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Align Y" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Direction" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +#: servers/audio/effects/audio_effect_reverb.cpp +msgid "Spread" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Initial Velocity" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Velocity Random" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp +#: servers/physics_server.cpp +msgid "Angular Velocity" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Velocity Curve" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Orbit Velocity" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Linear Accel" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Accel" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Accel Random" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Accel Curve" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Radial Accel" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Tangential Accel" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/2d/joints_2d.cpp +#: scene/3d/cpu_particles.cpp scene/3d/physics_body.cpp +#: scene/3d/physics_joint.cpp scene/3d/vehicle_body.cpp +#: scene/resources/particles_material.cpp +#: servers/audio/effects/audio_effect_reverb.cpp +msgid "Damping" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Damping Random" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Damping Curve" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/light.cpp +#: scene/resources/particles_material.cpp +msgid "Angle" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Angle Random" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Angle Curve" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +msgid "Scale Amount" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +msgid "Scale Amount Random" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +msgid "Scale Amount Curve" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Color Ramp" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Color Initial Ramp" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Hue Variation" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Variation" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Variation Random" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Variation Curve" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Speed Random" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Speed Curve" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Offset Random" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp +#: scene/resources/particles_material.cpp +msgid "Offset Curve" +msgstr "" + +#: scene/2d/joints_2d.cpp +msgid "Node A and Node B must be PhysicsBody2Ds" +msgstr "" + +#: scene/2d/joints_2d.cpp +msgid "Node A must be a PhysicsBody2D" +msgstr "" + +#: scene/2d/joints_2d.cpp +msgid "Node B must be a PhysicsBody2D" +msgstr "" + +#: scene/2d/joints_2d.cpp +msgid "Joint is not connected to two PhysicsBody2Ds" +msgstr "" + +#: scene/2d/joints_2d.cpp +msgid "Node A and Node B must be different PhysicsBody2Ds" +msgstr "" + +#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp +msgid "Node A" +msgstr "" + +#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp +msgid "Node B" +msgstr "" + +#: scene/2d/joints_2d.cpp scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +#: scene/3d/light.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp +#: scene/resources/environment.cpp +msgid "Bias" +msgstr "" + +#: scene/2d/joints_2d.cpp +msgid "Disable Collision" +msgstr "" + +#: scene/2d/joints_2d.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp +msgid "Softness" +msgstr "" + +#: scene/2d/joints_2d.cpp scene/resources/animation.cpp +#: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp +msgid "Length" +msgstr "" + +#: scene/2d/joints_2d.cpp +msgid "Initial Offset" +msgstr "" + +#: scene/2d/joints_2d.cpp scene/3d/vehicle_body.cpp +msgid "Rest Length" +msgstr "" + +#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp scene/3d/vehicle_body.cpp +msgid "Stiffness" +msgstr "" + +#: scene/2d/light_2d.cpp +msgid "" +"A texture with the shape of the light must be supplied to the \"Texture\" " +"property." +msgstr "" + +#: scene/2d/light_2d.cpp scene/3d/light.cpp scene/gui/reference_rect.cpp +msgid "Editor Only" +msgstr "" + +#: scene/2d/light_2d.cpp +msgid "Texture Scale" +msgstr "" + +#: scene/2d/light_2d.cpp scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +#: scene/3d/light.cpp scene/resources/environment.cpp +#: scene/resources/material.cpp scene/resources/sky.cpp +msgid "Energy" +msgstr "" + +#: scene/2d/light_2d.cpp +msgid "Z Min" +msgstr "" + +#: scene/2d/light_2d.cpp +msgid "Z Max" +msgstr "" + +#: scene/2d/light_2d.cpp +msgid "Layer Min" +msgstr "" + +#: scene/2d/light_2d.cpp +msgid "Layer Max" +msgstr "" + +#: scene/2d/light_2d.cpp +msgid "Item Cull Mask" +msgstr "" + +#: scene/2d/light_2d.cpp scene/3d/light.cpp scene/resources/style_box.cpp +msgid "Shadow" +msgstr "" + +#: scene/2d/light_2d.cpp +msgid "Buffer Size" +msgstr "" + +#: scene/2d/light_2d.cpp +msgid "Gradient Length" +msgstr "" + +#: scene/2d/light_2d.cpp +msgid "Filter Smooth" +msgstr "" + +#: scene/2d/light_occluder_2d.cpp +msgid "Closed" +msgstr "" + +#: scene/2d/light_occluder_2d.cpp scene/resources/material.cpp +msgid "Cull Mode" +msgstr "" + +#: scene/2d/light_occluder_2d.cpp +msgid "" +"An occluder polygon must be set (or drawn) for this occluder to take effect." +msgstr "" + +#: scene/2d/light_occluder_2d.cpp +msgid "The occluder polygon for this occluder is empty. Please draw a polygon." +msgstr "" + +#: scene/2d/line_2d.cpp +msgid "Width Curve" +msgstr "" + +#: scene/2d/line_2d.cpp scene/resources/default_theme/default_theme.cpp +msgid "Default Color" +msgstr "" + +#: scene/2d/line_2d.cpp scene/resources/texture.cpp +msgid "Fill" +msgstr "" + +#: scene/2d/line_2d.cpp scene/resources/texture.cpp +msgid "Gradient" +msgstr "" + +#: scene/2d/line_2d.cpp +msgid "Texture Mode" +msgstr "" + +#: scene/2d/line_2d.cpp +msgid "Capping" +msgstr "" + +#: scene/2d/line_2d.cpp +msgid "Joint Mode" +msgstr "" + +#: scene/2d/line_2d.cpp +msgid "Begin Cap Mode" +msgstr "" + +#: scene/2d/line_2d.cpp +msgid "End Cap Mode" +msgstr "" + +#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp scene/resources/style_box.cpp +msgid "Border" +msgstr "" + +#: scene/2d/line_2d.cpp +msgid "Sharp Limit" +msgstr "" + +#: scene/2d/line_2d.cpp +msgid "Round Precision" +msgstr "" + +#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp +#: scene/resources/dynamic_font.cpp +msgid "Antialiased" +msgstr "" + +#: scene/2d/multimesh_instance_2d.cpp scene/3d/multimesh_instance.cpp +msgid "Multimesh" +msgstr "" + +#: scene/2d/navigation_2d.cpp scene/3d/baked_lightmap.cpp +#: scene/3d/navigation.cpp scene/animation/root_motion_view.cpp +#: scene/resources/world_2d.cpp servers/physics_2d/physics_2d_server_sw.cpp +msgid "Cell Size" +msgstr "" + +#: scene/2d/navigation_2d.cpp scene/3d/navigation.cpp +msgid "Edge Connection Margin" +msgstr "" + +#: scene/2d/navigation_2d.cpp +msgid "" +"'Navigation2D' node and 'Navigation2D.get_simple_path()' are deprecated and " +"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' " +"instead." +msgstr "" + +#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp +msgid "Pathfinding" +msgstr "" + +#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp +msgid "Path Desired Distance" +msgstr "" + +#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp +msgid "Target Desired Distance" +msgstr "" + +#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp +msgid "Path Max Distance" +msgstr "" + +#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp +msgid "Avoidance" +msgstr "" + +#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp +msgid "Avoidance Enabled" +msgstr "" + +#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp +msgid "Neighbor Dist" +msgstr "" + +#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp +msgid "Max Neighbors" +msgstr "" + +#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp +msgid "Time Horizon" +msgstr "" + +#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp +msgid "Max Speed" +msgstr "" + +#: scene/2d/navigation_agent_2d.cpp +msgid "" +"The NavigationAgent2D can be used only under a Node2D inheriting parent node." +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_obstacle.cpp +msgid "Estimate Radius" +msgstr "" + +#: scene/2d/navigation_obstacle_2d.cpp +msgid "" +"The NavigationObstacle2D only serves to provide collision avoidance to a " +"Node2D object." +msgstr "" + +#: scene/2d/navigation_polygon.cpp +msgid "" +"A NavigationPolygon resource must be set or created for this node to work. " +"Please set a property or draw a polygon." +msgstr "" + +#: scene/2d/navigation_polygon.cpp +msgid "Navpoly" +msgstr "" + +#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp +msgid "Enter Cost" +msgstr "" + +#: scene/2d/navigation_polygon.cpp scene/3d/navigation_mesh_instance.cpp +msgid "Travel Cost" +msgstr "" + +#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp +#: scene/main/canvas_layer.cpp +msgid "Rotation Degrees" +msgstr "" + +#: scene/2d/node_2d.cpp scene/3d/spatial.cpp +msgid "Global Rotation" +msgstr "" + +#: scene/2d/node_2d.cpp +msgid "Global Rotation Degrees" +msgstr "" + +#: scene/2d/node_2d.cpp +msgid "Global Scale" +msgstr "" + +#: scene/2d/node_2d.cpp scene/3d/spatial.cpp +msgid "Global Transform" +msgstr "" + +#: scene/2d/node_2d.cpp +msgid "Z As Relative" +msgstr "" + +#: scene/2d/parallax_background.cpp scene/gui/scroll_container.cpp +#: scene/resources/default_theme/default_theme.cpp +msgid "Scroll" +msgstr "" + +#: scene/2d/parallax_background.cpp +msgid "Base Offset" +msgstr "" + +#: scene/2d/parallax_background.cpp +msgid "Base Scale" +msgstr "" + +#: scene/2d/parallax_background.cpp +msgid "Limit Begin" +msgstr "" + +#: scene/2d/parallax_background.cpp +msgid "Limit End" +msgstr "" + +#: scene/2d/parallax_background.cpp +msgid "Ignore Camera Zoom" +msgstr "" + +#: scene/2d/parallax_layer.cpp +msgid "" +"ParallaxLayer node only works when set as child of a ParallaxBackground node." +msgstr "" + +#: scene/2d/parallax_layer.cpp scene/2d/physics_body_2d.cpp +#: scene/3d/physics_body.cpp scene/3d/vehicle_body.cpp +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Motion" +msgstr "" + +#: scene/2d/parallax_layer.cpp +msgid "Mirroring" +msgstr "" + +#: scene/2d/particles_2d.cpp +msgid "" +"GPU-based particles are not supported by the GLES2 video driver.\n" +"Use the CPUParticles2D node instead. You can use the \"Convert to " +"CPUParticles2D\" toolbar option for this purpose." +msgstr "" + +#: scene/2d/particles_2d.cpp +msgid "" +"On macOS, Particles2D rendering is much slower than CPUParticles2D due to " +"transform feedback being implemented on the CPU instead of the GPU.\n" +"Consider using CPUParticles2D instead when targeting macOS.\n" +"You can use the \"Convert to CPUParticles2D\" toolbar option for this " +"purpose." +msgstr "" + +#: 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 "" + +#: scene/2d/particles_2d.cpp +msgid "" +"Particles2D animation requires the usage of a CanvasItemMaterial with " +"\"Particles Animation\" enabled." +msgstr "" + +#: scene/2d/particles_2d.cpp +msgid "Visibility Rect" +msgstr "" + +#: scene/2d/particles_2d.cpp scene/3d/particles.cpp +msgid "Process Material" +msgstr "" + +#: scene/2d/path_2d.cpp scene/3d/path.cpp scene/resources/sky.cpp +#: scene/resources/texture.cpp +msgid "Curve" +msgstr "" + +#: scene/2d/path_2d.cpp +msgid "PathFollow2D only works when set as a child of a Path2D node." +msgstr "" + +#: scene/2d/path_2d.cpp scene/3d/path.cpp +msgid "Unit Offset" +msgstr "" + +#: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp +msgid "H Offset" +msgstr "" + +#: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp +msgid "V Offset" +msgstr "" + +#: scene/2d/path_2d.cpp scene/3d/path.cpp +msgid "Cubic Interp" +msgstr "" + +#: scene/2d/path_2d.cpp +msgid "Lookahead" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/visual_instance.cpp +msgid "Layers" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +msgid "Constant Linear Velocity" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +msgid "Constant Angular Velocity" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp +#: scene/resources/physics_material.cpp +msgid "Friction" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp +#: scene/resources/physics_material.cpp +msgid "Bounce" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +msgid "Physics Material Override" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +#: scene/resources/world.cpp scene/resources/world_2d.cpp +msgid "Default Gravity" +msgstr "" + +#: scene/2d/physics_body_2d.cpp +msgid "" +"Size changes to RigidBody2D (in character or rigid modes) will be overridden " +"by the physics engine when running.\n" +"Change the size in children collision shapes instead." +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +msgid "Mass" +msgstr "" + +#: scene/2d/physics_body_2d.cpp +msgid "Inertia" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +msgid "Weight" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +msgid "Gravity Scale" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +msgid "Custom Integrator" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +msgid "Continuous CD" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +msgid "Contacts Reported" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +msgid "Contact Monitor" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Sleeping" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +msgid "Can Sleep" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +msgid "Damp" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +msgid "Angular" +msgstr "" + +#: scene/2d/physics_body_2d.cpp +msgid "Applied Forces" +msgstr "" + +#: scene/2d/physics_body_2d.cpp +msgid "Torque" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +msgid "Safe Margin" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +msgid "Sync To Physics" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +msgid "Moving Platform" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +msgid "Apply Velocity On Leave" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/2d/touch_screen_button.cpp +#: scene/3d/physics_body.cpp scene/gui/texture_button.cpp +#: scene/resources/default_theme/default_theme.cpp +#: scene/resources/line_shape_2d.cpp scene/resources/material.cpp +msgid "Normal" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +msgid "Remainder" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +msgid "Local Shape" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Collider" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Collider ID" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Collider RID" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Collider Shape" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +msgid "Collider Shape Index" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Collider Velocity" +msgstr "" + +#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp +msgid "Collider Metadata" +msgstr "" + +#: scene/2d/polygon_2d.cpp +msgid "Invert" +msgstr "" + +#: scene/2d/polygon_2d.cpp +msgid "Vertex Colors" +msgstr "" + +#: scene/2d/polygon_2d.cpp +msgid "Internal Vertex Count" +msgstr "" + +#: scene/2d/position_2d.cpp +msgid "Gizmo Extents" +msgstr "" + +#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp +msgid "Exclude Parent" +msgstr "" + +#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp +msgid "Cast To" +msgstr "" + +#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp +msgid "Collide With" +msgstr "" + +#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp +msgid "Areas" +msgstr "" + +#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp +msgid "Bodies" +msgstr "" + +#: scene/2d/remote_transform_2d.cpp +msgid "Path property must point to a valid Node2D node to work." +msgstr "" + +#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp +msgid "Remote Path" +msgstr "" + +#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp +msgid "Use Global Coordinates" +msgstr "" + +#: scene/2d/skeleton_2d.cpp scene/3d/skeleton.cpp +msgid "Rest" +msgstr "" + +#: scene/2d/skeleton_2d.cpp +msgid "Default Length" +msgstr "" + +#: scene/2d/skeleton_2d.cpp +msgid "This Bone2D chain should end at a Skeleton2D node." +msgstr "" + +#: scene/2d/skeleton_2d.cpp +msgid "A Bone2D only works with a Skeleton2D or another Bone2D as parent node." +msgstr "" + +#: scene/2d/skeleton_2d.cpp +msgid "" +"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one." +msgstr "" + +#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp +msgid "Hframes" +msgstr "" + +#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp +msgid "Vframes" +msgstr "" + +#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp +msgid "Frame Coords" +msgstr "" + +#: scene/2d/sprite.cpp scene/resources/texture.cpp +msgid "Filter Clip" +msgstr "" + +#: scene/2d/tile_map.cpp +msgid "" +"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes " +"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, " +"KinematicBody2D, etc. to give them a shape." +msgstr "" + +#: scene/2d/tile_map.cpp +msgid "Tile Set" +msgstr "" + +#: scene/2d/tile_map.cpp +msgid "Quadrant Size" +msgstr "" + +#: scene/2d/tile_map.cpp +msgid "Custom Transform" +msgstr "" + +#: scene/2d/tile_map.cpp +msgid "Half Offset" +msgstr "" + +#: scene/2d/tile_map.cpp +msgid "Tile Origin" +msgstr "" + +#: scene/2d/tile_map.cpp +msgid "Y Sort" +msgstr "" + +#: scene/2d/tile_map.cpp +msgid "Show Collision" +msgstr "" + +#: scene/2d/tile_map.cpp +msgid "Compatibility Mode" +msgstr "" + +#: scene/2d/tile_map.cpp +msgid "Centered Textures" +msgstr "" + +#: scene/2d/tile_map.cpp +msgid "Cell Clip UV" +msgstr "" + +#: scene/2d/tile_map.cpp +msgid "Use Parent" +msgstr "" + +#: scene/2d/tile_map.cpp +msgid "Use Kinematic" +msgstr "" + +#: scene/2d/touch_screen_button.cpp +msgid "Shape Centered" +msgstr "" + +#: scene/2d/touch_screen_button.cpp +msgid "Shape Visible" +msgstr "" + +#: scene/2d/touch_screen_button.cpp +msgid "Passby Press" +msgstr "" + +#: scene/2d/touch_screen_button.cpp +msgid "Visibility Mode" +msgstr "" + +#: scene/2d/visibility_notifier_2d.cpp +msgid "" +"VisibilityEnabler2D works best when used with the edited scene root directly " +"as parent." +msgstr "" + +#: scene/2d/visibility_notifier_2d.cpp scene/3d/visibility_notifier.cpp +msgid "Pause Animations" +msgstr "" + +#: scene/2d/visibility_notifier_2d.cpp scene/3d/visibility_notifier.cpp +msgid "Freeze Bodies" +msgstr "" + +#: scene/2d/visibility_notifier_2d.cpp +msgid "Pause Particles" +msgstr "" + +#: scene/2d/visibility_notifier_2d.cpp +msgid "Pause Animated Sprites" +msgstr "" + +#: scene/2d/visibility_notifier_2d.cpp +msgid "Process Parent" +msgstr "" + +#: scene/2d/visibility_notifier_2d.cpp +msgid "Physics Process Parent" +msgstr "" + +#: scene/3d/area.cpp +msgid "Reverb Bus" +msgstr "" + +#: scene/3d/area.cpp +msgid "Uniformity" +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "ARVRCamera must have an ARVROrigin node as its parent." +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "Controller ID" +msgstr "" + +#: scene/3d/arvr_nodes.cpp servers/arvr/arvr_positional_tracker.cpp +msgid "Rumble" +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "ARVRController must have an ARVROrigin node as its parent." +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "" +"The controller ID must not be 0 or this controller won't be bound to an " +"actual controller." +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "Anchor ID" +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "ARVRAnchor must have an ARVROrigin node as its parent." +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "" +"The anchor ID must not be 0 or this anchor won't be bound to an actual " +"anchor." +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "ARVROrigin requires an ARVRCamera child node." +msgstr "" + +#: scene/3d/arvr_nodes.cpp servers/arvr_server.cpp +msgid "World Scale" +msgstr "" + +#: scene/3d/audio_stream_player_3d.cpp +msgid "Attenuation Model" +msgstr "" + +#: scene/3d/audio_stream_player_3d.cpp +msgid "Unit dB" +msgstr "" + +#: scene/3d/audio_stream_player_3d.cpp +msgid "Unit Size" +msgstr "" + +#: scene/3d/audio_stream_player_3d.cpp +msgid "Max dB" +msgstr "" + +#: scene/3d/audio_stream_player_3d.cpp +msgid "Out Of Range Mode" +msgstr "" + +#: scene/3d/audio_stream_player_3d.cpp +msgid "Emission Angle" +msgstr "" + +#: scene/3d/audio_stream_player_3d.cpp +msgid "Degrees" +msgstr "" + +#: scene/3d/audio_stream_player_3d.cpp +msgid "Filter Attenuation dB" +msgstr "" + +#: scene/3d/audio_stream_player_3d.cpp +msgid "Attenuation Filter" +msgstr "" + +#: scene/3d/audio_stream_player_3d.cpp +#: servers/audio/effects/audio_effect_chorus.cpp +#: servers/audio/effects/audio_effect_filter.cpp +msgid "Cutoff Hz" +msgstr "" + +#: scene/3d/audio_stream_player_3d.cpp +#: servers/audio/effects/audio_effect_filter.cpp +msgid "dB" +msgstr "" + +#: scene/3d/audio_stream_player_3d.cpp +msgid "Doppler" +msgstr "" + +#: scene/3d/audio_stream_player_3d.cpp +msgid "Tracking" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +#: scene/3d/reflection_probe.cpp +msgid "Interior" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Finding meshes and lights" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Preparing geometry (%d/%d)" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Preparing environment" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Generating capture" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Saving lightmaps" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Done" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +#: scene/3d/reflection_probe.cpp scene/resources/box_shape.cpp +#: scene/resources/rectangle_shape_2d.cpp +msgid "Extents" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Tweaks" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Bounces" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Bounce Indirect Energy" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Use Denoiser" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp +msgid "Use HDR" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Use Color" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Default Texels Per Unit" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp +msgid "Atlas" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Generate" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Max Size" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Custom Sky" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Custom Sky Rotation Degrees" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/ray_cast.cpp +msgid "Custom Color" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Custom Energy" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Min Light" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Propagation" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Image Path" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Light Data" +msgstr "" + +#: scene/3d/bone_attachment.cpp scene/3d/physics_body.cpp +msgid "Bone Name" +msgstr "" + +#: scene/3d/camera.cpp +msgid "Keep Aspect" +msgstr "" + +#: scene/3d/camera.cpp scene/3d/light.cpp scene/3d/reflection_probe.cpp +msgid "Cull Mask" +msgstr "" + +#: scene/3d/camera.cpp +msgid "Doppler Tracking" +msgstr "" + +#: scene/3d/camera.cpp +msgid "Projection" +msgstr "" + +#: scene/3d/camera.cpp +msgid "FOV" +msgstr "" + +#: scene/3d/camera.cpp +msgid "Frustum Offset" +msgstr "" + +#: scene/3d/camera.cpp +msgid "Near" +msgstr "" + +#: scene/3d/camera.cpp +msgid "Far" +msgstr "" + +#: scene/3d/camera.cpp scene/3d/collision_polygon.cpp scene/3d/spring_arm.cpp +#: scene/gui/control.cpp scene/resources/default_theme/default_theme.cpp +#: scene/resources/shape.cpp scene/resources/style_box.cpp +#: scene/resources/texture.cpp servers/physics_2d_server.cpp +#: servers/physics_server.cpp +msgid "Margin" +msgstr "" + +#: scene/3d/camera.cpp +msgid "Clip To" +msgstr "" + +#: scene/3d/collision_object.cpp scene/3d/soft_body.cpp +msgid "Ray Pickable" +msgstr "" + +#: scene/3d/collision_object.cpp +msgid "Capture On Drag" +msgstr "" + +#: scene/3d/collision_object.cpp +msgid "" +"This node has no shape, so it can't collide or interact with other objects.\n" +"Consider adding a CollisionShape or CollisionPolygon as a child to define " +"its shape." +msgstr "" + +#: scene/3d/collision_polygon.cpp +msgid "" +"CollisionPolygon only serves to provide a collision shape to a " +"CollisionObject derived node. Please only use it as a child of Area, " +"StaticBody, RigidBody, KinematicBody, etc. to give them a shape." +msgstr "" + +#: scene/3d/collision_polygon.cpp +msgid "An empty CollisionPolygon has no effect on collision." +msgstr "" + +#: scene/3d/collision_shape.cpp +msgid "" +"CollisionShape only serves to provide a collision shape to a CollisionObject " +"derived node. Please only use it as a child of Area, StaticBody, RigidBody, " +"KinematicBody, etc. to give them a shape." +msgstr "" + +#: scene/3d/collision_shape.cpp +msgid "" +"A shape must be provided for CollisionShape to function. Please create a " +"shape resource for it." +msgstr "" + +#: scene/3d/collision_shape.cpp +msgid "" +"Plane shapes don't work well and will be removed in future versions. Please " +"don't use them." +msgstr "" + +#: scene/3d/collision_shape.cpp +msgid "" +"ConcavePolygonShape doesn't support RigidBody in another mode than static." +msgstr "" + +#: scene/3d/cpu_particles.cpp +msgid "Nothing is visible because no mesh has been assigned." +msgstr "" + +#: scene/3d/cpu_particles.cpp +msgid "" +"CPUParticles animation requires the usage of a SpatialMaterial whose " +"Billboard Mode is set to \"Particle Billboard\"." +msgstr "" + +#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp +msgid "Box Extents" +msgstr "" + +#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp +msgid "Ring Radius" +msgstr "" + +#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp +msgid "Ring Inner Radius" +msgstr "" + +#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp +msgid "Ring Height" +msgstr "" + +#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp +msgid "Ring Axis" +msgstr "" + +#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp +msgid "Rotate Y" +msgstr "" + +#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp +msgid "Disable Z" +msgstr "" + +#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp +msgid "Flatness" +msgstr "" + +#: scene/3d/cull_instance.cpp servers/visual_server.cpp +msgid "Portals" +msgstr "" + +#: scene/3d/cull_instance.cpp +msgid "Portal Mode" +msgstr "" + +#: scene/3d/cull_instance.cpp +msgid "Include In Bound" +msgstr "" + +#: scene/3d/cull_instance.cpp +msgid "Allow Merging" +msgstr "" + +#: scene/3d/cull_instance.cpp +msgid "Autoplace Priority" +msgstr "" + +#: scene/3d/gi_probe.cpp +msgid "Plotting Meshes" +msgstr "" + +#: scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/gi_probe.cpp +msgid "" +"GIProbes are not supported by the GLES2 video driver.\n" +"Use a BakedLightmap instead." +msgstr "" + +#: scene/3d/gi_probe.cpp +msgid "" +"The GIProbe Compress property has been deprecated due to known bugs and no " +"longer has any effect.\n" +"To remove this warning, disable the GIProbe's Compress property." +msgstr "" + +#: scene/3d/gi_probe.cpp +msgid "Subdiv" +msgstr "" + +#: scene/3d/gi_probe.cpp +msgid "Dynamic Range" +msgstr "" + +#: scene/3d/gi_probe.cpp scene/3d/light.cpp +msgid "Normal Bias" +msgstr "" + +#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp +#: scene/resources/primitive_meshes.cpp +msgid "Pixel Size" +msgstr "" + +#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp +msgid "Billboard" +msgstr "" + +#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp +msgid "Shaded" +msgstr "" + +#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp +msgid "Double Sided" +msgstr "" + +#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp +msgid "No Depth Test" +msgstr "" + +#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp +msgid "Fixed Size" +msgstr "" + +#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp +msgid "Alpha Cut" +msgstr "" + +#: scene/3d/label_3d.cpp scene/resources/material.cpp +msgid "Alpha Scissor Threshold" +msgstr "" + +#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp +msgid "Render Priority" +msgstr "" + +#: scene/3d/label_3d.cpp +msgid "Outline Render Priority" +msgstr "" + +#: scene/3d/label_3d.cpp +msgid "Outline Modulate" +msgstr "" + +#: scene/3d/label_3d.cpp scene/resources/default_theme/default_theme.cpp +#: scene/resources/dynamic_font.cpp scene/resources/primitive_meshes.cpp +msgid "Font" +msgstr "" + +#: scene/3d/label_3d.cpp scene/resources/primitive_meshes.cpp +msgid "Horizontal Alignment" +msgstr "" + +#: scene/3d/label_3d.cpp +msgid "Vertical Alignment" +msgstr "" + +#: scene/3d/label_3d.cpp scene/gui/dialogs.cpp scene/gui/label.cpp +msgid "Autowrap" +msgstr "" + +#: scene/3d/light.cpp +msgid "Indirect Energy" +msgstr "" + +#: scene/3d/light.cpp +msgid "Negative" +msgstr "" + +#: scene/3d/light.cpp scene/resources/material.cpp +#: scene/resources/visual_shader.cpp +msgid "Specular" +msgstr "" + +#: scene/3d/light.cpp +msgid "Bake Mode" +msgstr "" + +#: scene/3d/light.cpp +msgid "Contact" +msgstr "" + +#: scene/3d/light.cpp +msgid "Reverse Cull Face" +msgstr "" + +#: scene/3d/light.cpp servers/visual_server.cpp +msgid "Directional Shadow" +msgstr "" + +#: scene/3d/light.cpp +msgid "Split 1" +msgstr "" + +#: scene/3d/light.cpp +msgid "Split 2" +msgstr "" + +#: scene/3d/light.cpp +msgid "Split 3" +msgstr "" + +#: scene/3d/light.cpp +msgid "Blend Splits" +msgstr "" + +#: scene/3d/light.cpp +msgid "Bias Split Scale" +msgstr "" + +#: scene/3d/light.cpp +msgid "Depth Range" +msgstr "" + +#: scene/3d/light.cpp +msgid "Omni" +msgstr "" + +#: scene/3d/light.cpp +msgid "Shadow Mode" +msgstr "" + +#: scene/3d/light.cpp +msgid "Shadow Detail" +msgstr "" + +#: scene/3d/light.cpp +msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." +msgstr "" + +#: scene/3d/light.cpp +msgid "Spot" +msgstr "" + +#: scene/3d/light.cpp +msgid "Angle Attenuation" +msgstr "" + +#: scene/3d/mesh_instance.cpp +msgid "Software Skinning" +msgstr "" + +#: scene/3d/mesh_instance.cpp +msgid "Transform Normals" +msgstr "" + +#: scene/3d/navigation.cpp +msgid "" +"'Navigation' node and 'Navigation.get_simple_path()' are deprecated and will " +"be removed in a future version. Use 'NavigationServer.map_get_path()' " +"instead." +msgstr "" + +#: scene/3d/navigation.cpp scene/resources/curve.cpp +msgid "Up Vector" +msgstr "" + +#: scene/3d/navigation.cpp +msgid "Cell Height" +msgstr "" + +#: scene/3d/navigation_agent.cpp +msgid "Agent Height Offset" +msgstr "" + +#: scene/3d/navigation_agent.cpp +msgid "Ignore Y" +msgstr "" + +#: scene/3d/navigation_agent.cpp +msgid "" +"The NavigationAgent can be used only under a Spatial inheriting parent node." +msgstr "" + +#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp +msgid "NavMesh" +msgstr "" + +#: scene/3d/navigation_obstacle.cpp +msgid "" +"The NavigationObstacle only serves to provide collision avoidance to a " +"Spatial inheriting parent object." +msgstr "" + +#: scene/3d/occluder.cpp +msgid "No shape is set." +msgstr "" + +#: scene/3d/occluder.cpp +msgid "Only uniform scales are supported." +msgstr "" + +#: scene/3d/particles.cpp +msgid "" +"GPU-based particles are not supported by the GLES2 video driver.\n" +"Use the CPUParticles node instead. You can use the \"Convert to " +"CPUParticles\" toolbar option for this purpose." +msgstr "" + +#: scene/3d/particles.cpp +msgid "" +"On macOS, Particles rendering is much slower than CPUParticles due to " +"transform feedback being implemented on the CPU instead of the GPU.\n" +"Consider using CPUParticles instead when targeting macOS.\n" +"You can use the \"Convert to CPUParticles\" toolbar option for this purpose." +msgstr "" + +#: scene/3d/particles.cpp +msgid "" +"Nothing is visible because meshes have not been assigned to draw passes." +msgstr "" + +#: scene/3d/particles.cpp +msgid "" +"Particles animation requires the usage of a SpatialMaterial whose Billboard " +"Mode is set to \"Particle Billboard\"." +msgstr "" + +#: scene/3d/particles.cpp +msgid "Visibility AABB" +msgstr "" + +#: scene/3d/particles.cpp +msgid "Draw Passes" +msgstr "" + +#: scene/3d/particles.cpp +msgid "Passes" +msgstr "" + +#: scene/3d/path.cpp +msgid "PathFollow only works when set as a child of a Path node." +msgstr "" + +#: scene/3d/path.cpp +msgid "" +"PathFollow's ROTATION_ORIENTED requires \"Up Vector\" to be enabled in its " +"parent Path's Curve resource." +msgstr "" + +#: scene/3d/path.cpp +msgid "Rotation Mode" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "" +"Size changes to RigidBody (in character or rigid modes) will be overridden " +"by the physics engine when running.\n" +"Change the size in children collision shapes instead." +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Axis Lock" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Linear X" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Linear Y" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Linear Z" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Angular X" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Angular Y" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Angular Z" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Motion X" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Motion Y" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Motion Z" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Joint Constraints" +msgstr "" + +#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp +msgid "Impulse Clamp" +msgstr "" + +#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp +msgid "Swing Span" +msgstr "" + +#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp +msgid "Twist Span" +msgstr "" + +#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp +#: scene/3d/vehicle_body.cpp +msgid "Relaxation" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Angular Limit Enabled" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Angular Limit Upper" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Angular Limit Lower" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Angular Limit Bias" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Angular Limit Softness" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Angular Limit Relaxation" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Linear Limit Upper" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Linear Limit Lower" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Linear Limit Softness" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Linear Limit Restitution" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Linear Limit Damping" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Angular Limit Restitution" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Angular Limit Damping" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "X" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Y" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Z" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Linear Limit Enabled" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Linear Spring Enabled" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Linear Spring Stiffness" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Linear Spring Damping" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Linear Equilibrium Point" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Linear Restitution" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Linear Damping" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Angular Restitution" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Angular Damping" +msgstr "" + +#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp +msgid "ERP" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Angular Spring Enabled" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Angular Spring Stiffness" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Angular Spring Damping" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Angular Equilibrium Point" +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "Body Offset" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Node A and Node B must be PhysicsBodies" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Node A must be a PhysicsBody" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Node B must be a PhysicsBody" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Joint is not connected to any PhysicsBodies" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Node A and Node B must be different PhysicsBodies" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Solver" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Exclude Nodes" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Params" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Angular Limit" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Upper" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Lower" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Motor" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Target Velocity" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Max Impulse" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Linear Limit" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Upper Distance" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Lower Distance" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Restitution" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Linear Motion" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Linear Ortho" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Upper Angle" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Lower Angle" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Angular Motion" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Angular Ortho" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Linear Limit X" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Linear Motor X" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Force Limit" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Linear Spring X" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Equilibrium Point" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Angular Limit X" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Angular Motor X" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Angular Spring X" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Linear Limit Y" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Linear Motor Y" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Linear Spring Y" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Angular Limit Y" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Angular Motor Y" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Angular Spring Y" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Linear Limit Z" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Linear Motor Z" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Linear Spring Z" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Angular Limit Z" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Angular Motor Z" +msgstr "" + +#: scene/3d/physics_joint.cpp +msgid "Angular Spring Z" +msgstr "" + +#: scene/3d/portal.cpp +msgid "The RoomManager should not be a child or grandchild of a Portal." +msgstr "" + +#: scene/3d/portal.cpp +msgid "A Room should not be a child or grandchild of a Portal." +msgstr "" + +#: scene/3d/portal.cpp +msgid "A RoomGroup should not be a child or grandchild of a Portal." +msgstr "" + +#: scene/3d/portal.cpp +msgid "Portal Active" +msgstr "" + +#: scene/3d/portal.cpp scene/resources/occluder_shape_polygon.cpp +msgid "Two Way" +msgstr "" + +#: scene/3d/portal.cpp +msgid "Linked Room" +msgstr "" + +#: scene/3d/portal.cpp +msgid "Use Default Margin" +msgstr "" + +#: scene/3d/proximity_group.cpp +msgid "Group Name" +msgstr "" + +#: scene/3d/proximity_group.cpp +msgid "Dispatch Mode" +msgstr "" + +#: scene/3d/proximity_group.cpp +msgid "Grid Radius" +msgstr "" + +#: scene/3d/ray_cast.cpp +msgid "Debug Shape" +msgstr "" + +#: scene/3d/ray_cast.cpp scene/resources/style_box.cpp +msgid "Thickness" +msgstr "" + +#: scene/3d/reflection_probe.cpp scene/main/viewport.cpp +msgid "Update Mode" +msgstr "" + +#: scene/3d/reflection_probe.cpp +msgid "Origin Offset" +msgstr "" + +#: scene/3d/reflection_probe.cpp +msgid "Box Projection" +msgstr "" + +#: scene/3d/reflection_probe.cpp +msgid "Enable Shadows" +msgstr "" + +#: scene/3d/reflection_probe.cpp +msgid "Ambient Color" +msgstr "" + +#: scene/3d/reflection_probe.cpp +msgid "Ambient Energy" +msgstr "" + +#: scene/3d/reflection_probe.cpp +msgid "Ambient Contrib" +msgstr "" + +#: scene/3d/remote_transform.cpp +msgid "" +"The \"Remote Path\" property must point to a valid Spatial or Spatial-" +"derived node to work." +msgstr "" + +#: scene/3d/room.cpp +msgid "A Room cannot have another Room as a child or grandchild." +msgstr "" + +#: scene/3d/room.cpp +msgid "The RoomManager should not be placed inside a Room." +msgstr "" + +#: scene/3d/room.cpp +msgid "A RoomGroup should not be placed inside a Room." +msgstr "" + +#: 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 "" + +#: scene/3d/room.cpp +msgid "Use Default Simplify" +msgstr "" + +#: scene/3d/room.cpp scene/3d/room_manager.cpp +msgid "Room Simplify" +msgstr "" + +#: scene/3d/room.cpp +msgid "Bound" +msgstr "" + +#: scene/3d/room_group.cpp +msgid "Roomgroup Priority" +msgstr "" + +#: scene/3d/room_group.cpp +msgid "The RoomManager should not be placed inside a RoomGroup." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "The RoomList has not been assigned." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "The RoomList node should be a Spatial (or derived from Spatial)." +msgstr "" + +#: 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 "" + +#: scene/3d/room_manager.cpp +msgid "There should only be one RoomManager in the SceneTree." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Main" +msgstr "" + +#: scene/3d/room_manager.cpp scene/animation/animation_blend_tree.cpp +#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp +#: scene/animation/animation_tree_player.cpp +#: servers/audio/effects/audio_effect_delay.cpp +msgid "Active" +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Roomlist" +msgstr "" + +#: scene/3d/room_manager.cpp servers/visual_server.cpp +msgid "PVS" +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "PVS Mode" +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "PVS Filename" +msgstr "" + +#: scene/3d/room_manager.cpp servers/visual_server.cpp +msgid "Gameplay" +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Gameplay Monitor" +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Use Secondary PVS" +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Merge Meshes" +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Show Margins" +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Debug Sprawl" +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Overlap Warning Threshold" +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Preview Camera" +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal Depth Limit" +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Default Portal Margin" +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Roaming Expansion Margin" +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"RoomList path is invalid.\n" +"Please check the RoomList branch has been assigned in the RoomManager." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "RoomList contains no Rooms, aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Misnamed nodes detected, check output log for details. Aborting." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "Portal link room not found, check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Portal autolink failed, check output log for details.\n" +"Check the portal is facing outwards from the source room." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Room overlap detected, cameras may work incorrectly in overlapping area.\n" +"Check output log for details." +msgstr "" + +#: scene/3d/room_manager.cpp +msgid "" +"Error calculating room bounds.\n" +"Ensure all rooms contain geometry or manual bounds." +msgstr "" + +#: scene/3d/skeleton.cpp scene/resources/skin.cpp +msgid "Pose" +msgstr "" + +#: scene/3d/skeleton.cpp +msgid "Bound Children" +msgstr "" + +#: scene/3d/soft_body.cpp +msgid "Pinned Points" +msgstr "" + +#: scene/3d/soft_body.cpp +msgid "Attachments" +msgstr "" + +#: scene/3d/soft_body.cpp +msgid "Point Index" +msgstr "" + +#: scene/3d/soft_body.cpp +msgid "Spatial Attachment Path" +msgstr "" + +#: scene/3d/soft_body.cpp +msgid "Physics Enabled" +msgstr "" + +#: scene/3d/soft_body.cpp +msgid "Parent Collision Ignore" +msgstr "" + +#: scene/3d/soft_body.cpp +msgid "Simulation Precision" +msgstr "" + +#: scene/3d/soft_body.cpp +msgid "Total Mass" +msgstr "" + +#: scene/3d/soft_body.cpp +msgid "Linear Stiffness" +msgstr "" + +#: scene/3d/soft_body.cpp +msgid "Areaangular Stiffness" +msgstr "" + +#: scene/3d/soft_body.cpp +msgid "Volume Stiffness" +msgstr "" + +#: scene/3d/soft_body.cpp +msgid "Pressure Coefficient" +msgstr "" + +#: scene/3d/soft_body.cpp +msgid "Damping Coefficient" +msgstr "" + +#: scene/3d/soft_body.cpp +msgid "Drag Coefficient" +msgstr "" + +#: scene/3d/soft_body.cpp +msgid "Pose Matching Coefficient" +msgstr "" + +#: scene/3d/soft_body.cpp +msgid "This body will be ignored until you set a mesh." +msgstr "" + +#: scene/3d/soft_body.cpp +msgid "" +"Size changes to SoftBody will be overridden by the physics engine when " +"running.\n" +"Change the size in children collision shapes instead." +msgstr "" + +#: scene/3d/spatial.cpp +msgid "Global Translation" +msgstr "" + +#: scene/3d/spatial.cpp +msgid "Matrix" +msgstr "" + +#: scene/3d/spatial.cpp +msgid "Gizmo" +msgstr "" + +#: scene/3d/spatial_velocity_tracker.cpp +msgid "Track Physics Step" +msgstr "" + +#: scene/3d/spring_arm.cpp +msgid "Spring Length" +msgstr "" + +#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp +msgid "Opacity" +msgstr "" + +#: scene/3d/sprite_3d.cpp scene/resources/material.cpp +msgid "Transparent" +msgstr "" + +#: scene/3d/sprite_3d.cpp +msgid "" +"A SpriteFrames resource must be created or set in the \"Frames\" property in " +"order for AnimatedSprite3D to display frames." +msgstr "" + +#: scene/3d/vehicle_body.cpp +msgid "" +"VehicleWheel serves to provide a wheel system to a VehicleBody. Please use " +"it as a child of a VehicleBody." +msgstr "" + +#: scene/3d/vehicle_body.cpp +msgid "Per-Wheel Motion" +msgstr "" + +#: scene/3d/vehicle_body.cpp +msgid "Engine Force" +msgstr "" + +#: scene/3d/vehicle_body.cpp +msgid "Brake" +msgstr "" + +#: scene/3d/vehicle_body.cpp +msgid "Steering" +msgstr "" + +#: scene/3d/vehicle_body.cpp +msgid "VehicleBody Motion" +msgstr "" + +#: scene/3d/vehicle_body.cpp +msgid "Use As Traction" +msgstr "" + +#: scene/3d/vehicle_body.cpp +msgid "Use As Steering" +msgstr "" + +#: scene/3d/vehicle_body.cpp +msgid "Wheel" +msgstr "" + +#: scene/3d/vehicle_body.cpp +msgid "Roll Influence" +msgstr "" + +#: scene/3d/vehicle_body.cpp +msgid "Friction Slip" +msgstr "" + +#: scene/3d/vehicle_body.cpp +msgid "Suspension" +msgstr "" + +#: scene/3d/vehicle_body.cpp +msgid "Max Force" +msgstr "" + +#: scene/3d/visibility_notifier.cpp +msgid "AABB" +msgstr "" + +#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp +msgid "Geometry" +msgstr "" + +#: scene/3d/visual_instance.cpp +msgid "Material Override" +msgstr "" + +#: scene/3d/visual_instance.cpp +msgid "Material Overlay" +msgstr "" + +#: scene/3d/visual_instance.cpp +msgid "Cast Shadow" +msgstr "" + +#: scene/3d/visual_instance.cpp +msgid "Extra Cull Margin" +msgstr "" + +#: scene/3d/visual_instance.cpp +msgid "Baked Light" +msgstr "" + +#: scene/3d/visual_instance.cpp +msgid "Generate Lightmap" +msgstr "" + +#: scene/3d/visual_instance.cpp +msgid "Lightmap Scale" +msgstr "" + +#: scene/3d/visual_instance.cpp +msgid "LOD" +msgstr "" + +#: scene/3d/visual_instance.cpp scene/animation/skeleton_ik.cpp +#: scene/resources/material.cpp +msgid "Min Distance" +msgstr "" + +#: scene/3d/visual_instance.cpp +msgid "Min Hysteresis" +msgstr "" + +#: scene/3d/visual_instance.cpp +msgid "Max Hysteresis" +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"WorldEnvironment requires its \"Environment\" property to contain an " +"Environment to have a visible effect." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + +#: scene/animation/animation_blend_tree.cpp +msgid "On BlendTree node '%s', animation not found: '%s'" +msgstr "" + +#: scene/animation/animation_blend_tree.cpp +msgid "Animation not found: '%s'" +msgstr "" + +#: scene/animation/animation_blend_tree.cpp +msgid "Mix Mode" +msgstr "" + +#: scene/animation/animation_blend_tree.cpp +msgid "Fadein Time" +msgstr "" + +#: scene/animation/animation_blend_tree.cpp +msgid "Fadeout Time" +msgstr "" + +#: scene/animation/animation_blend_tree.cpp +msgid "Auto Restart" +msgstr "" + +#: scene/animation/animation_blend_tree.cpp +msgid "Autorestart" +msgstr "" + +#: scene/animation/animation_blend_tree.cpp +msgid "Delay" +msgstr "" + +#: scene/animation/animation_blend_tree.cpp +msgid "Random Delay" +msgstr "" + +#: scene/animation/animation_blend_tree.cpp +msgid "Add Amount" +msgstr "" + +#: scene/animation/animation_blend_tree.cpp +msgid "Blend Amount" +msgstr "" + +#: scene/animation/animation_blend_tree.cpp +msgid "Seek Position" +msgstr "" + +#: scene/animation/animation_blend_tree.cpp +msgid "Input Count" +msgstr "" + +#: scene/animation/animation_blend_tree.cpp +#: scene/animation/animation_node_state_machine.cpp +msgid "Xfade Time" +msgstr "" + +#: scene/animation/animation_node_state_machine.cpp +msgid "Switch Mode" +msgstr "" + +#: scene/animation/animation_node_state_machine.cpp +msgid "Auto Advance" +msgstr "" + +#: scene/animation/animation_node_state_machine.cpp +msgid "Advance Condition" +msgstr "" + +#: scene/animation/animation_player.cpp +msgid "Anim Apply Reset" +msgstr "" + +#: scene/animation/animation_player.cpp +msgid "Current Animation" +msgstr "" + +#: scene/animation/animation_player.cpp +msgid "Assigned Animation" +msgstr "" + +#: scene/animation/animation_player.cpp +msgid "Reset On Save" +msgstr "" + +#: scene/animation/animation_player.cpp +msgid "Current Animation Length" +msgstr "" + +#: scene/animation/animation_player.cpp +msgid "Current Animation Position" +msgstr "" + +#: scene/animation/animation_player.cpp +msgid "Playback Options" +msgstr "" + +#: scene/animation/animation_player.cpp +msgid "Default Blend Time" +msgstr "" + +#: scene/animation/animation_player.cpp +msgid "Method Call Mode" +msgstr "" + +#: scene/animation/animation_tree.cpp +msgid "In node '%s', invalid animation: '%s'." +msgstr "" + +#: scene/animation/animation_tree.cpp +msgid "Invalid animation: '%s'." +msgstr "" + +#: scene/animation/animation_tree.cpp +msgid "Nothing connected to input '%s' of node '%s'." +msgstr "" + +#: scene/animation/animation_tree.cpp +msgid "No root AnimationNode for the graph is set." +msgstr "" + +#: scene/animation/animation_tree.cpp +msgid "Path to an AnimationPlayer node containing animations is not set." +msgstr "" + +#: scene/animation/animation_tree.cpp +msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node." +msgstr "" + +#: scene/animation/animation_tree.cpp +msgid "The AnimationPlayer root node is not a valid node." +msgstr "" + +#: scene/animation/animation_tree.cpp +msgid "Tree Root" +msgstr "" + +#: scene/animation/animation_tree.cpp +msgid "Anim Player" +msgstr "" + +#: scene/animation/animation_tree.cpp +msgid "Root Motion" +msgstr "" + +#: scene/animation/animation_tree.cpp +msgid "Track" +msgstr "" + +#: scene/animation/animation_tree_player.cpp +msgid "This node has been deprecated. Use AnimationTree instead." +msgstr "" + +#: scene/animation/animation_tree_player.cpp +msgid "Playback" +msgstr "" + +#: scene/animation/animation_tree_player.cpp +msgid "Master Player" +msgstr "" + +#: scene/animation/animation_tree_player.cpp +msgid "Base Path" +msgstr "" + +#: scene/animation/root_motion_view.cpp +msgid "Animation Path" +msgstr "" + +#: scene/animation/root_motion_view.cpp +msgid "Zero Y" +msgstr "" + +#: scene/animation/skeleton_ik.cpp +msgid "Root Bone" +msgstr "" + +#: scene/animation/skeleton_ik.cpp +msgid "Tip Bone" +msgstr "" + +#: scene/animation/skeleton_ik.cpp +msgid "Interpolation" +msgstr "" + +#: scene/animation/skeleton_ik.cpp +msgid "Override Tip Basis" +msgstr "" + +#: scene/animation/skeleton_ik.cpp +msgid "Use Magnet" +msgstr "" + +#: scene/animation/skeleton_ik.cpp +msgid "Magnet" +msgstr "" + +#: scene/animation/skeleton_ik.cpp +msgid "Target Node" +msgstr "" + +#: scene/animation/skeleton_ik.cpp +msgid "Max Iterations" +msgstr "" + +#: scene/animation/tween.cpp +msgid "Playback Process Mode" +msgstr "" + +#: scene/animation/tween.cpp +msgid "Playback Speed" +msgstr "" + +#: scene/audio/audio_stream_player.cpp +msgid "Mix Target" +msgstr "" + +#: scene/gui/aspect_ratio_container.cpp scene/gui/range.cpp +#: servers/audio/effects/audio_effect_compressor.cpp +msgid "Ratio" +msgstr "" + +#: scene/gui/aspect_ratio_container.cpp scene/gui/texture_button.cpp +#: scene/gui/texture_rect.cpp +msgid "Stretch Mode" +msgstr "" + +#: scene/gui/aspect_ratio_container.cpp scene/gui/box_container.cpp +msgid "Alignment" +msgstr "" + +#: scene/gui/base_button.cpp +msgid "Shortcut In Tooltip" +msgstr "" + +#: scene/gui/base_button.cpp +msgid "Action Mode" +msgstr "" + +#: scene/gui/base_button.cpp +msgid "Enabled Focus Mode" +msgstr "" + +#: scene/gui/base_button.cpp +msgid "Keep Pressed Outside" +msgstr "" + +#: scene/gui/base_button.cpp scene/gui/shortcut.cpp +msgid "Shortcut" +msgstr "" + +#: scene/gui/base_button.cpp +msgid "Group" +msgstr "" + +#: scene/gui/button.cpp scene/gui/label.cpp +msgid "Clip Text" +msgstr "" + +#: scene/gui/button.cpp scene/gui/label.cpp scene/gui/line_edit.cpp +#: scene/gui/spin_box.cpp +msgid "Align" +msgstr "" + +#: scene/gui/button.cpp +msgid "Icon Align" +msgstr "" + +#: scene/gui/button.cpp +msgid "Expand Icon" +msgstr "" + +#: scene/gui/center_container.cpp +msgid "Use Top Left" +msgstr "" + +#: scene/gui/color_picker.cpp +msgid "" +"Color: #%s\n" +"LMB: Apply color\n" +"RMB: Remove preset" +msgstr "" + +#: scene/gui/color_picker.cpp +msgid "Edit Alpha" +msgstr "" + +#: scene/gui/color_picker.cpp +msgid "HSV Mode" +msgstr "" + +#: scene/gui/color_picker.cpp +msgid "Raw Mode" +msgstr "" + +#: scene/gui/color_picker.cpp +msgid "Deferred Mode" +msgstr "" + +#: scene/gui/color_picker.cpp +msgid "Presets Enabled" +msgstr "" + +#: scene/gui/color_picker.cpp +msgid "Presets Visible" +msgstr "" + +#: scene/gui/color_picker.cpp +msgid "Pick a color from the editor window." +msgstr "" + +#: scene/gui/color_picker.cpp +msgid "HSV" +msgstr "" + +#: scene/gui/color_picker.cpp +msgid "Switch between hexadecimal and code values." +msgstr "" + +#: scene/gui/color_picker.cpp +msgid "Add current color as a preset." +msgstr "" + +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures its " +"children placement behavior.\n" +"If you don't intend to add a script, use a plain Control node instead." +msgstr "" + +#: scene/gui/control.cpp +msgid "Theme Overrides" +msgstr "" + +#: scene/gui/control.cpp +msgid "" +"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to " +"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"." +msgstr "" + +#: scene/gui/control.cpp +msgid "Anchor" +msgstr "" + +#: scene/gui/control.cpp +msgid "Grow Direction" +msgstr "" + +#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp +msgid "Min Size" +msgstr "" + +#: scene/gui/control.cpp +msgid "Pivot Offset" +msgstr "" + +#: scene/gui/control.cpp +msgid "Clip Content" +msgstr "" + +#: scene/gui/control.cpp scene/resources/visual_shader_nodes.cpp +msgid "Hint" +msgstr "" + +#: scene/gui/control.cpp +msgid "Tooltip" +msgstr "" + +#: scene/gui/control.cpp scene/resources/default_theme/default_theme.cpp +msgid "Focus" +msgstr "" + +#: scene/gui/control.cpp +msgid "Neighbour Left" +msgstr "" + +#: scene/gui/control.cpp +msgid "Neighbour Top" +msgstr "" + +#: scene/gui/control.cpp +msgid "Neighbour Right" +msgstr "" + +#: scene/gui/control.cpp +msgid "Neighbour Bottom" +msgstr "" + +#: scene/gui/control.cpp +msgid "Next" +msgstr "" + +#: scene/gui/control.cpp +msgid "Previous" +msgstr "" + +#: scene/gui/control.cpp +msgid "Mouse" +msgstr "" + +#: scene/gui/control.cpp +msgid "Default Cursor Shape" +msgstr "" + +#: scene/gui/control.cpp +msgid "Pass On Modal Close Click" +msgstr "" + +#: scene/gui/control.cpp +msgid "Size Flags" +msgstr "" + +#: scene/gui/control.cpp +msgid "Stretch Ratio" +msgstr "" + +#: scene/gui/control.cpp +msgid "Theme Type Variation" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Window Title" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Dialog" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Hide On OK" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Alert!" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Please Confirm..." +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Mode Overrides Title" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Must use a valid extension." +msgstr "" + +#: scene/gui/graph_edit.cpp +msgid "Right Disconnects" +msgstr "" + +#: scene/gui/graph_edit.cpp +msgid "Scroll Offset" +msgstr "" + +#: scene/gui/graph_edit.cpp +msgid "Snap Distance" +msgstr "" + +#: scene/gui/graph_edit.cpp +msgid "Zoom Min" +msgstr "" + +#: scene/gui/graph_edit.cpp +msgid "Zoom Max" +msgstr "" + +#: scene/gui/graph_edit.cpp +msgid "Zoom Step" +msgstr "" + +#: scene/gui/graph_edit.cpp +msgid "Show Zoom Label" +msgstr "" + +#: scene/gui/graph_edit.cpp scene/gui/text_edit.cpp +#: scene/resources/default_theme/default_theme.cpp +msgid "Minimap" +msgstr "" + +#: scene/gui/graph_edit.cpp +msgid "Enable grid minimap." +msgstr "" + +#: scene/gui/graph_node.cpp +msgid "Show Close" +msgstr "" + +#: scene/gui/graph_node.cpp scene/gui/option_button.cpp +#: scene/resources/default_theme/default_theme.cpp +msgid "Selected" +msgstr "" + +#: scene/gui/graph_node.cpp scene/resources/default_theme/default_theme.cpp +msgid "Comment" +msgstr "" + +#: scene/gui/graph_node.cpp +msgid "Overlay" +msgstr "" + +#: scene/gui/grid_container.cpp scene/gui/item_list.cpp scene/gui/tree.cpp +msgid "Columns" +msgstr "" + +#: scene/gui/item_list.cpp scene/gui/popup_menu.cpp scene/gui/text_edit.cpp +#: scene/gui/tree.cpp scene/main/viewport.cpp +msgid "Timers" +msgstr "" + +#: scene/gui/item_list.cpp scene/gui/popup_menu.cpp scene/gui/tree.cpp +msgid "Incremental Search Max Interval Msec" +msgstr "" + +#: scene/gui/item_list.cpp scene/gui/tree.cpp +msgid "Allow Reselect" +msgstr "" + +#: scene/gui/item_list.cpp scene/gui/tree.cpp +msgid "Allow RMB Select" +msgstr "" + +#: scene/gui/item_list.cpp +msgid "Max Text Lines" +msgstr "" + +#: scene/gui/item_list.cpp +msgid "Auto Height" +msgstr "" + +#: scene/gui/item_list.cpp +msgid "Max Columns" +msgstr "" + +#: scene/gui/item_list.cpp +msgid "Same Column Width" +msgstr "" + +#: scene/gui/item_list.cpp +msgid "Fixed Column Width" +msgstr "" + +#: scene/gui/item_list.cpp +msgid "Icon Scale" +msgstr "" + +#: scene/gui/item_list.cpp +msgid "Fixed Icon Size" +msgstr "" + +#: scene/gui/label.cpp +msgid "V Align" +msgstr "" + +#: scene/gui/label.cpp scene/gui/rich_text_label.cpp +msgid "Visible Characters" +msgstr "" + +#: scene/gui/label.cpp scene/gui/rich_text_label.cpp +msgid "Percent Visible" +msgstr "" + +#: scene/gui/label.cpp +msgid "Lines Skipped" +msgstr "" + +#: scene/gui/label.cpp +msgid "Max Lines Visible" +msgstr "" + +#: scene/gui/line_edit.cpp scene/resources/navigation_mesh.cpp +msgid "Max Length" +msgstr "" + +#: scene/gui/line_edit.cpp +msgid "Secret" +msgstr "" + +#: scene/gui/line_edit.cpp +msgid "Secret Character" +msgstr "" + +#: scene/gui/line_edit.cpp +msgid "Expand To Text Length" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Context Menu Enabled" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Virtual Keyboard Enabled" +msgstr "" + +#: scene/gui/line_edit.cpp +msgid "Clear Button Enabled" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Shortcut Keys Enabled" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Middle Mouse Paste Enabled" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Selecting Enabled" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/rich_text_label.cpp +#: scene/gui/text_edit.cpp +msgid "Deselect On Focus Loss Enabled" +msgstr "" + +#: scene/gui/line_edit.cpp +msgid "Right Icon" +msgstr "" + +#: scene/gui/line_edit.cpp +msgid "Placeholder" +msgstr "" + +#: scene/gui/line_edit.cpp +msgid "Alpha" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Caret" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Blink" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Blink Speed" +msgstr "" + +#: scene/gui/link_button.cpp +msgid "Underline" +msgstr "" + +#: scene/gui/menu_button.cpp +msgid "Switch On Hover" +msgstr "" + +#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp +msgid "Draw Center" +msgstr "" + +#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp +msgid "Region Rect" +msgstr "" + +#: scene/gui/nine_patch_rect.cpp +msgid "Patch Margin" +msgstr "" + +#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp +msgid "Axis Stretch" +msgstr "" + +#: scene/gui/nine_patch_rect.cpp +msgid "" +"The Tile and Tile Fit options for Axis Stretch properties are only effective " +"when using the GLES3 rendering backend.\n" +"The GLES2 backend is currently in use, so these modes will act like Stretch " +"instead." +msgstr "" + +#: scene/gui/popup.cpp +msgid "Popup" +msgstr "" + +#: scene/gui/popup.cpp +msgid "Exclusive" +msgstr "" + +#: scene/gui/popup.cpp +msgid "" +"Popups will hide by default unless you call popup() or any of the popup*() " +"functions. Making them visible for editing is fine, but they will hide upon " +"running." +msgstr "" + +#: scene/gui/popup_menu.cpp +msgid "Hide On Item Selection" +msgstr "" + +#: scene/gui/popup_menu.cpp +msgid "Hide On Checkable Item Selection" +msgstr "" + +#: scene/gui/popup_menu.cpp +msgid "Hide On State Item Selection" +msgstr "" + +#: scene/gui/popup_menu.cpp +msgid "Submenu Popup Delay" +msgstr "" + +#: scene/gui/popup_menu.cpp +msgid "Allow Search" +msgstr "" + +#: scene/gui/progress_bar.cpp +msgid "Percent" +msgstr "" + +#: scene/gui/range.cpp +msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0." +msgstr "" + +#: scene/gui/range.cpp scene/resources/curve.cpp +msgid "Min Value" +msgstr "" + +#: scene/gui/range.cpp scene/resources/curve.cpp +msgid "Max Value" +msgstr "" + +#: scene/gui/range.cpp +msgid "Page" +msgstr "" + +#: scene/gui/range.cpp +msgid "Exp Edit" +msgstr "" + +#: scene/gui/range.cpp +msgid "Rounded" +msgstr "" + +#: scene/gui/range.cpp +msgid "Allow Greater" +msgstr "" + +#: scene/gui/range.cpp +msgid "Allow Lesser" +msgstr "" + +#: scene/gui/reference_rect.cpp +msgid "Border Color" +msgstr "" + +#: scene/gui/reference_rect.cpp scene/resources/style_box.cpp +msgid "Border Width" +msgstr "" + +#: scene/gui/rich_text_effect.cpp +msgid "Relative Index" +msgstr "" + +#: scene/gui/rich_text_effect.cpp +msgid "Absolute Index" +msgstr "" + +#: scene/gui/rich_text_effect.cpp +msgid "Elapsed Time" +msgstr "" + +#: scene/gui/rich_text_effect.cpp +msgid "Env" +msgstr "" + +#: scene/gui/rich_text_effect.cpp +msgid "Character" +msgstr "" + +#: scene/gui/rich_text_label.cpp +msgid "BBCode" +msgstr "" + +#: scene/gui/rich_text_label.cpp +msgid "Meta Underlined" +msgstr "" + +#: scene/gui/rich_text_label.cpp +msgid "Tab Size" +msgstr "" + +#: scene/gui/rich_text_label.cpp +msgid "Fit Content Height" +msgstr "" + +#: scene/gui/rich_text_label.cpp +msgid "Scroll Active" +msgstr "" + +#: scene/gui/rich_text_label.cpp +msgid "Scroll Following" +msgstr "" + +#: scene/gui/rich_text_label.cpp +msgid "Selection Enabled" +msgstr "" + +#: scene/gui/rich_text_label.cpp scene/gui/text_edit.cpp +msgid "Override Selected Font Color" +msgstr "" + +#: scene/gui/rich_text_label.cpp +msgid "Custom Effects" +msgstr "" + +#: scene/gui/scroll_bar.cpp +msgid "Custom Step" +msgstr "" + +#: scene/gui/scroll_container.cpp +msgid "" +"ScrollContainer is intended to work with a single child control.\n" +"Use a container as child (VBox, HBox, etc.), or a Control and set the custom " +"minimum size manually." +msgstr "" + +#: scene/gui/scroll_container.cpp +msgid "Follow Focus" +msgstr "" + +#: scene/gui/scroll_container.cpp +msgid "Horizontal Enabled" +msgstr "" + +#: scene/gui/scroll_container.cpp +msgid "Vertical Enabled" +msgstr "" + +#: scene/gui/scroll_container.cpp +msgid "Default Scroll Deadzone" +msgstr "" + +#: scene/gui/slider.cpp +msgid "Scrollable" +msgstr "" + +#: scene/gui/slider.cpp +msgid "Tick Count" +msgstr "" + +#: scene/gui/slider.cpp +msgid "Ticks On Borders" +msgstr "" + +#: scene/gui/spin_box.cpp +msgid "Prefix" +msgstr "" + +#: scene/gui/spin_box.cpp +msgid "Suffix" +msgstr "" + +#: scene/gui/split_container.cpp +msgid "Split Offset" +msgstr "" + +#: scene/gui/split_container.cpp scene/gui/tree.cpp +msgid "Collapsed" +msgstr "" + +#: scene/gui/split_container.cpp +msgid "Dragger Visibility" +msgstr "" + +#: scene/gui/tab_container.cpp scene/gui/tabs.cpp +msgid "Tab Align" +msgstr "" + +#: scene/gui/tab_container.cpp scene/gui/tabs.cpp +msgid "Current Tab" +msgstr "" + +#: scene/gui/tab_container.cpp +msgid "Tabs Visible" +msgstr "" + +#: scene/gui/tab_container.cpp +msgid "All Tabs In Front" +msgstr "" + +#: scene/gui/tab_container.cpp scene/gui/tabs.cpp +msgid "Drag To Rearrange Enabled" +msgstr "" + +#: scene/gui/tab_container.cpp +msgid "Use Hidden Tabs For Min Size" +msgstr "" + +#: scene/gui/tabs.cpp +msgid "Tab Close Display Policy" +msgstr "" + +#: scene/gui/tabs.cpp +msgid "Scrolling Enabled" +msgstr "" + +#: scene/gui/text_edit.cpp +msgid "Readonly" +msgstr "" + +#: scene/gui/text_edit.cpp +msgid "Bookmark Gutter" +msgstr "" + +#: scene/gui/text_edit.cpp +msgid "Breakpoint Gutter" +msgstr "" + +#: scene/gui/text_edit.cpp +msgid "Fold Gutter" +msgstr "" + +#: scene/gui/text_edit.cpp +msgid "Drag And Drop Selection Enabled" +msgstr "" + +#: scene/gui/text_edit.cpp +msgid "Hiding Enabled" +msgstr "" + +#: scene/gui/text_edit.cpp +msgid "Wrap Enabled" +msgstr "" + +#: scene/gui/text_edit.cpp +msgid "Scroll Vertical" +msgstr "" + +#: scene/gui/text_edit.cpp +msgid "Scroll Horizontal" +msgstr "" + +#: scene/gui/text_edit.cpp +msgid "Draw" +msgstr "" + +#: scene/gui/text_edit.cpp +msgid "Block Mode" +msgstr "" + +#: scene/gui/text_edit.cpp +msgid "Moving By Right Click" +msgstr "" + +#: scene/gui/text_edit.cpp +msgid "Text Edit Idle Detect (sec)" +msgstr "" + +#: scene/gui/text_edit.cpp +msgid "Text Edit Undo Stack Max Size" +msgstr "" + +#: scene/gui/texture_button.cpp scene/resources/default_theme/default_theme.cpp +msgid "Hover" +msgstr "" + +#: scene/gui/texture_button.cpp +msgid "Focused" +msgstr "" + +#: scene/gui/texture_button.cpp +msgid "Click Mask" +msgstr "" + +#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp +#: scene/gui/video_player.cpp +msgid "Expand" +msgstr "" + +#: scene/gui/texture_progress.cpp +msgid "Under" +msgstr "" + +#: scene/gui/texture_progress.cpp +msgid "Over" +msgstr "" + +#: scene/gui/texture_progress.cpp +msgid "Progress" +msgstr "" + +#: scene/gui/texture_progress.cpp +msgid "Progress Offset" +msgstr "" + +#: scene/gui/texture_progress.cpp +msgid "Fill Mode" +msgstr "" + +#: scene/gui/texture_progress.cpp scene/resources/material.cpp +msgid "Tint" +msgstr "" + +#: scene/gui/texture_progress.cpp +msgid "Radial Fill" +msgstr "" + +#: scene/gui/texture_progress.cpp +msgid "Initial Angle" +msgstr "" + +#: scene/gui/texture_progress.cpp +msgid "Fill Degrees" +msgstr "" + +#: scene/gui/texture_progress.cpp scene/resources/primitive_meshes.cpp +msgid "Center Offset" +msgstr "" + +#: scene/gui/texture_progress.cpp +msgid "Nine Patch Stretch" +msgstr "" + +#: scene/gui/texture_progress.cpp +msgid "Stretch Margin Left" +msgstr "" + +#: scene/gui/texture_progress.cpp +msgid "Stretch Margin Top" +msgstr "" + +#: scene/gui/texture_progress.cpp +msgid "Stretch Margin Right" +msgstr "" + +#: scene/gui/texture_progress.cpp +msgid "Stretch Margin Bottom" +msgstr "" + +#: scene/gui/tree.cpp +msgid "Custom Minimum Height" +msgstr "" + +#: scene/gui/tree.cpp +msgid "(Other)" +msgstr "" + +#: scene/gui/tree.cpp +msgid "Column Titles Visible" +msgstr "" + +#: scene/gui/tree.cpp +msgid "Hide Folding" +msgstr "" + +#: scene/gui/tree.cpp +msgid "Hide Root" +msgstr "" + +#: scene/gui/tree.cpp +msgid "Drop Mode Flags" +msgstr "" + +#: scene/gui/video_player.cpp +msgid "Audio Track" +msgstr "" + +#: scene/gui/video_player.cpp scene/main/scene_tree.cpp scene/main/timer.cpp +msgid "Paused" +msgstr "" + +#: scene/gui/video_player.cpp +msgid "Buffering Msec" +msgstr "" + +#: scene/gui/video_player.cpp +msgid "Stream Position" +msgstr "" + +#: scene/gui/viewport_container.cpp +msgid "Stretch Shrink" +msgstr "" + +#: scene/main/canvas_layer.cpp +msgid "Follow Viewport" +msgstr "" + +#: scene/main/http_request.cpp +msgid "Download File" +msgstr "" + +#: scene/main/http_request.cpp +msgid "Download Chunk Size" +msgstr "" + +#: scene/main/http_request.cpp +msgid "Body Size Limit" +msgstr "" + +#: scene/main/http_request.cpp +msgid "Max Redirects" +msgstr "" + +#: scene/main/http_request.cpp +msgid "Timeout" +msgstr "" + +#: scene/main/node.cpp +msgid "" +"Setting node name '%s' to be unique within scene for '%s', but it's already " +"claimed by '%s'. This node is no longer set unique." +msgstr "" + +#: scene/main/node.cpp +msgid "Name Num Separator" +msgstr "" + +#: scene/main/node.cpp +msgid "Name Casing" +msgstr "" + +#: scene/main/node.cpp +msgid "Editor Description" +msgstr "" + +#: scene/main/node.cpp +msgid "Pause Mode" +msgstr "" + +#: scene/main/node.cpp +msgid "Physics Interpolation Mode" +msgstr "" + +#: scene/main/node.cpp +msgid "Display Folded" +msgstr "" + +#: scene/main/node.cpp +msgid "Filename" +msgstr "" + +#: scene/main/node.cpp +msgid "Owner" +msgstr "" + +#: scene/main/node.cpp scene/main/scene_tree.cpp +msgid "Multiplayer" +msgstr "" + +#: scene/main/node.cpp +msgid "Custom Multiplayer" +msgstr "" + +#: scene/main/node.cpp +msgid "Process Priority" +msgstr "" + +#: scene/main/scene_tree.cpp scene/main/timer.cpp +msgid "Time Left" +msgstr "" + +#: scene/main/scene_tree.cpp +msgid "Debug Collisions Hint" +msgstr "" + +#: scene/main/scene_tree.cpp +msgid "Debug Navigation Hint" +msgstr "" + +#: scene/main/scene_tree.cpp +msgid "Use Font Oversampling" +msgstr "" + +#: scene/main/scene_tree.cpp +msgid "Edited Scene Root" +msgstr "" + +#: scene/main/scene_tree.cpp +msgid "Root" +msgstr "" + +#: scene/main/scene_tree.cpp +msgid "Multiplayer Poll" +msgstr "" + +#: scene/main/scene_tree.cpp scene/resources/mesh_library.cpp +#: scene/resources/shape_2d.cpp +msgid "Shapes" +msgstr "" + +#: scene/main/scene_tree.cpp +msgid "Shape Color" +msgstr "" + +#: scene/main/scene_tree.cpp +msgid "Contact Color" +msgstr "" + +#: scene/main/scene_tree.cpp +msgid "Geometry Color" +msgstr "" + +#: scene/main/scene_tree.cpp +msgid "Disabled Geometry Color" +msgstr "" + +#: scene/main/scene_tree.cpp +msgid "Max Contacts Displayed" +msgstr "" + +#: scene/main/scene_tree.cpp scene/resources/shape_2d.cpp +msgid "Draw 2D Outlines" +msgstr "" + +#: scene/main/scene_tree.cpp servers/visual_server.cpp +msgid "Reflections" +msgstr "" + +#: scene/main/scene_tree.cpp +msgid "Atlas Size" +msgstr "" + +#: scene/main/scene_tree.cpp +msgid "Atlas Subdiv" +msgstr "" + +#: scene/main/scene_tree.cpp scene/main/viewport.cpp +msgid "MSAA" +msgstr "" + +#: scene/main/scene_tree.cpp +msgid "Use FXAA" +msgstr "" + +#: scene/main/scene_tree.cpp +msgid "Use Debanding" +msgstr "" + +#: scene/main/scene_tree.cpp scene/main/viewport.cpp +msgid "HDR" +msgstr "" + +#: scene/main/scene_tree.cpp scene/main/viewport.cpp +msgid "Use 32 BPC Depth" +msgstr "" + +#: scene/main/scene_tree.cpp +msgid "Default Environment" +msgstr "" + +#: scene/main/scene_tree.cpp +msgid "" +"Default Environment as specified in Project Settings (Rendering -> " +"Environment -> Default Environment) could not be loaded." +msgstr "" + +#: scene/main/scene_tree.cpp +msgid "Enable Object Picking" +msgstr "" + +#: scene/main/timer.cpp +msgid "" +"Very low timer wait times (< 0.05 seconds) may behave in significantly " +"different ways depending on the rendered or physics frame rate.\n" +"Consider using a script's process loop instead of relying on a Timer for " +"very low wait times." +msgstr "" + +#: scene/main/timer.cpp +msgid "Autostart" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Viewport Path" +msgstr "" + +#: scene/main/viewport.cpp +msgid "" +"The Viewport size must be greater than or equal to 2 pixels on both " +"dimensions to render anything." +msgstr "" + +#: scene/main/viewport.cpp +msgid "" +"This Viewport has HDR enabled, but its Usage is set to 2D or 2D No-" +"Sampling.\n" +"HDR is only supported in Viewports that have their Usage set to 3D or 3D No-" +"Effects.\n" +"HDR will be disabled for this Viewport." +msgstr "" + +#: scene/main/viewport.cpp +msgid "ARVR" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Size Override Stretch" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Own World" +msgstr "" + +#: scene/main/viewport.cpp scene/resources/world_2d.cpp +msgid "World" +msgstr "" + +#: scene/main/viewport.cpp +msgid "World 2D" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Transparent BG" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Handle Input Locally" +msgstr "" + +#: scene/main/viewport.cpp +msgid "FXAA" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Debanding" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Disable 3D" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Keep 3D Linear" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Render Direct To Screen" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Debug Draw" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Render Target" +msgstr "" + +#: scene/main/viewport.cpp +msgid "V Flip" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Clear Mode" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Enable 2D" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Enable 3D" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Object Picking" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Disable Input" +msgstr "" + +#: scene/main/viewport.cpp servers/visual_server.cpp +msgid "Shadow Atlas" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Quad 0" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Quad 1" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Quad 2" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Quad 3" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Canvas Transform" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Global Canvas Transform" +msgstr "" + +#: scene/main/viewport.cpp +msgid "Tooltip Delay (sec)" +msgstr "" + +#: scene/register_scene_types.cpp +msgid "Swap OK Cancel" +msgstr "" + +#: scene/register_scene_types.cpp +msgid "Layer Names" +msgstr "" + +#: scene/register_scene_types.cpp +msgid "2D Render" +msgstr "" + +#: scene/register_scene_types.cpp +msgid "3D Render" +msgstr "" + +#: scene/register_scene_types.cpp +msgid "2D Physics" +msgstr "" + +#: scene/register_scene_types.cpp +msgid "3D Physics" +msgstr "" + +#: scene/register_scene_types.cpp +msgid "2D Navigation" +msgstr "" + +#: scene/register_scene_types.cpp +msgid "3D Navigation" +msgstr "" + +#: scene/register_scene_types.cpp +msgid "Use hiDPI" +msgstr "" + +#: scene/register_scene_types.cpp +msgid "Custom" +msgstr "" + +#: scene/register_scene_types.cpp +msgid "Custom Font" +msgstr "" + +#: scene/resources/audio_stream_sample.cpp +#: servers/audio/effects/audio_stream_generator.cpp servers/audio_server.cpp +msgid "Mix Rate" +msgstr "" + +#: scene/resources/audio_stream_sample.cpp +msgid "Stereo" +msgstr "" + +#: scene/resources/concave_polygon_shape_2d.cpp +msgid "Segments" +msgstr "" + +#: scene/resources/curve.cpp +msgid "Bake Resolution" +msgstr "" + +#: scene/resources/curve.cpp +msgid "Bake Interval" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Panel" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Font Color" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Font Color Pressed" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Font Color Hover" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Font Color Focus" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Font Color Disabled" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "H Separation" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Underline Spacing" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Arrow" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Arrow Margin" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Hover Pressed" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Checked Disabled" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Unchecked" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Unchecked Disabled" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Radio Checked" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Radio Checked Disabled" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Radio Unchecked" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Radio Unchecked Disabled" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Font Color Hover Pressed" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Check V Adjust" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "On Disabled" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Off" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Off Disabled" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Font Color Shadow" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Font Outline Modulate" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Shadow Offset X" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Shadow Offset Y" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Shadow As Outline" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Font Color Selected" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Font Color Uneditable" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Cursor Color" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Clear Button Color" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Clear Button Color Pressed" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Minimum Spaces" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "BG" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "FG" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Tab" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +#: scene/resources/dynamic_font.cpp scene/resources/world.cpp +#: scene/resources/world_2d.cpp +msgid "Space" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Folded" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Fold" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Font Color Readonly" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Completion Lines" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Completion Max Width" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Completion Scroll Width" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Scroll Focus" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Grabber" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Grabber Highlight" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Grabber Pressed" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Increment" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Increment Highlight" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Increment Pressed" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Decrement" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Decrement Highlight" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Decrement Pressed" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Slider" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Grabber Area" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Grabber Area Highlight" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Grabber Disabled" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Tick" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Updown" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Scaleborder Size" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Title Font" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Title Color" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Title Height" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Close Highlight" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Close H Offset" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Close V Offset" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Parent Folder" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Toggle Hidden" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Panel Disabled" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Labeled Separator Left" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Labeled Separator Right" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Font Separator" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Font Color Accel" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Font Color Separator" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "V Separation" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Selected Frame" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Default Frame" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Default Focus" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Comment Focus" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Breakpoint" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Resizer" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Close Color" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Resizer Color" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Title Offset" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Close Offset" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Port Offset" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "BG Focus" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Selected Focus" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Cursor Unfocused" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Button Pressed" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Title Button Normal" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Title Button Pressed" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Title Button Hover" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Custom Button" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Custom Button Pressed" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Custom Button Hover" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Select Arrow" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Arrow Collapsed" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Title Button Font" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Title Button Color" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Guide Color" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Drop Position Color" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Relationship Line Color" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Custom Button Font Highlight" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Item Margin" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Button Margin" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Draw Relationship Lines" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Draw Guides" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Scroll Border" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Scroll Speed" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Icon Margin" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Line Separation" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Tab FG" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Tab BG" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Tab Disabled" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Menu" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Menu Highlight" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Font Color FG" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Font Color BG" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Side Margin" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Top Margin" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Label V Align FG" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Label V Align BG" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Large" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Folder" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Folder Icon Modulate" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "File Icon Modulate" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Files Disabled" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "SV Width" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "SV Height" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "H Width" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Label Width" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Screen Picker" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Add Preset" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Color Hue" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Color Sample" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Preset BG" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Overbright Indicator" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Preset FG" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Preset BG Icon" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Normal Font" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Bold Font" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Italics Font" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Bold Italics Font" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Mono Font" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Table H Separation" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Table V Separation" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Margin Left" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Margin Top" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Margin Right" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Margin Bottom" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Autohide" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Minus" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "More" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Grid Minor" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Grid Major" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Selection Fill" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Selection Stroke" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Activity" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Bezier Len Pos" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Bezier Len Neg" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Port Grab Distance Horizontal" +msgstr "" + +#: scene/resources/default_theme/default_theme.cpp +msgid "Port Grab Distance Vertical" +msgstr "" + +#: scene/resources/dynamic_font.cpp +msgid "Hinting" +msgstr "" + +#: scene/resources/dynamic_font.cpp +msgid "Override Oversampling" +msgstr "" + +#: scene/resources/dynamic_font.cpp +msgid "Font Path" +msgstr "" + +#: scene/resources/dynamic_font.cpp +msgid "Outline Size" +msgstr "" + +#: scene/resources/dynamic_font.cpp +msgid "Outline Color" +msgstr "" + +#: scene/resources/dynamic_font.cpp +msgid "Use Mipmaps" +msgstr "" + +#: scene/resources/dynamic_font.cpp +msgid "Extra Spacing" +msgstr "" + +#: scene/resources/dynamic_font.cpp +msgid "Char" +msgstr "" + +#: scene/resources/dynamic_font.cpp +msgid "Font Data" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Background" +msgstr "" + +#: scene/resources/environment.cpp scene/resources/sky.cpp +msgid "Sky" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Sky Custom FOV" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Sky Orientation" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Sky Rotation" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Sky Rotation Degrees" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Canvas Max Layer" +msgstr "" + +#: scene/resources/environment.cpp scene/resources/texture.cpp +msgid "Camera Feed ID" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Ambient Light" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Sky Contribution" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Fog" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Sun Color" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Sun Amount" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Depth Enabled" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Depth Begin" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Depth End" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Depth Curve" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Transmit Enabled" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Transmit Curve" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Height Enabled" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Height Min" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Height Max" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Height Curve" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Tonemap" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Exposure" +msgstr "" + +#: scene/resources/environment.cpp +msgid "White" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Auto Exposure" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Min Luma" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Max Luma" +msgstr "" + +#: scene/resources/environment.cpp +msgid "SS Reflections" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Max Steps" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Fade In" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Fade Out" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Depth Tolerance" +msgstr "" + +#: scene/resources/environment.cpp scene/resources/material.cpp +msgid "Roughness" +msgstr "" + +#: scene/resources/environment.cpp +msgid "SSAO" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Radius 2" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Intensity 2" +msgstr "" + +#: scene/resources/environment.cpp scene/resources/material.cpp +msgid "Light Affect" +msgstr "" + +#: scene/resources/environment.cpp +msgid "AO Channel Affect" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Blur" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Edge Sharpness" +msgstr "" + +#: scene/resources/environment.cpp +msgid "DOF Far Blur" +msgstr "" + +#: scene/resources/environment.cpp scene/resources/material.cpp +msgid "Distance" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Transition" +msgstr "" + +#: scene/resources/environment.cpp +msgid "DOF Near Blur" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Glow" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Levels" +msgstr "" + +#: scene/resources/environment.cpp +#: servers/audio/effects/audio_effect_chorus.cpp +msgid "1" +msgstr "" + +#: scene/resources/environment.cpp +#: servers/audio/effects/audio_effect_chorus.cpp +msgid "2" +msgstr "" + +#: scene/resources/environment.cpp +#: servers/audio/effects/audio_effect_chorus.cpp +msgid "3" +msgstr "" + +#: scene/resources/environment.cpp +#: servers/audio/effects/audio_effect_chorus.cpp +msgid "4" +msgstr "" + +#: scene/resources/environment.cpp +msgid "5" +msgstr "" + +#: scene/resources/environment.cpp +msgid "6" +msgstr "" + +#: scene/resources/environment.cpp +msgid "7" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Bloom" +msgstr "" + +#: scene/resources/environment.cpp +msgid "HDR Threshold" +msgstr "" + +#: scene/resources/environment.cpp +msgid "HDR Luminance Cap" +msgstr "" + +#: scene/resources/environment.cpp +msgid "HDR Scale" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Bicubic Upscale" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Adjustments" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Brightness" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Saturation" +msgstr "" + +#: scene/resources/environment.cpp +msgid "Color Correction" +msgstr "" + +#: scene/resources/font.cpp +msgid "Ascent" +msgstr "" + +#: scene/resources/font.cpp +msgid "Distance Field" +msgstr "" + +#: scene/resources/gradient.cpp +msgid "Raw Data" +msgstr "" + +#: scene/resources/gradient.cpp +msgid "Offsets" +msgstr "" + +#: scene/resources/height_map_shape.cpp +msgid "Map Width" +msgstr "" + +#: scene/resources/height_map_shape.cpp +msgid "Map Depth" +msgstr "" + +#: scene/resources/height_map_shape.cpp +msgid "Map Data" +msgstr "" + +#: scene/resources/line_shape_2d.cpp +msgid "D" +msgstr "" + +#: scene/resources/material.cpp +msgid "Next Pass" +msgstr "" + +#: scene/resources/material.cpp +msgid "Use Shadow To Opacity" +msgstr "" + +#: scene/resources/material.cpp +msgid "Unshaded" +msgstr "" + +#: scene/resources/material.cpp +msgid "Vertex Lighting" +msgstr "" + +#: scene/resources/material.cpp +msgid "Use Point Size" +msgstr "" + +#: scene/resources/material.cpp +msgid "World Triplanar" +msgstr "" + +#: scene/resources/material.cpp +msgid "Albedo Tex Force sRGB" +msgstr "" + +#: scene/resources/material.cpp +msgid "Do Not Receive Shadows" +msgstr "" + +#: scene/resources/material.cpp +msgid "Disable Ambient Light" +msgstr "" + +#: scene/resources/material.cpp +msgid "Ensure Correct Normals" +msgstr "" + +#: scene/resources/material.cpp +msgid "Albedo Tex MSDF" +msgstr "" + +#: scene/resources/material.cpp +msgid "Vertex Color" +msgstr "" + +#: scene/resources/material.cpp +msgid "Use As Albedo" +msgstr "" + +#: scene/resources/material.cpp +msgid "Is sRGB" +msgstr "" + +#: scene/resources/material.cpp servers/visual_server.cpp +msgid "Parameters" +msgstr "" + +#: scene/resources/material.cpp +msgid "Diffuse Mode" +msgstr "" + +#: scene/resources/material.cpp +msgid "Specular Mode" +msgstr "" + +#: scene/resources/material.cpp +msgid "Depth Draw Mode" +msgstr "" + +#: scene/resources/material.cpp +msgid "Line Width" +msgstr "" + +#: scene/resources/material.cpp +msgid "Point Size" +msgstr "" + +#: scene/resources/material.cpp +msgid "Billboard Mode" +msgstr "" + +#: scene/resources/material.cpp +msgid "Billboard Keep Scale" +msgstr "" + +#: scene/resources/material.cpp +msgid "Grow" +msgstr "" + +#: scene/resources/material.cpp +msgid "Grow Amount" +msgstr "" + +#: scene/resources/material.cpp +msgid "Use Alpha Scissor" +msgstr "" + +#: scene/resources/material.cpp +msgid "Particles Anim" +msgstr "" + +#: scene/resources/material.cpp +msgid "H Frames" +msgstr "" + +#: scene/resources/material.cpp +msgid "V Frames" +msgstr "" + +#: scene/resources/material.cpp +msgid "Albedo" +msgstr "" + +#: scene/resources/material.cpp +msgid "Metallic" +msgstr "" + +#: scene/resources/material.cpp +msgid "Texture Channel" +msgstr "" + +#: scene/resources/material.cpp +msgid "Emission" +msgstr "" + +#: scene/resources/material.cpp +msgid "On UV2" +msgstr "" + +#: scene/resources/material.cpp +msgid "NormalMap" +msgstr "" + +#: scene/resources/material.cpp +msgid "Rim" +msgstr "" + +#: scene/resources/material.cpp +msgid "Clearcoat" +msgstr "" + +#: scene/resources/material.cpp +msgid "Gloss" +msgstr "" + +#: scene/resources/material.cpp +msgid "Anisotropy" +msgstr "" + +#: scene/resources/material.cpp +msgid "Flowmap" +msgstr "" + +#: scene/resources/material.cpp +msgid "Ambient Occlusion" +msgstr "" + +#: scene/resources/material.cpp +msgid "Deep Parallax" +msgstr "" + +#: scene/resources/material.cpp +msgid "Min Layers" +msgstr "" + +#: scene/resources/material.cpp +msgid "Max Layers" +msgstr "" + +#: scene/resources/material.cpp +msgid "Flip Tangent" +msgstr "" + +#: scene/resources/material.cpp +msgid "Flip Binormal" +msgstr "" + +#: scene/resources/material.cpp +msgid "Subsurf Scatter" +msgstr "" + +#: scene/resources/material.cpp +msgid "Transmission" +msgstr "" + +#: scene/resources/material.cpp +msgid "Refraction" +msgstr "" + +#: scene/resources/material.cpp +msgid "Detail" +msgstr "" + +#: scene/resources/material.cpp +msgid "UV Layer" +msgstr "" + +#: scene/resources/material.cpp +msgid "UV1" +msgstr "" + +#: scene/resources/material.cpp +msgid "Triplanar" +msgstr "" + +#: scene/resources/material.cpp +msgid "Triplanar Sharpness" +msgstr "" + +#: scene/resources/material.cpp +msgid "UV2" +msgstr "" + +#: scene/resources/material.cpp +msgid "Proximity Fade" +msgstr "" + +#: scene/resources/material.cpp +msgid "Distance Fade" +msgstr "" + +#: scene/resources/material.cpp +msgid "Async Mode" +msgstr "" + +#: scene/resources/mesh.cpp +msgid "Lightmap Size Hint" +msgstr "" + +#: scene/resources/mesh.cpp scene/resources/primitive_meshes.cpp +msgid "Custom AABB" +msgstr "" + +#: scene/resources/mesh_library.cpp +msgid "Mesh Transform" +msgstr "" + +#: scene/resources/mesh_library.cpp +msgid "NavMesh Transform" +msgstr "" + +#: scene/resources/multimesh.cpp +msgid "Color Format" +msgstr "" + +#: scene/resources/multimesh.cpp +msgid "Transform Format" +msgstr "" + +#: scene/resources/multimesh.cpp +msgid "Custom Data Format" +msgstr "" + +#: scene/resources/multimesh.cpp +msgid "Instance Count" +msgstr "" + +#: scene/resources/multimesh.cpp +msgid "Visible Instance Count" +msgstr "" + +#: scene/resources/navigation_mesh.cpp +msgid "Sampling" +msgstr "" + +#: scene/resources/navigation_mesh.cpp +msgid "Partition Type" +msgstr "" + +#: scene/resources/navigation_mesh.cpp +msgid "Parsed Geometry Type" +msgstr "" + +#: scene/resources/navigation_mesh.cpp +msgid "Source Geometry Mode" +msgstr "" + +#: scene/resources/navigation_mesh.cpp +msgid "Source Group Name" +msgstr "" + +#: scene/resources/navigation_mesh.cpp +msgid "Cells" +msgstr "" + +#: scene/resources/navigation_mesh.cpp +msgid "Agents" +msgstr "" + +#: scene/resources/navigation_mesh.cpp +msgid "Max Climb" +msgstr "" + +#: scene/resources/navigation_mesh.cpp +msgid "Max Slope" +msgstr "" + +#: scene/resources/navigation_mesh.cpp +msgid "Regions" +msgstr "" + +#: scene/resources/navigation_mesh.cpp +msgid "Merge Size" +msgstr "" + +#: scene/resources/navigation_mesh.cpp +msgid "Edges" +msgstr "" + +#: scene/resources/navigation_mesh.cpp +msgid "Max Error" +msgstr "" + +#: scene/resources/navigation_mesh.cpp +msgid "Verts Per Poly" +msgstr "" + +#: scene/resources/navigation_mesh.cpp +msgid "Details" +msgstr "" + +#: scene/resources/navigation_mesh.cpp +msgid "Sample Distance" +msgstr "" + +#: scene/resources/navigation_mesh.cpp +msgid "Sample Max Error" +msgstr "" + +#: scene/resources/navigation_mesh.cpp +msgid "Low Hanging Obstacles" +msgstr "" + +#: scene/resources/navigation_mesh.cpp +msgid "Ledge Spans" +msgstr "" + +#: scene/resources/navigation_mesh.cpp +msgid "Walkable Low Height Spans" +msgstr "" + +#: scene/resources/navigation_mesh.cpp +msgid "Baking AABB" +msgstr "" + +#: scene/resources/navigation_mesh.cpp +msgid "Baking AABB Offset" +msgstr "" + +#: scene/resources/occluder_shape.cpp +msgid "Spheres" +msgstr "" + +#: scene/resources/occluder_shape.cpp +msgid "OccluderShapeSphere Set Spheres" +msgstr "" + +#: scene/resources/occluder_shape_polygon.cpp +msgid "Polygon Points" +msgstr "" + +#: scene/resources/occluder_shape_polygon.cpp +msgid "Hole Points" +msgstr "" + +#: scene/resources/packed_scene.cpp +msgid "Bundled" +msgstr "" + +#: scene/resources/particles_material.cpp +msgid "Trail" +msgstr "" + +#: scene/resources/particles_material.cpp +msgid "Divisor" +msgstr "" + +#: scene/resources/particles_material.cpp +msgid "Size Modifier" +msgstr "" + +#: scene/resources/particles_material.cpp +msgid "Color Modifier" +msgstr "" + +#: scene/resources/particles_material.cpp +msgid "Point Texture" +msgstr "" + +#: scene/resources/particles_material.cpp +msgid "Normal Texture" +msgstr "" + +#: scene/resources/particles_material.cpp +msgid "Color Texture" +msgstr "" + +#: scene/resources/particles_material.cpp +msgid "Point Count" +msgstr "" + +#: scene/resources/particles_material.cpp +msgid "Scale Random" +msgstr "" + +#: scene/resources/particles_material.cpp +msgid "Scale Curve" +msgstr "" + +#: scene/resources/physics_material.cpp +msgid "Rough" +msgstr "" + +#: scene/resources/physics_material.cpp +msgid "Absorbent" +msgstr "" + +#: scene/resources/plane_shape.cpp +msgid "Plane" +msgstr "" + +#: scene/resources/primitive_meshes.cpp +msgid "Flip Faces" +msgstr "" + +#: scene/resources/primitive_meshes.cpp +msgid "Mid Height" +msgstr "" + +#: scene/resources/primitive_meshes.cpp +msgid "Subdivide Width" +msgstr "" + +#: scene/resources/primitive_meshes.cpp +msgid "Subdivide Height" +msgstr "" + +#: scene/resources/primitive_meshes.cpp +msgid "Subdivide Depth" +msgstr "" + +#: scene/resources/primitive_meshes.cpp +msgid "Top Radius" +msgstr "" + +#: scene/resources/primitive_meshes.cpp +msgid "Bottom Radius" +msgstr "" + +#: scene/resources/primitive_meshes.cpp +msgid "Left To Right" +msgstr "" + +#: scene/resources/primitive_meshes.cpp +msgid "Is Hemisphere" +msgstr "" + +#: scene/resources/primitive_meshes.cpp +msgid "Curve Step" +msgstr "" + +#: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp +msgid "Slips On Slope" +msgstr "" + +#: scene/resources/segment_shape_2d.cpp +msgid "A" +msgstr "" + +#: scene/resources/shape_2d.cpp +msgid "Custom Solver Bias" +msgstr "" + +#: scene/resources/skin.cpp +msgid "Bind Count" +msgstr "" + +#: scene/resources/skin.cpp +msgid "Bind" +msgstr "" + +#: scene/resources/skin.cpp +msgid "Bone" +msgstr "" + +#: scene/resources/sky.cpp +msgid "Radiance Size" +msgstr "" + +#: scene/resources/sky.cpp +msgid "Panorama" +msgstr "" + +#: scene/resources/sky.cpp +msgid "Top Color" +msgstr "" + +#: scene/resources/sky.cpp +msgid "Horizon Color" +msgstr "" + +#: scene/resources/sky.cpp +msgid "Ground" +msgstr "" + +#: scene/resources/sky.cpp +msgid "Bottom Color" +msgstr "" + +#: scene/resources/sky.cpp +msgid "Sun" +msgstr "" + +#: scene/resources/sky.cpp +msgid "Latitude" +msgstr "" + +#: scene/resources/sky.cpp +msgid "Longitude" +msgstr "" + +#: scene/resources/sky.cpp +msgid "Angle Min" +msgstr "" + +#: scene/resources/sky.cpp +msgid "Angle Max" +msgstr "" + +#: scene/resources/style_box.cpp +msgid "Content Margin" +msgstr "" + +#: scene/resources/style_box.cpp +msgid "Expand Margin" +msgstr "" + +#: scene/resources/style_box.cpp +msgid "Skew" +msgstr "" + +#: scene/resources/style_box.cpp +msgid "Corner Radius" +msgstr "" + +#: scene/resources/style_box.cpp +msgid "Corner Detail" +msgstr "" + +#: scene/resources/style_box.cpp +msgid "Anti Aliasing" +msgstr "" + +#: scene/resources/style_box.cpp +msgid "Grow Begin" +msgstr "" + +#: scene/resources/style_box.cpp +msgid "Grow End" +msgstr "" + +#: scene/resources/texture.cpp +msgid "Load Path" +msgstr "" + +#: scene/resources/texture.cpp +msgid "Base Texture" +msgstr "" + +#: scene/resources/texture.cpp +msgid "Image Size" +msgstr "" + +#: scene/resources/texture.cpp +msgid "Side" +msgstr "" + +#: scene/resources/texture.cpp +msgid "Front" +msgstr "" + +#: scene/resources/texture.cpp +msgid "Back" +msgstr "" + +#: scene/resources/texture.cpp +msgid "Storage Mode" +msgstr "" + +#: scene/resources/texture.cpp +msgid "Lossy Storage Quality" +msgstr "" + +#: scene/resources/texture.cpp +msgid "From" +msgstr "" + +#: scene/resources/texture.cpp +msgid "To" +msgstr "" + +#: scene/resources/texture.cpp +msgid "Base" +msgstr "" + +#: scene/resources/texture.cpp +msgid "Current Frame" +msgstr "" + +#: scene/resources/texture.cpp +msgid "Pause" +msgstr "" + +#: scene/resources/texture.cpp +msgid "Which Feed" +msgstr "" + +#: scene/resources/texture.cpp +msgid "Camera Is Active" +msgstr "" + +#: scene/resources/theme.cpp +msgid "Default Font" +msgstr "" + +#: scene/resources/visual_shader.cpp +msgid "Output Port For Preview" +msgstr "" + +#: scene/resources/visual_shader.cpp +msgid "Depth Draw" +msgstr "" + +#: scene/resources/visual_shader.cpp +msgid "Cull" +msgstr "" + +#: scene/resources/visual_shader.cpp +msgid "Diffuse" +msgstr "" + +#: scene/resources/visual_shader.cpp +msgid "Async" +msgstr "" + +#: scene/resources/visual_shader.cpp +msgid "Modes" +msgstr "" + +#: scene/resources/visual_shader.cpp +msgid "Input Name" +msgstr "" + +#: scene/resources/visual_shader.cpp +msgid "Uniform Name" +msgstr "" + +#: scene/resources/visual_shader_nodes.cpp +msgid "" +"The sampler port is connected but not used. Consider changing the source to " +"'SamplerPort'." +msgstr "" + +#: scene/resources/visual_shader_nodes.cpp +msgid "Invalid source for preview." +msgstr "" + +#: scene/resources/visual_shader_nodes.cpp +msgid "Invalid source for shader." +msgstr "" + +#: scene/resources/visual_shader_nodes.cpp +msgid "Texture Type" +msgstr "" + +#: scene/resources/visual_shader_nodes.cpp +msgid "Cube Map" +msgstr "" + +#: scene/resources/visual_shader_nodes.cpp +msgid "Default Value Enabled" +msgstr "" + +#: scene/resources/visual_shader_nodes.cpp +msgid "Default Value" +msgstr "" + +#: scene/resources/visual_shader_nodes.cpp +msgid "Color Default" +msgstr "" + +#: scene/resources/visual_shader_nodes.cpp +msgid "Invalid comparison function for that type." +msgstr "" + +#: scene/resources/world.cpp +msgid "Fallback Environment" +msgstr "" + +#: scene/resources/world.cpp +msgid "Scenario" +msgstr "" + +#: scene/resources/world.cpp scene/resources/world_2d.cpp +msgid "Navigation Map" +msgstr "" + +#: scene/resources/world.cpp scene/resources/world_2d.cpp +msgid "Direct Space State" +msgstr "" + +#: scene/resources/world.cpp scene/resources/world_2d.cpp +msgid "Default Gravity Vector" +msgstr "" + +#: scene/resources/world.cpp scene/resources/world_2d.cpp +msgid "Default Linear Damp" +msgstr "" + +#: scene/resources/world.cpp scene/resources/world_2d.cpp +msgid "Default Angular Damp" +msgstr "" + +#: scene/resources/world.cpp +msgid "Default Map Up" +msgstr "" + +#: scene/resources/world.cpp scene/resources/world_2d.cpp +msgid "Default Cell Size" +msgstr "" + +#: scene/resources/world.cpp scene/resources/world_2d.cpp +msgid "Default Cell Height" +msgstr "" + +#: scene/resources/world.cpp scene/resources/world_2d.cpp +msgid "Default Edge Connection Margin" +msgstr "" + +#: scene/resources/world_2d.cpp +msgid "Canvas" +msgstr "" + +#: servers/arvr/arvr_interface.cpp +msgid "Is Primary" +msgstr "" + +#: servers/arvr/arvr_interface.cpp +msgid "Is Initialized" +msgstr "" + +#: servers/arvr/arvr_interface.cpp +msgid "AR" +msgstr "" + +#: servers/arvr/arvr_interface.cpp +msgid "Is Anchor Detection Enabled" +msgstr "" + +#: servers/arvr_server.cpp +msgid "Primary Interface" +msgstr "" + +#: servers/audio/audio_stream.cpp +msgid "Audio Stream" +msgstr "" + +#: servers/audio/audio_stream.cpp +msgid "Random Pitch" +msgstr "" + +#: servers/audio/effects/audio_effect_capture.cpp +#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp +#: servers/audio/effects/audio_stream_generator.cpp +msgid "Buffer Length" +msgstr "" + +#: servers/audio/effects/audio_effect_chorus.cpp +msgid "Voice Count" +msgstr "" + +#: servers/audio/effects/audio_effect_chorus.cpp +#: servers/audio/effects/audio_effect_delay.cpp +#: servers/audio/effects/audio_effect_reverb.cpp +msgid "Dry" +msgstr "" + +#: servers/audio/effects/audio_effect_chorus.cpp +#: servers/audio/effects/audio_effect_reverb.cpp +msgid "Wet" +msgstr "" + +#: servers/audio/effects/audio_effect_chorus.cpp +msgid "Voice" +msgstr "" + +#: servers/audio/effects/audio_effect_chorus.cpp +#: servers/audio/effects/audio_effect_delay.cpp +msgid "Delay (ms)" +msgstr "" + +#: servers/audio/effects/audio_effect_chorus.cpp +#: servers/audio/effects/audio_effect_phaser.cpp +msgid "Rate Hz" +msgstr "" + +#: servers/audio/effects/audio_effect_chorus.cpp +msgid "Depth (ms)" +msgstr "" + +#: servers/audio/effects/audio_effect_chorus.cpp +#: servers/audio/effects/audio_effect_delay.cpp +msgid "Level dB" +msgstr "" + +#: servers/audio/effects/audio_effect_chorus.cpp +#: servers/audio/effects/audio_effect_delay.cpp +#: servers/audio/effects/audio_effect_panner.cpp +msgid "Pan" +msgstr "" + +#: servers/audio/effects/audio_effect_compressor.cpp +#: servers/audio/effects/audio_effect_filter.cpp +msgid "Gain" +msgstr "" + +#: servers/audio/effects/audio_effect_compressor.cpp +msgid "Attack (µs)" +msgstr "" + +#: servers/audio/effects/audio_effect_compressor.cpp +msgid "Release (ms)" +msgstr "" + +#: servers/audio/effects/audio_effect_compressor.cpp +msgid "Mix" +msgstr "" + +#: servers/audio/effects/audio_effect_compressor.cpp +msgid "Sidechain" +msgstr "" + +#: servers/audio/effects/audio_effect_delay.cpp +msgid "Tap 1" +msgstr "" + +#: servers/audio/effects/audio_effect_delay.cpp +msgid "Tap 2" +msgstr "" + +#: servers/audio/effects/audio_effect_delay.cpp +#: servers/audio/effects/audio_effect_phaser.cpp +#: servers/audio/effects/audio_effect_reverb.cpp +msgid "Feedback" +msgstr "" + +#: servers/audio/effects/audio_effect_delay.cpp +msgid "Low-pass" +msgstr "" + +#: servers/audio/effects/audio_effect_distortion.cpp +msgid "Pre Gain" +msgstr "" + +#: servers/audio/effects/audio_effect_distortion.cpp +msgid "Keep Hf Hz" +msgstr "" + +#: servers/audio/effects/audio_effect_distortion.cpp +msgid "Drive" +msgstr "" + +#: servers/audio/effects/audio_effect_distortion.cpp +msgid "Post Gain" +msgstr "" + +#: servers/audio/effects/audio_effect_filter.cpp +msgid "Resonance" +msgstr "" + +#: servers/audio/effects/audio_effect_limiter.cpp +msgid "Ceiling dB" +msgstr "" + +#: servers/audio/effects/audio_effect_limiter.cpp +msgid "Threshold dB" +msgstr "" + +#: servers/audio/effects/audio_effect_limiter.cpp +msgid "Soft Clip dB" +msgstr "" + +#: servers/audio/effects/audio_effect_limiter.cpp +msgid "Soft Clip Ratio" +msgstr "" + +#: servers/audio/effects/audio_effect_phaser.cpp +msgid "Range Min Hz" +msgstr "" + +#: servers/audio/effects/audio_effect_phaser.cpp +msgid "Range Max Hz" +msgstr "" + +#: servers/audio/effects/audio_effect_pitch_shift.cpp +msgid "Oversampling" +msgstr "" + +#: servers/audio/effects/audio_effect_pitch_shift.cpp +#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp +msgid "FFT Size" +msgstr "" + +#: servers/audio/effects/audio_effect_reverb.cpp +msgid "Predelay" +msgstr "" + +#: servers/audio/effects/audio_effect_reverb.cpp +msgid "Msec" +msgstr "" + +#: servers/audio/effects/audio_effect_reverb.cpp +msgid "Room Size" +msgstr "" + +#: servers/audio/effects/audio_effect_reverb.cpp +msgid "High-pass" +msgstr "" + +#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp +msgid "Tap Back Pos" +msgstr "" + +#: servers/audio/effects/audio_effect_stereo_enhance.cpp +msgid "Pan Pullout" +msgstr "" + +#: servers/audio/effects/audio_effect_stereo_enhance.cpp +msgid "Time Pullout (ms)" +msgstr "" + +#: servers/audio/effects/audio_effect_stereo_enhance.cpp +msgid "Surround" +msgstr "" + +#: servers/audio_server.cpp +msgid "Enable Audio Input" +msgstr "" + +#: servers/audio_server.cpp +msgid "Output Latency" +msgstr "" + +#: servers/audio_server.cpp +msgid "Channel Disable Threshold dB" +msgstr "" + +#: servers/audio_server.cpp +msgid "Channel Disable Time" +msgstr "" + +#: servers/audio_server.cpp +msgid "Video Delay Compensation (ms)" +msgstr "" + +#: servers/audio_server.cpp +msgid "Bus Count" +msgstr "" + +#: servers/audio_server.cpp +msgid "Capture Device" +msgstr "" + +#: servers/audio_server.cpp +msgid "Global Rate Scale" +msgstr "" + +#: servers/camera/camera_feed.cpp +msgid "Feed" +msgstr "" + +#: servers/camera/camera_feed.cpp +msgid "Is Active" +msgstr "" + +#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp +msgid "Sleep Threshold Linear" +msgstr "" + +#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp +msgid "Sleep Threshold Angular" +msgstr "" + +#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp +msgid "Time Before Sleep" +msgstr "" + +#: servers/physics_2d/physics_2d_server_sw.cpp +msgid "BP Hash Table Size" +msgstr "" + +#: servers/physics_2d/physics_2d_server_sw.cpp +msgid "Large Object Surface Threshold In Cells" +msgstr "" + +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Inverse Mass" +msgstr "" + +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Inverse Inertia" +msgstr "" + +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Total Angular Damp" +msgstr "" + +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Total Linear Damp" +msgstr "" + +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Total Gravity" +msgstr "" + +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Linear Velocity" +msgstr "" + +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Exclude" +msgstr "" + +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Shape RID" +msgstr "" + +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Collide With Bodies" +msgstr "" + +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Collide With Areas" +msgstr "" + +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Motion Remainder" +msgstr "" + +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Collision Point" +msgstr "" + +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Collision Normal" +msgstr "" + +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Collision Depth" +msgstr "" + +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Collision Safe Fraction" +msgstr "" + +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Collision Unsafe Fraction" +msgstr "" + +#: servers/physics_2d_server.cpp servers/physics_server.cpp +msgid "Physics Engine" +msgstr "" + +#: servers/physics_server.cpp +msgid "Center Of Mass" +msgstr "" + +#: servers/physics_server.cpp +msgid "Principal Inertia Axes" +msgstr "" + +#: servers/visual/shader_language.cpp +msgid "Varying may not be assigned in the '%s' function." +msgstr "" + +#: servers/visual/shader_language.cpp +msgid "" +"Varyings which were assigned in 'vertex' function may not be reassigned in " +"'fragment' or 'light'." +msgstr "" + +#: servers/visual/shader_language.cpp +msgid "" +"Varyings which were assigned in 'fragment' function may not be reassigned in " +"'vertex' or 'light'." +msgstr "" + +#: servers/visual/shader_language.cpp +msgid "Assignment to function." +msgstr "" + +#: servers/visual/shader_language.cpp +msgid "Assignment to uniform." +msgstr "" + +#: servers/visual/shader_language.cpp +msgid "Constants cannot be modified." +msgstr "" + +#: servers/visual/visual_server_scene.cpp +msgid "Spatial Partitioning" +msgstr "" + +#: servers/visual_server.cpp +msgid "Render Loop Enabled" +msgstr "" + +#: servers/visual_server.cpp +msgid "VRAM Compression" +msgstr "" + +#: servers/visual_server.cpp +msgid "Import BPTC" +msgstr "" + +#: servers/visual_server.cpp +msgid "Import S3TC" +msgstr "" + +#: servers/visual_server.cpp +msgid "Import ETC" +msgstr "" + +#: servers/visual_server.cpp +msgid "Import ETC2" +msgstr "" + +#: servers/visual_server.cpp +msgid "Import PVRTC" +msgstr "" + +#: servers/visual_server.cpp +msgid "Lossless Compression" +msgstr "" + +#: servers/visual_server.cpp +msgid "Force PNG" +msgstr "" + +#: servers/visual_server.cpp +msgid "WebP Compression Level" +msgstr "" + +#: servers/visual_server.cpp +msgid "Time Rollover Secs" +msgstr "" + +#: servers/visual_server.cpp +msgid "Cubemap Size" +msgstr "" + +#: servers/visual_server.cpp +msgid "Quadrant 0 Subdiv" +msgstr "" + +#: servers/visual_server.cpp +msgid "Quadrant 1 Subdiv" +msgstr "" + +#: servers/visual_server.cpp +msgid "Quadrant 2 Subdiv" +msgstr "" + +#: servers/visual_server.cpp +msgid "Quadrant 3 Subdiv" +msgstr "" + +#: servers/visual_server.cpp +msgid "Shadows" +msgstr "" + +#: servers/visual_server.cpp +msgid "Filter Mode" +msgstr "" + +#: servers/visual_server.cpp +msgid "Texture Array Reflections" +msgstr "" + +#: servers/visual_server.cpp +msgid "High Quality GGX" +msgstr "" + +#: servers/visual_server.cpp +msgid "Irradiance Max Size" +msgstr "" + +#: servers/visual_server.cpp +msgid "Shading" +msgstr "" + +#: servers/visual_server.cpp +msgid "Force Vertex Shading" +msgstr "" + +#: servers/visual_server.cpp +msgid "Force Lambert Over Burley" +msgstr "" + +#: servers/visual_server.cpp +msgid "Force Blinn Over GGX" +msgstr "" + +#: servers/visual_server.cpp +msgid "Mesh Storage" +msgstr "" + +#: servers/visual_server.cpp +msgid "Split Stream" +msgstr "" + +#: servers/visual_server.cpp +msgid "Use Physical Light Attenuation" +msgstr "" + +#: servers/visual_server.cpp +msgid "Depth Prepass" +msgstr "" + +#: servers/visual_server.cpp +msgid "Disable For Vendors" +msgstr "" + +#: servers/visual_server.cpp +msgid "Anisotropic Filter Level" +msgstr "" + +#: servers/visual_server.cpp +msgid "Use Nearest Mipmap Filter" +msgstr "" + +#: servers/visual_server.cpp +msgid "Skinning" +msgstr "" + +#: servers/visual_server.cpp +msgid "Software Skinning Fallback" +msgstr "" + +#: servers/visual_server.cpp +msgid "Force Software Skinning" +msgstr "" + +#: servers/visual_server.cpp +msgid "Use Software Skinning" +msgstr "" + +#: servers/visual_server.cpp +msgid "Ninepatch Mode" +msgstr "" + +#: servers/visual_server.cpp +msgid "OpenGL" +msgstr "" + +#: servers/visual_server.cpp +msgid "Batching Send Null" +msgstr "" + +#: servers/visual_server.cpp +msgid "Batching Stream" +msgstr "" + +#: servers/visual_server.cpp +msgid "Legacy Orphan Buffers" +msgstr "" + +#: servers/visual_server.cpp +msgid "Legacy Stream" +msgstr "" + +#: servers/visual_server.cpp +msgid "Batching" +msgstr "" + +#: servers/visual_server.cpp +msgid "Use Batching" +msgstr "" + +#: servers/visual_server.cpp +msgid "Use Batching In Editor" +msgstr "" + +#: servers/visual_server.cpp +msgid "Single Rect Fallback" +msgstr "" + +#: servers/visual_server.cpp +msgid "Max Join Item Commands" +msgstr "" + +#: servers/visual_server.cpp +msgid "Colored Vertex Format Threshold" +msgstr "" + +#: servers/visual_server.cpp +msgid "Scissor Area Threshold" +msgstr "" + +#: servers/visual_server.cpp +msgid "Max Join Items" +msgstr "" + +#: servers/visual_server.cpp +msgid "Batch Buffer Size" +msgstr "" + +#: servers/visual_server.cpp +msgid "Item Reordering Lookahead" +msgstr "" + +#: servers/visual_server.cpp +msgid "Flash Batching" +msgstr "" + +#: servers/visual_server.cpp +msgid "Diagnose Frame" +msgstr "" + +#: servers/visual_server.cpp +msgid "GLES2" +msgstr "" + +#: servers/visual_server.cpp +msgid "Compatibility" +msgstr "" + +#: servers/visual_server.cpp +msgid "Disable Half Float" +msgstr "" + +#: servers/visual_server.cpp +msgid "Enable High Float" +msgstr "" + +#: servers/visual_server.cpp +msgid "Precision" +msgstr "" + +#: servers/visual_server.cpp +msgid "UV Contract" +msgstr "" + +#: servers/visual_server.cpp +msgid "UV Contract Amount" +msgstr "" + +#: servers/visual_server.cpp +msgid "Use Simple PVS" +msgstr "" + +#: servers/visual_server.cpp +msgid "PVS Logging" +msgstr "" + +#: servers/visual_server.cpp +msgid "Use Signals" +msgstr "" + +#: servers/visual_server.cpp +msgid "Remove Danglers" +msgstr "" + +#: servers/visual_server.cpp +msgid "Flip Imported Portals" +msgstr "" + +#: servers/visual_server.cpp +msgid "Occlusion Culling" +msgstr "" + +#: servers/visual_server.cpp +msgid "Max Active Spheres" +msgstr "" + +#: servers/visual_server.cpp +msgid "Max Active Polygons" +msgstr "" + +#: servers/visual_server.cpp +msgid "Shader Compilation Mode" +msgstr "" + +#: servers/visual_server.cpp +msgid "Max Simultaneous Compiles" +msgstr "" + +#: servers/visual_server.cpp +msgid "Log Active Async Compiles Count" +msgstr "" + +#: servers/visual_server.cpp +msgid "Shader Cache Size (MB)" +msgstr "" diff --git a/editor/translations/is.po b/editor/translations/is.po index 512c660eef..8514155c68 100644 --- a/editor/translations/is.po +++ b/editor/translations/is.po @@ -4425,6 +4425,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "" @@ -7154,7 +7155,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -14981,18 +14983,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Fjarlægja val" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "Fjarlægja val" #: editor/scene_tree_dock.cpp @@ -15185,6 +15187,11 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Fjarlægja val" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "" @@ -15248,6 +15255,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -17070,6 +17081,19 @@ msgstr "Allt úrvalið" msgid "Auto Update Project" msgstr "Verkefna Stjóri" +#: modules/mono/godotsharp_dirs.cpp +msgid "Assembly Name" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "Solution Directory" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Verkefna Stjóri" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -18799,6 +18823,11 @@ msgstr "Tvíteknir lyklar" msgid "Custom BG Color" msgstr "Tvíteknir lyklar" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Breyta..." + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -19597,6 +19626,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "" diff --git a/editor/translations/it.po b/editor/translations/it.po index 2c9f7eb6fe..c520b1567d 100644 --- a/editor/translations/it.po +++ b/editor/translations/it.po @@ -71,12 +71,13 @@ # conecat <ilgrandemax190@gmail.com>, 2022. # Gico2006 <gradaellig@protonmail.com>, 2022. # ale piccia <picciatialessio2@gmail.com>, 2022. +# Simone Starace <simone.starace93@gmail.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-07-31 18:34+0000\n" +"PO-Revision-Date: 2022-08-30 03:11+0000\n" "Last-Translator: Mirko <miknsop@gmail.com>\n" "Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/" "godot/it/>\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.14-dev\n" +"X-Generator: Weblate 4.14.1-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" @@ -456,7 +457,7 @@ msgstr "Comando" #: core/os/input_event.cpp #, fuzzy msgid "Physical" -msgstr " (Fisico)" +msgstr "Fisico" #: core/os/input_event.cpp scene/2d/touch_screen_button.cpp #: scene/gui/base_button.cpp scene/gui/texture_button.cpp @@ -465,8 +466,9 @@ msgid "Pressed" msgstr "Premuto" #: core/os/input_event.cpp +#, fuzzy msgid "Scancode" -msgstr "Scansione Codice" +msgstr "Scancode" #: core/os/input_event.cpp msgid "Physical Scancode" @@ -901,7 +903,6 @@ msgid "Modules" msgstr "Moduli" #: core/register_core_types.cpp -#, fuzzy msgid "TCP" msgstr "TCP" @@ -1272,7 +1273,7 @@ msgstr "Cambia la durata dell'animazione" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation Loop" -msgstr "Commuta ciclicità animazione" +msgstr "Cambia ciclo di animazione" #: editor/animation_track_editor.cpp msgid "Property Track" @@ -1379,9 +1380,8 @@ msgid "Type:" msgstr "Tipo:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "(Invalid, expected type: %s)" -msgstr "Template di esportazione non valido:" +msgstr "(Non valido, tipo previsto: %s)" #: editor/animation_track_editor.cpp msgid "Easing:" @@ -1398,9 +1398,8 @@ msgid "Out-Handle:" msgstr "Imposta Maniglia" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Stream:" -msgstr "Stream" +msgstr "Flusso:" #: editor/animation_track_editor.cpp msgid "Start (s):" @@ -1540,6 +1539,7 @@ msgid "animation" msgstr "animazione" #: editor/animation_track_editor.cpp +#, fuzzy msgid "AnimationPlayer can't animate itself, only other players." msgstr "AnimationPlayer non può animare se stesso, solo altri nodi." @@ -1630,7 +1630,6 @@ msgid "Add Method Track Key" msgstr "Aggiungi una chiave a una traccia di chiamate metodi" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Method not found in object:" msgstr "Metodo non trovato nell'oggetto:" @@ -2115,7 +2114,6 @@ msgid "Are you sure you want to remove all connections from the \"%s\" signal?" msgstr "Sei sicuro di voler rimuovere tutte le connessioni dal segnale \"%s\"?" #: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp -#, fuzzy msgid "Signals" msgstr "Segnali" @@ -2813,9 +2811,8 @@ msgid "Project export for platform:" msgstr "Esportazione del progetto per la piattaforma:" #: editor/editor_export.cpp -#, fuzzy msgid "Completed with warnings." -msgstr "Completato con errori." +msgstr "Completato con avvertimenti." #: editor/editor_export.cpp #, fuzzy @@ -4565,6 +4562,7 @@ msgstr "Strumenti di progetto o scena vari." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Progetto" @@ -6998,7 +6996,6 @@ msgstr "Anisotropico" #: editor/import/resource_importer_layered_texture.cpp #: editor/import/resource_importer_texture.cpp -#, fuzzy msgid "sRGB" msgstr "sRGB" @@ -7355,7 +7352,8 @@ msgid "8 Bit" msgstr "8 Bit" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "Mono" @@ -10571,7 +10569,6 @@ msgstr "Script precedente" #: editor/plugins/script_editor_plugin.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "File" msgstr "File" @@ -15409,16 +15406,19 @@ msgstr "" msgid "Make Local" msgstr "Rendi Locale" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "Un altro nodo sta già usando questo nome unico nella scena." - #: editor/scene_tree_dock.cpp -msgid "Enable Scene Unique Name" +#, fuzzy +msgid "Enable Scene Unique Name(s)" msgstr "Abilita Nome Unico Scena" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Disable Scene Unique Name" +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Unique names already used by another node in the scene:" +msgstr "Un altro nodo sta già usando questo nome unico nella scena." + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Disabilita Nome Unico Scena" #: editor/scene_tree_dock.cpp @@ -15618,6 +15618,10 @@ msgid "Button Group" msgstr "Gruppo Pulsanti" #: editor/scene_tree_editor.cpp +msgid "Disable Scene Unique Name" +msgstr "Disabilita Nome Unico Scena" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(Collegamento da)" @@ -15696,6 +15700,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "Nome nodo invalido, i caratteri seguenti non sono consentiti:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "Un altro nodo sta già usando questo nome unico nella scena." + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "Rinomina Nodo" @@ -17499,6 +17507,21 @@ msgstr "Crea Soluzione" msgid "Auto Update Project" msgstr "Auto-Aggiorna Progetto" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Nome Display" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Scegli una cartella" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Scegli una cartella" + #: modules/mono/mono_gd/gd_mono_utils.cpp #, fuzzy msgid "End of inner exception stack trace" @@ -19331,6 +19354,11 @@ msgstr "Taglia nodi" msgid "Custom BG Color" msgstr "Taglia nodi" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Espandi Tutto" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20186,6 +20214,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "Nome breve del pacchetto non valido." @@ -22217,7 +22251,7 @@ msgstr "Gizmos" #: scene/3d/baked_lightmap.cpp msgid "Tweaks" -msgstr "" +msgstr "Ritocchi" #: scene/3d/baked_lightmap.cpp msgid "Bounces" @@ -25200,7 +25234,7 @@ msgstr "Imposta più valori:" #: scene/main/scene_tree.cpp scene/resources/mesh_library.cpp #: scene/resources/shape_2d.cpp msgid "Shapes" -msgstr "" +msgstr "Forme" #: scene/main/scene_tree.cpp msgid "Shape Color" diff --git a/editor/translations/ja.po b/editor/translations/ja.po index 60458e89df..f086111ef2 100644 --- a/editor/translations/ja.po +++ b/editor/translations/ja.po @@ -40,13 +40,15 @@ # jp.owo.Manda <admin@alterbaum.net>, 2022. # KokiOgawa <mupimupicandy@gmail.com>, 2022. # cacapon <takuma.tsubo@amazingengine.co.jp>, 2022. +# fadhliazhari <m.fadhliazhari@gmail.com>, 2022. +# Chia-Hsiang Cheng <cche0109@student.monash.edu>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-06-06 01:50+0000\n" -"Last-Translator: nitenook <admin@alterbaum.net>\n" +"PO-Revision-Date: 2022-08-21 06:01+0000\n" +"Last-Translator: KokiOgawa <mupimupicandy@gmail.com>\n" "Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/" "godot/ja/>\n" "Language: ja\n" @@ -54,7 +56,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.13-dev\n" +"X-Generator: Weblate 4.14-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" @@ -171,9 +173,8 @@ msgid "Print Error Messages" msgstr "エラーメッセージを表示" #: core/bind/core_bind.cpp -#, fuzzy msgid "Iterations Per Second" -msgstr "補間モード" +msgstr "毎秒反復回数" #: core/bind/core_bind.cpp msgid "Target FPS" @@ -186,21 +187,19 @@ msgstr "タイムスケール" #: core/bind/core_bind.cpp main/main.cpp #, fuzzy msgid "Physics Jitter Fix" -msgstr "物理フレーム %" +msgstr "物理ジッタ修正" #: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp msgid "Error" msgstr "エラー" #: core/bind/core_bind.cpp -#, fuzzy msgid "Error String" -msgstr "保存中にエラーが発生しました" +msgstr "エラー文字列" #: core/bind/core_bind.cpp -#, fuzzy msgid "Error Line" -msgstr "保存中にエラーが発生しました" +msgstr "エラー行" #: core/bind/core_bind.cpp msgid "Result" @@ -350,9 +349,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "デコードするにはバイトが足りないか、または無効な形式です。" #: core/math/expression.cpp -#, fuzzy msgid "Invalid input %d (not passed) in expression" -msgstr "式中の無効な入力 %i (渡されていません)" +msgstr "式に無効入力 %d (渡されていません)" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" @@ -396,14 +394,12 @@ msgid "Max Size (KB)" msgstr "最大サイズ (KB)" #: core/os/input.cpp -#, fuzzy msgid "Mouse Mode" -msgstr "移動モード" +msgstr "マウスモード" #: core/os/input.cpp -#, fuzzy msgid "Use Accumulated Input" -msgstr "入力を削除" +msgstr "蓄積入力使用" #: core/os/input_event.cpp editor/project_settings_editor.cpp #: servers/audio_server.cpp @@ -431,16 +427,14 @@ msgid "Command" msgstr "Command" #: core/os/input_event.cpp -#, fuzzy msgid "Physical" -msgstr " (物理的)" +msgstr "物理" #: core/os/input_event.cpp scene/2d/touch_screen_button.cpp #: scene/gui/base_button.cpp scene/gui/texture_button.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Pressed" -msgstr "プリセット" +msgstr "押下" #: core/os/input_event.cpp msgid "Scancode" @@ -489,7 +483,7 @@ msgstr "圧力" #: core/os/input_event.cpp #, fuzzy msgid "Pen Inverted" -msgstr "反転" +msgstr "ペン反転" #: core/os/input_event.cpp msgid "Relative" @@ -549,9 +543,8 @@ msgid "Velocity" msgstr "ベロシティ" #: core/os/input_event.cpp -#, fuzzy msgid "Instrument" -msgstr "インストゥルメント" +msgstr "楽器" #: core/os/input_event.cpp msgid "Controller Number" @@ -623,16 +616,14 @@ msgid "Use Custom User Dir" msgstr "カスタムユーザディレクトリを使用" #: core/project_settings.cpp -#, fuzzy msgid "Custom User Dir Name" -msgstr "カスタムユーザディレクトリ名" +msgstr "カスタムユーザフォルダ名" #: core/project_settings.cpp main/main.cpp #: platform/javascript/export/export.cpp platform/osx/export/export.cpp #: platform/uwp/os_uwp.cpp -#, fuzzy msgid "Display" -msgstr "すべて表示" +msgstr "表示" #: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp #: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp @@ -654,14 +645,12 @@ msgid "Always On Top" msgstr "常に最前面" #: core/project_settings.cpp -#, fuzzy msgid "Test Width" -msgstr "左伸長" +msgstr "幅テスト" #: core/project_settings.cpp -#, fuzzy msgid "Test Height" -msgstr "試験的" +msgstr "高さテスト" #: core/project_settings.cpp editor/animation_track_editor.cpp #: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp @@ -680,9 +669,8 @@ msgid "Editor" msgstr "エディター" #: core/project_settings.cpp -#, fuzzy msgid "Main Run Args" -msgstr "メインシーンの引数:" +msgstr "メイン実行引数" #: core/project_settings.cpp msgid "Scene Naming" @@ -697,14 +685,12 @@ msgid "Script Templates Search Path" msgstr "スクリプトテンプレートの検索パス" #: core/project_settings.cpp -#, fuzzy msgid "Version Control Autoload On Startup" -msgstr "起動時の自動読み込み" +msgstr "起動時のVCS自動読み込み" #: core/project_settings.cpp -#, fuzzy msgid "Version Control Plugin Name" -msgstr "バージョンコントロール" +msgstr "VCSプラグイン名" #: core/project_settings.cpp scene/2d/collision_object_2d.cpp #: scene/3d/collision_object.cpp scene/gui/control.cpp @@ -713,66 +699,55 @@ msgstr "入力" #: core/project_settings.cpp msgid "UI Accept" -msgstr "" +msgstr "UI 同意" #: core/project_settings.cpp -#, fuzzy msgid "UI Select" -msgstr "選択" +msgstr "UI 選択" #: core/project_settings.cpp -#, fuzzy msgid "UI Cancel" -msgstr "キャンセル" +msgstr "UI キャンセル" #: core/project_settings.cpp -#, fuzzy msgid "UI Focus Next" -msgstr "パスにフォーカス" +msgstr "UI 次へフォーカス" #: core/project_settings.cpp -#, fuzzy msgid "UI Focus Prev" -msgstr "パスにフォーカス" +msgstr "UI 前へフォーカス" #: core/project_settings.cpp -#, fuzzy msgid "UI Left" -msgstr "左" +msgstr "UI 左" #: core/project_settings.cpp -#, fuzzy msgid "UI Right" -msgstr "右" +msgstr "UI 右" #: core/project_settings.cpp -#, fuzzy msgid "UI Up" -msgstr "上" +msgstr "UI 上" #: core/project_settings.cpp -#, fuzzy msgid "UI Down" -msgstr "下" +msgstr "UI 下" #: core/project_settings.cpp -#, fuzzy msgid "UI Page Up" -msgstr "ページアップ" +msgstr "UI ページアップ" #: core/project_settings.cpp -#, fuzzy msgid "UI Page Down" -msgstr "ページダウン" +msgstr "UI ページダウン" #: core/project_settings.cpp msgid "UI Home" msgstr "ホーム" #: core/project_settings.cpp -#, fuzzy msgid "UI End" -msgstr "エンド" +msgstr "UI エンド" #: core/project_settings.cpp main/main.cpp modules/bullet/register_types.cpp #: modules/bullet/space_bullet.cpp scene/2d/physics_body_2d.cpp @@ -782,9 +757,8 @@ msgstr "エンド" #: servers/physics_2d/physics_2d_server_wrap_mt.h #: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp #: servers/physics_server.cpp -#, fuzzy msgid "Physics" -msgstr "(物理的)" +msgstr "物理" #: core/project_settings.cpp editor/editor_settings.cpp #: editor/import/resource_importer_layered_texture.cpp @@ -799,7 +773,7 @@ msgstr "3D" #: core/project_settings.cpp #, fuzzy msgid "Smooth Trimesh Collision" -msgstr "三角形メッシュ コリジョンの兄弟を作成" +msgstr "スムーズ三角形メッシュコリジョン" #: core/project_settings.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp #: drivers/gles2/rasterizer_scene_gles2.cpp @@ -828,7 +802,7 @@ msgstr "品質" #: servers/visual_server.cpp #, fuzzy msgid "Filters" -msgstr "フィルター:" +msgstr "フィルター" #: core/project_settings.cpp scene/main/viewport.cpp msgid "Sharpen Intensity" @@ -859,7 +833,7 @@ msgstr "プロファイラー" #: core/project_settings.cpp #, fuzzy msgid "Max Functions" -msgstr "関数を作成" +msgstr "最大関数" #: core/project_settings.cpp scene/3d/vehicle_body.cpp msgid "Compression" @@ -910,8 +884,9 @@ msgid "Connect Timeout Seconds" msgstr "接続タイムアウトの秒数" #: core/register_core_types.cpp +#, fuzzy msgid "Packet Peer Stream" -msgstr "" +msgstr "パケットピアストリーム" #: core/register_core_types.cpp msgid "Max Buffer (Power of 2)" @@ -1078,7 +1053,7 @@ msgstr "スケール" #: drivers/gles3/rasterizer_scene_gles3.cpp #, fuzzy msgid "Follow Surface" -msgstr "サーフェスを投入する" +msgstr "サーフェスをフォローする" #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Weight Samples" @@ -1170,7 +1145,7 @@ msgstr "アニメーション呼び出しの変更" #: scene/resources/default_theme/default_theme.cpp #, fuzzy msgid "Frame" -msgstr "フレーム %" +msgstr "フレーム" #: editor/animation_track_editor.cpp editor/editor_profiler.cpp #: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp @@ -1181,16 +1156,14 @@ msgstr "時間" #: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp #: platform/osx/export/export.cpp -#, fuzzy msgid "Location" -msgstr "ローカライズ" +msgstr "位置" #: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp #: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp #: scene/3d/remote_transform.cpp scene/3d/spatial.cpp scene/gui/control.cpp -#, fuzzy msgid "Rotation" -msgstr "回転のステップ:" +msgstr "回転" #: editor/animation_track_editor.cpp editor/script_editor_debugger.cpp #: modules/visual_script/visual_script_nodes.cpp scene/gui/range.cpp @@ -1200,7 +1173,7 @@ msgstr "値" #: editor/animation_track_editor.cpp #, fuzzy msgid "Arg Count" -msgstr "総計:" +msgstr "引数数" #: editor/animation_track_editor.cpp main/main.cpp #: modules/mono/mono_gd/gd_mono.cpp @@ -1217,12 +1190,12 @@ msgstr "タイプ(型)" #: editor/animation_track_editor.cpp #, fuzzy msgid "In Handle" -msgstr "ハンドルを設定する" +msgstr "インハンドル" #: editor/animation_track_editor.cpp #, fuzzy msgid "Out Handle" -msgstr "ハンドルを設定する" +msgstr "アウトハンドル" #: editor/animation_track_editor.cpp #: editor/import/resource_importer_texture.cpp @@ -1234,12 +1207,12 @@ msgstr "ストリーム" #: editor/animation_track_editor.cpp #, fuzzy msgid "Start Offset" -msgstr "グリッドのオフセット:" +msgstr "始点オフセット" #: editor/animation_track_editor.cpp #, fuzzy msgid "End Offset" -msgstr "オフセット:" +msgstr "終点オフセット" #: editor/animation_track_editor.cpp editor/editor_settings.cpp #: editor/import/resource_importer_scene.cpp @@ -2257,8 +2230,9 @@ msgid "Open" msgstr "開く" #: editor/dependency_editor.cpp +#, fuzzy msgid "Owners of: %s (Total: %d)" -msgstr "" +msgstr "所有者: %s (合計: %d)" #: editor/dependency_editor.cpp msgid "" @@ -2817,8 +2791,9 @@ msgid "Choose" msgstr "選ぶ" #: editor/editor_export.cpp +#, fuzzy msgid "Project export for platform:" -msgstr "" +msgstr "プラットフォーム用のプロジェクトエクスポート:" #: editor/editor_export.cpp #, fuzzy @@ -2951,8 +2926,9 @@ msgid "64 Bits" msgstr "64ビット" #: editor/editor_export.cpp +#, fuzzy msgid "Embed PCK" -msgstr "" +msgstr "組み込みPCK" #: editor/editor_export.cpp platform/osx/export/export.cpp #, fuzzy @@ -2960,12 +2936,14 @@ msgid "Texture Format" msgstr "テクスチャ領域" #: editor/editor_export.cpp +#, fuzzy msgid "BPTC" -msgstr "" +msgstr "BPTC" #: editor/editor_export.cpp platform/osx/export/export.cpp +#, fuzzy msgid "S3TC" -msgstr "" +msgstr "S3TC" #: editor/editor_export.cpp platform/osx/export/export.cpp #, fuzzy @@ -2973,8 +2951,9 @@ msgid "ETC" msgstr "TCP" #: editor/editor_export.cpp platform/osx/export/export.cpp +#, fuzzy msgid "ETC2" -msgstr "" +msgstr "ETC2" #: editor/editor_export.cpp #, fuzzy @@ -4427,24 +4406,28 @@ msgid "Default Property Name Style" msgstr "デフォルトのプロジェクトパス" #: editor/editor_node.cpp +#, fuzzy msgid "Default Float Step" -msgstr "" +msgstr "デフォルトフロートステップ" #: editor/editor_node.cpp scene/gui/tree.cpp msgid "Disable Folding" msgstr "折りたたみを無効化" #: editor/editor_node.cpp +#, fuzzy msgid "Auto Unfold Foreign Scenes" -msgstr "" +msgstr "自動展開外来シーン" #: editor/editor_node.cpp +#, fuzzy msgid "Horizontal Vector2 Editing" -msgstr "" +msgstr "水平ベクトル2編集" #: editor/editor_node.cpp +#, fuzzy msgid "Horizontal Vector Types Editing" -msgstr "" +msgstr "水平ベクトルタイプ編集" #: editor/editor_node.cpp msgid "Open Resources In Current Inspector" @@ -4567,6 +4550,7 @@ msgstr "その他のプロジェクトまたはシーン全体のツール。" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "プロジェクト" @@ -5112,13 +5096,14 @@ msgid "Debugger" msgstr "デバッガー" #: editor/editor_profiler.cpp +#, fuzzy msgid "Profiler Frame History Size" -msgstr "" +msgstr "プロファイラフレーム履歴サイズ" #: editor/editor_profiler.cpp #, fuzzy msgid "Profiler Frame Max Functions" -msgstr "関数名を変更" +msgstr "プロファイラフレーム最大関数数" #: editor/editor_properties.cpp msgid "Edit Text:" @@ -5187,9 +5172,8 @@ msgid "Size:" msgstr "サイズ:" #: editor/editor_properties_array_dict.cpp -#, fuzzy msgid "Page:" -msgstr "ページ: " +msgstr "ページ:" #: editor/editor_properties_array_dict.cpp #: editor/plugins/theme_editor_plugin.cpp @@ -5361,12 +5345,14 @@ msgid "Dim Editor On Dialog Popup" msgstr "ダイアログのポップアップ時にエディターを薄暗くする" #: editor/editor_settings.cpp main/main.cpp +#, fuzzy msgid "Low Processor Mode Sleep (µsec)" -msgstr "" +msgstr "低プロセッサ モード スリープ (マイクロ秒)" #: editor/editor_settings.cpp +#, fuzzy msgid "Unfocused Low Processor Mode Sleep (µsec)" -msgstr "" +msgstr "フォーカスされていない低プロセッサ モード スリープ (マイクロ秒)" #: editor/editor_settings.cpp #, fuzzy @@ -5374,12 +5360,14 @@ msgid "Separate Distraction Mode" msgstr "集中モード" #: editor/editor_settings.cpp +#, fuzzy msgid "Automatically Open Screenshots" -msgstr "" +msgstr "自動的にスクリーンショットを開く" #: editor/editor_settings.cpp +#, fuzzy msgid "Max Array Dictionary Items Per Page" -msgstr "" +msgstr "ページあたりの最大配列辞書項目数" #: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp scene/gui/control.cpp @@ -5408,8 +5396,9 @@ msgid "Contrast" msgstr "コントラスト" #: editor/editor_settings.cpp +#, fuzzy msgid "Relationship Line Opacity" -msgstr "" +msgstr "関係線の不透明度" #: editor/editor_settings.cpp msgid "Highlight Tabs" @@ -5420,8 +5409,9 @@ msgid "Border Size" msgstr "ボーダーサイズ" #: editor/editor_settings.cpp +#, fuzzy msgid "Use Graph Node Headers" -msgstr "" +msgstr "グラフ ノード ヘッダーを使用する" #: editor/editor_settings.cpp #, fuzzy @@ -5460,8 +5450,9 @@ msgid "Compress Binary Resources" msgstr "リソースをコピー" #: editor/editor_settings.cpp +#, fuzzy msgid "Safe Save On Backup Then Rename" -msgstr "" +msgstr "バックアップ時に安全に保存してから名前を変更する" #: editor/editor_settings.cpp msgid "File Dialog" @@ -5472,16 +5463,18 @@ msgid "Thumbnail Size" msgstr "サムネイルのサイズ" #: editor/editor_settings.cpp +#, fuzzy msgid "Docks" -msgstr "" +msgstr "Docks" #: editor/editor_settings.cpp msgid "Scene Tree" msgstr "シーンツリー" #: editor/editor_settings.cpp +#, fuzzy msgid "Start Create Dialog Fully Expanded" -msgstr "" +msgstr "完全に展開された作成ダイアログを開始する" #: editor/editor_settings.cpp msgid "Always Show Folders" @@ -5574,8 +5567,9 @@ msgid "Minimap Width" msgstr "ミニマップの幅" #: editor/editor_settings.cpp +#, fuzzy msgid "Mouse Extra Buttons Navigate History" -msgstr "" +msgstr "マウス追加ボタンナビゲート履歴" #: editor/editor_settings.cpp #, fuzzy @@ -5583,8 +5577,9 @@ msgid "Drag And Drop Selection" msgstr "GridMap の選択" #: editor/editor_settings.cpp +#, fuzzy msgid "Stay In Script Editor On Node Selected" -msgstr "" +msgstr "ノード選択時にスクリプトエディタにとどまる" #: editor/editor_settings.cpp msgid "Appearance" @@ -5599,8 +5594,9 @@ msgid "Line Numbers Zero Padded" msgstr "行番号をゼロ埋め" #: editor/editor_settings.cpp +#, fuzzy msgid "Show Bookmark Gutter" -msgstr "" +msgstr "ブックマークガターを表示" #: editor/editor_settings.cpp #, fuzzy @@ -5608,36 +5604,41 @@ msgid "Show Breakpoint Gutter" msgstr "ブレークポイントをスキップする" #: editor/editor_settings.cpp +#, fuzzy msgid "Show Info Gutter" -msgstr "" +msgstr "情報ガターを表示" #: editor/editor_settings.cpp msgid "Code Folding" msgstr "コードの折りたたみ" #: editor/editor_settings.cpp +#, fuzzy msgid "Word Wrap" -msgstr "" +msgstr "ワードラップ" #: editor/editor_settings.cpp msgid "Show Line Length Guidelines" msgstr "行の長さのガイド線を表示" #: editor/editor_settings.cpp +#, fuzzy msgid "Line Length Guideline Soft Column" -msgstr "" +msgstr "行長ガイドラインソフト列" #: editor/editor_settings.cpp +#, fuzzy msgid "Line Length Guideline Hard Column" -msgstr "" +msgstr "行長ガイドライン ハード列" #: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp msgid "Script List" msgstr "スクリプト一覧" #: editor/editor_settings.cpp +#, fuzzy msgid "Show Members Overview" -msgstr "" +msgstr "メンバー概要を表示" #: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp #, fuzzy @@ -5669,16 +5670,18 @@ msgid "Create Signal Callbacks" msgstr "シグナルのコールバックを作成" #: editor/editor_settings.cpp +#, fuzzy msgid "Sort Members Outline Alphabetically" -msgstr "" +msgstr "メンバーのアウトラインをアルファベット順に並べ替える" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Cursor" msgstr "カーソル" #: editor/editor_settings.cpp +#, fuzzy msgid "Scroll Past End Of File" -msgstr "" +msgstr "ファイルの終わりを過ぎてスクロールする" #: editor/editor_settings.cpp msgid "Block Caret" @@ -5703,24 +5706,29 @@ msgid "Completion" msgstr "完了" #: editor/editor_settings.cpp +#, fuzzy msgid "Idle Parse Delay" -msgstr "" +msgstr "アイドル解析遅延" #: editor/editor_settings.cpp +#, fuzzy msgid "Auto Brace Complete" -msgstr "" +msgstr "自動ブレース補完" #: editor/editor_settings.cpp +#, fuzzy msgid "Code Complete Delay" -msgstr "" +msgstr "コード補完遅延" #: editor/editor_settings.cpp +#, fuzzy msgid "Put Callhint Tooltip Below Current Line" -msgstr "" +msgstr "コールヒントツールチップを現在の行の下に配置" #: editor/editor_settings.cpp +#, fuzzy msgid "Callhint Tooltip Offset" -msgstr "" +msgstr "コールヒントツールチップオフセット" #: editor/editor_settings.cpp #, fuzzy @@ -5805,7 +5813,7 @@ msgstr "点" #: scene/resources/particles_material.cpp servers/physics_2d_server.cpp #: servers/physics_server.cpp msgid "Shape" -msgstr "" +msgstr "シェイプ" #: editor/editor_settings.cpp #, fuzzy @@ -5818,16 +5826,19 @@ msgid "Grid Size" msgstr "グリッドのステップ:" #: editor/editor_settings.cpp +#, fuzzy msgid "Grid Division Level Max" -msgstr "" +msgstr "グリッド分割レベル最大" #: editor/editor_settings.cpp +#, fuzzy msgid "Grid Division Level Min" -msgstr "" +msgstr "グリッド分割レベル最小" #: editor/editor_settings.cpp +#, fuzzy msgid "Grid Division Level Bias" -msgstr "" +msgstr "グリッド分割レベルバイアス" #: editor/editor_settings.cpp #, fuzzy @@ -5901,8 +5912,9 @@ msgid "Zoom Modifier" msgstr "変更済み" #: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp +#, fuzzy msgid "Warped Mouse Panning" -msgstr "" +msgstr "ワープマウスパンニング" #: editor/editor_settings.cpp #, fuzzy @@ -5910,12 +5922,14 @@ msgid "Navigation Feel" msgstr "ナビゲーションモード" #: editor/editor_settings.cpp +#, fuzzy msgid "Orbit Sensitivity" -msgstr "" +msgstr "軌道感度" #: editor/editor_settings.cpp +#, fuzzy msgid "Orbit Inertia" -msgstr "" +msgstr "軌道慣性" #: editor/editor_settings.cpp #, fuzzy @@ -6003,16 +6017,19 @@ msgid "Viewport Border Color" msgstr "ビューポートのボーダーの色" #: editor/editor_settings.cpp +#, fuzzy msgid "Constrain Editor View" -msgstr "" +msgstr "エディター ビューを制限" #: editor/editor_settings.cpp +#, fuzzy msgid "Simple Panning" -msgstr "" +msgstr "簡易パンニング" #: editor/editor_settings.cpp +#, fuzzy msgid "Scroll To Pan" -msgstr "" +msgstr "スクロールしてパンニング" #: editor/editor_settings.cpp #, fuzzy @@ -6025,8 +6042,9 @@ msgid "Poly Editor" msgstr "Polygon 2D UV エディター" #: editor/editor_settings.cpp +#, fuzzy msgid "Point Grab Radius" -msgstr "" +msgstr "ポイントグラブ半径" #: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy @@ -6039,8 +6057,9 @@ msgid "Autorename Animation Tracks" msgstr "アニメーションの名前を変更" #: editor/editor_settings.cpp +#, fuzzy msgid "Default Create Bezier Tracks" -msgstr "" +msgstr "デフォルトベジェトラックを作成" #: editor/editor_settings.cpp #, fuzzy @@ -6048,12 +6067,14 @@ msgid "Default Create Reset Tracks" msgstr "RESETトラックを作成" #: editor/editor_settings.cpp +#, fuzzy msgid "Onion Layers Past Color" -msgstr "" +msgstr "オニオンレイヤー過去の色" #: editor/editor_settings.cpp +#, fuzzy msgid "Onion Layers Future Color" -msgstr "" +msgstr "オニオンレイヤー将来の色" #: editor/editor_settings.cpp #, fuzzy @@ -6065,8 +6086,9 @@ msgid "Minimap Opacity" msgstr "ミニマップの不透明度" #: editor/editor_settings.cpp +#, fuzzy msgid "Window Placement" -msgstr "" +msgstr "ウィンドウの配置" #: editor/editor_settings.cpp scene/2d/back_buffer_copy.cpp scene/2d/sprite.cpp #: scene/2d/visibility_notifier_2d.cpp scene/3d/sprite_3d.cpp @@ -6082,7 +6104,7 @@ msgstr "曲線のOut-Controlの位置を指定" #: editor/editor_settings.cpp platform/android/export/export_plugin.cpp msgid "Screen" -msgstr "" +msgstr "画面" #: editor/editor_settings.cpp msgid "Auto Save" @@ -6183,16 +6205,19 @@ msgid "Completion Selected Color" msgstr "選択されたものをインポート" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +#, fuzzy msgid "Completion Existing Color" -msgstr "" +msgstr "既存の色の補完" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +#, fuzzy msgid "Completion Scroll Color" -msgstr "" +msgstr "スクロール色の補完" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp +#, fuzzy msgid "Completion Font Color" -msgstr "" +msgstr "フォント色の補完" #: editor/editor_settings.cpp msgid "Text Color" @@ -6958,8 +6983,9 @@ msgid "Collada" msgstr "Collada" #: editor/import/editor_import_collada.cpp +#, fuzzy msgid "Use Ambient" -msgstr "" +msgstr "アンビエントを使用" #: editor/import/resource_importer_bitmask.cpp #, fuzzy @@ -6968,8 +6994,9 @@ msgstr "フォルダーを作成" #: editor/import/resource_importer_bitmask.cpp #: servers/audio/effects/audio_effect_compressor.cpp +#, fuzzy msgid "Threshold" -msgstr "" +msgstr "閾" #: editor/import/resource_importer_csv_translation.cpp #: editor/import/resource_importer_layered_texture.cpp @@ -6981,8 +7008,9 @@ msgid "Compress" msgstr "コンポーネント" #: editor/import/resource_importer_csv_translation.cpp +#, fuzzy msgid "Delimiter" -msgstr "" +msgstr "区切り文字" #: editor/import/resource_importer_layered_texture.cpp #, fuzzy @@ -6990,8 +7018,9 @@ msgid "ColorCorrect" msgstr "Color関数。" #: editor/import/resource_importer_layered_texture.cpp +#, fuzzy msgid "No BPTC If RGB" -msgstr "" +msgstr "RGB使用中の場合はBPTCを使用しない" #: editor/import/resource_importer_layered_texture.cpp #: editor/import/resource_importer_texture.cpp scene/2d/cpu_particles_2d.cpp @@ -7004,8 +7033,9 @@ msgstr "フラグ" #: editor/import/resource_importer_layered_texture.cpp #: editor/import/resource_importer_texture.cpp scene/animation/tween.cpp #: scene/resources/texture.cpp +#, fuzzy msgid "Repeat" -msgstr "" +msgstr "繰り返し" #: editor/import/resource_importer_layered_texture.cpp #: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp @@ -7022,13 +7052,14 @@ msgstr "シグナル" #: editor/import/resource_importer_layered_texture.cpp #: editor/import/resource_importer_texture.cpp +#, fuzzy msgid "Anisotropic" -msgstr "" +msgstr "異方性" #: editor/import/resource_importer_layered_texture.cpp #: editor/import/resource_importer_texture.cpp msgid "sRGB" -msgstr "" +msgstr "sRGB" #: editor/import/resource_importer_layered_texture.cpp #, fuzzy @@ -7149,8 +7180,9 @@ msgid "Storage" msgstr "ファイルの保存:" #: editor/import/resource_importer_scene.cpp +#, fuzzy msgid "Use Legacy Names" -msgstr "" +msgstr "従来の名前を使用" #: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp #, fuzzy @@ -7183,8 +7215,9 @@ msgid "Lightmap Texel Size" msgstr "ライトマップを焼き込む" #: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp +#, fuzzy msgid "Skins" -msgstr "" +msgstr "スキン" #: editor/import/resource_importer_scene.cpp #, fuzzy @@ -7197,8 +7230,9 @@ msgid "External Files" msgstr "外部" #: editor/import/resource_importer_scene.cpp +#, fuzzy msgid "Store In Subdir" -msgstr "" +msgstr "サブディレクトリに保存" #: editor/import/resource_importer_scene.cpp #, fuzzy @@ -7306,20 +7340,28 @@ msgid "Saving..." msgstr "保存中..." #: editor/import/resource_importer_texture.cpp +#, fuzzy msgid "" "%s: Texture detected as used as a normal map in 3D. Enabling red-green " "texture compression to reduce memory usage (blue channel is discarded)." msgstr "" +"%s: 3Dで法線マップとして使用されているテクスチャが検出されました。赤緑テクス" +"チャ圧縮を有効にしてメモリ使用量を削減します(青チャンネルはすでに破棄されま" +"した)。" #: editor/import/resource_importer_texture.cpp +#, fuzzy msgid "" "%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap " "generation and VRAM texture compression." msgstr "" +"%s: 3Dで使用されているテクスチャが検出されました。フィルター、繰り返し、ミッ" +"プマップ生成、VRAMテクスチャ圧縮を有効にします。" #: editor/import/resource_importer_texture.cpp +#, fuzzy msgid "2D, Detect 3D" -msgstr "" +msgstr "2D、3D検出" #: editor/import/resource_importer_texture.cpp #, fuzzy @@ -7327,8 +7369,9 @@ msgid "2D Pixel" msgstr "凝集ピクセル" #: editor/import/resource_importer_texture.cpp scene/resources/texture.cpp +#, fuzzy msgid "Lossy Quality" -msgstr "" +msgstr "損失のある品質" #: editor/import/resource_importer_texture.cpp #, fuzzy @@ -7337,14 +7380,15 @@ msgstr "選択モード" #: editor/import/resource_importer_texture.cpp msgid "BPTC LDR" -msgstr "" +msgstr "BPTC LDR" #: editor/import/resource_importer_texture.cpp #: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp #: scene/2d/mesh_instance_2d.cpp scene/2d/multimesh_instance_2d.cpp #: scene/2d/particles_2d.cpp scene/2d/sprite.cpp scene/resources/style_box.cpp +#, fuzzy msgid "Normal Map" -msgstr "" +msgstr "法線マップ" #: editor/import/resource_importer_texture.cpp #, fuzzy @@ -7352,8 +7396,9 @@ msgid "Process" msgstr "前処理" #: editor/import/resource_importer_texture.cpp +#, fuzzy msgid "Fix Alpha Border" -msgstr "" +msgstr "アルファボーダーを修正" #: editor/import/resource_importer_texture.cpp #, fuzzy @@ -7361,8 +7406,9 @@ msgid "Premult Alpha" msgstr "ポリゴンを編集" #: editor/import/resource_importer_texture.cpp +#, fuzzy msgid "Hdr As Srgb" -msgstr "" +msgstr "SrgbとしてHdr" #: editor/import/resource_importer_texture.cpp #, fuzzy @@ -7379,8 +7425,9 @@ msgid "Size Limit" msgstr "サイズ制限" #: editor/import/resource_importer_texture.cpp +#, fuzzy msgid "Detect 3D" -msgstr "" +msgstr "3Dを検出" #: editor/import/resource_importer_texture.cpp #, fuzzy @@ -7388,10 +7435,13 @@ msgid "SVG" msgstr "CSG" #: editor/import/resource_importer_texture.cpp +#, fuzzy msgid "" "Warning, no suitable PC VRAM compression enabled in Project Settings. This " "texture will not display correctly on PC." msgstr "" +"警告、プロジェクト設定で有効な適切なPC VRAM圧縮がありません。このテクスチャ" +"は PCで正しく表示されません。" #: editor/import/resource_importer_texture_atlas.cpp #, fuzzy @@ -7409,8 +7459,9 @@ msgid "Crop To Region" msgstr "タイル領域を設定" #: editor/import/resource_importer_texture_atlas.cpp +#, fuzzy msgid "Trim Alpha Border From Region" -msgstr "" +msgstr "アルファ境界線を領域からトリミング" #: editor/import/resource_importer_wav.cpp scene/2d/physics_body_2d.cpp #, fuzzy @@ -7418,11 +7469,13 @@ msgid "Force" msgstr "強制プッシュ" #: editor/import/resource_importer_wav.cpp +#, fuzzy msgid "8 Bit" -msgstr "" +msgstr "8ビット" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "Mono" @@ -7437,8 +7490,9 @@ msgid "Max Rate Hz" msgstr "ミックス ノード" #: editor/import/resource_importer_wav.cpp +#, fuzzy msgid "Trim" -msgstr "" +msgstr "トリム" #: editor/import/resource_importer_wav.cpp #, fuzzy @@ -7558,8 +7612,9 @@ msgid "Localized" msgstr "ロケール" #: editor/inspector_dock.cpp +#, fuzzy msgid "Localization not available for current language." -msgstr "" +msgstr "現地語化は現在の言語では使用できません。" #: editor/inspector_dock.cpp msgid "Copy Properties" @@ -8663,8 +8718,9 @@ msgid "Testing" msgstr "試験的" #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "Failed to get repository configuration." -msgstr "" +msgstr "リポジトリを構成できませんでした。" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Assets ZIP File" @@ -9591,12 +9647,14 @@ msgid "Gradient Edited" msgstr "グラデーション編集" #: editor/plugins/gradient_texture_2d_editor_plugin.cpp +#, fuzzy msgid "Swap GradientTexture2D Fill Points" -msgstr "" +msgstr "GradientTexture2D 塗りつぶしポイントを入れ替え" #: editor/plugins/gradient_texture_2d_editor_plugin.cpp +#, fuzzy msgid "Swap Gradient Fill Points" -msgstr "" +msgstr "Gradient の塗りつぶしポイントを入れ替え" #: editor/plugins/gradient_texture_2d_editor_plugin.cpp #, fuzzy @@ -9620,7 +9678,7 @@ msgstr "アイコン" #: editor/plugins/item_list_editor_plugin.cpp msgid "ID" -msgstr "" +msgstr "ID" #: editor/plugins/item_list_editor_plugin.cpp #: scene/resources/default_theme/default_theme.cpp @@ -10416,8 +10474,9 @@ msgid "Sync Bones to Polygon" msgstr "ボーンをポリゴンに同期させる" #: editor/plugins/ray_cast_2d_editor_plugin.cpp +#, fuzzy msgid "Set cast_to" -msgstr "" +msgstr "cast_to を設定" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "ERROR: Couldn't load resource!" @@ -10748,8 +10807,9 @@ msgid "Search Results" msgstr "検索結果" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy msgid "Open Dominant Script On Scene Change" -msgstr "" +msgstr "シーン変更時にドミナントスクリプトを開く" #: editor/plugins/script_editor_plugin.cpp msgid "External" @@ -10773,8 +10833,9 @@ msgid "Highlight Current Script" msgstr "現在のスクリプトをハイライトする" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy msgid "Script Temperature History Size" -msgstr "" +msgstr "スクリプト温度履歴サイズ" #: editor/plugins/script_editor_plugin.cpp msgid "Current Script Background Color" @@ -10794,8 +10855,9 @@ msgid "List Script Names As" msgstr "スクリプト名:" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy msgid "Exec Flags" -msgstr "" +msgstr "実行フラグ" #: editor/plugins/script_editor_plugin.cpp msgid "Clear Recent Scripts" @@ -11613,12 +11675,14 @@ msgid "Post" msgstr "後" #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy msgid "Manipulator Gizmo Size" -msgstr "" +msgstr "マニピュレータギズモサイズ" #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy msgid "Manipulator Gizmo Opacity" -msgstr "" +msgstr "マニピュレータギズモ不透明度" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy @@ -12334,14 +12398,18 @@ msgid "Override all default type items." msgstr "すべてのデフォルトタイプのアイテムをオーバーライドする。" #: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Select the variation base type from a list of available types." -msgstr "" +msgstr "使用可能なタイプのリストからバリエーション基底型を選択。" #: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "" "A type associated with a built-in class cannot be marked as a variation of " "another type." msgstr "" +"組み込みクラスに関連する型を、別の型のバリエーションとしてマークすることはで" +"きません。" #: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" @@ -14168,8 +14236,9 @@ msgid "Runnable" msgstr "実行可能" #: editor/project_export.cpp +#, fuzzy msgid "Export the project for all the presets defined." -msgstr "" +msgstr "定義されたすべてのプリセットのプロジェクトをエクスポート。" #: editor/project_export.cpp msgid "All presets must have an export path defined for Export All to work." @@ -15440,18 +15509,19 @@ msgstr "" msgid "Make Local" msgstr "ローカルにする" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "ノード名:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "他の関数/変数/シグナルによりすでに使われている名前:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "ノード名:" #: editor/scene_tree_dock.cpp @@ -15654,6 +15724,11 @@ msgid "Button Group" msgstr "ボタングループ" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "ノード名:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(接続元)" @@ -15729,6 +15804,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "無効なノード名。以下の文字は使えません:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "ノードの名前を変更" @@ -17597,6 +17676,21 @@ msgstr "ソリューションをビルド" msgid "Auto Update Project" msgstr "名無しのプロジェクト" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "表示スケール" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "ディレクトリを選択" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "ディレクトリを選択" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "内部例外スタックトレースの終了" @@ -17703,12 +17797,14 @@ msgid "Persistence" msgstr "透視投影" #: modules/opensimplex/open_simplex_noise.cpp +#, fuzzy msgid "Lacunarity" -msgstr "" +msgstr "空隙性" #: modules/regex/regex.cpp +#, fuzzy msgid "Subject" -msgstr "" +msgstr "対象" #: modules/regex/regex.cpp #, fuzzy @@ -17718,47 +17814,52 @@ msgstr "名前" #: modules/regex/regex.cpp #, fuzzy msgid "Strings" -msgstr "設定:" +msgstr "文字列" #: modules/upnp/upnp.cpp +#, fuzzy msgid "Discover Multicast If" -msgstr "" +msgstr "マルチキャストの検出" #: modules/upnp/upnp.cpp +#, fuzzy msgid "Discover Local Port" -msgstr "" +msgstr "ローカルポートの検出" #: modules/upnp/upnp.cpp +#, fuzzy msgid "Discover IPv6" -msgstr "" +msgstr "IPv6 の検出" #: modules/upnp/upnp_device.cpp #, fuzzy msgid "Description URL" -msgstr "説明" +msgstr "説明 URL" #: modules/upnp/upnp_device.cpp #, fuzzy msgid "Service Type" -msgstr "変数の型を設定" +msgstr "サービス種類" #: modules/upnp/upnp_device.cpp +#, fuzzy msgid "IGD Control URL" -msgstr "" +msgstr "IGD コントロール URL" #: modules/upnp/upnp_device.cpp #, fuzzy msgid "IGD Service Type" -msgstr "変数の型を設定" +msgstr "IGD サービス 種類" #: modules/upnp/upnp_device.cpp +#, fuzzy msgid "IGD Our Addr" -msgstr "" +msgstr "IGD 当方アドレス" #: modules/upnp/upnp_device.cpp #, fuzzy msgid "IGD Status" -msgstr "ステータス" +msgstr "IGD 状態" #: modules/visual_script/visual_script.cpp msgid "" @@ -19463,6 +19564,11 @@ msgstr "ノードを切り取る" msgid "Custom BG Color" msgstr "ノードを切り取る" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "すべて展開" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20317,6 +20423,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "パッケージのショートネームが無効です。" diff --git a/editor/translations/ka.po b/editor/translations/ka.po index 2e6e0e70e7..f085051bf7 100644 --- a/editor/translations/ka.po +++ b/editor/translations/ka.po @@ -4539,6 +4539,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "" @@ -7343,7 +7344,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15330,18 +15332,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "მოშორება" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "მოშორება" #: editor/scene_tree_dock.cpp @@ -15538,6 +15540,11 @@ msgstr "" #: editor/scene_tree_editor.cpp #, fuzzy +msgid "Disable Scene Unique Name" +msgstr "მოშორება" + +#: editor/scene_tree_editor.cpp +#, fuzzy msgid "(Connecting From)" msgstr "დამაკავშირებელი სიგნალი:" @@ -15602,6 +15609,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -17465,6 +17476,20 @@ msgstr "ყველა მონიშნვა" msgid "Auto Update Project" msgstr "პროექტის დამფუძნებლები" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "ყველას ჩანაცვლება" + +#: modules/mono/godotsharp_dirs.cpp +msgid "Solution Directory" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "პროექტის დამფუძნებლები" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -19238,6 +19263,11 @@ msgstr "ანიმაციის გასაღებების ასლ msgid "Custom BG Color" msgstr "ანიმაციის გასაღებების ასლის შექმნა" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "ანიმაციის გარდაქმნის ცვლილება" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -20056,6 +20086,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid package short name." msgstr "არასწორი ფონტის ზომა." diff --git a/editor/translations/km.po b/editor/translations/km.po index 522cb30363..3d39686d68 100644 --- a/editor/translations/km.po +++ b/editor/translations/km.po @@ -4327,6 +4327,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "" @@ -7005,7 +7006,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -14685,18 +14687,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "បញ្ចូល Key នៅទីនេះ" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "បញ្ចូល Key នៅទីនេះ" #: editor/scene_tree_dock.cpp @@ -14886,6 +14888,11 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "បញ្ចូល Key នៅទីនេះ" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "" @@ -14949,6 +14956,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -16729,6 +16740,18 @@ msgstr "" msgid "Auto Update Project" msgstr "" +#: modules/mono/godotsharp_dirs.cpp +msgid "Assembly Name" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "Solution Directory" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "C# Project Directory" +msgstr "" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -18415,6 +18438,10 @@ msgstr "" msgid "Custom BG Color" msgstr "" +#: platform/iphone/export/export.cpp +msgid "Export Icons" +msgstr "" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -19194,6 +19221,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "" diff --git a/editor/translations/ko.po b/editor/translations/ko.po index a91450dd41..e3edb07ce4 100644 --- a/editor/translations/ko.po +++ b/editor/translations/ko.po @@ -36,13 +36,15 @@ # Seonghyeon Cho <seonghyeoncho96@gmail.com>, 2022. # Haoyu Qiu <timothyqiu32@gmail.com>, 2022. # 김태우 <ogosengi3@gmail.com>, 2022. +# 박민규 <80dots@gmail.com>, 2022. +# 이지민 <jiminaleejung@gmail.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-06-26 16:16+0000\n" -"Last-Translator: 김태우 <ogosengi3@gmail.com>\n" +"PO-Revision-Date: 2022-09-07 06:16+0000\n" +"Last-Translator: 이지민 <jiminaleejung@gmail.com>\n" "Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/" "godot/ko/>\n" "Language: ko\n" @@ -50,7 +52,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.13.1-dev\n" +"X-Generator: Weblate 4.14.1-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" @@ -387,9 +389,8 @@ msgid "Max Size (KB)" msgstr "최대 크기(KB)" #: core/os/input.cpp -#, fuzzy msgid "Mouse Mode" -msgstr "이동 모드" +msgstr "마우스 모드" #: core/os/input.cpp #, fuzzy @@ -411,7 +412,7 @@ msgstr "Shift" #: core/os/input_event.cpp msgid "Control" -msgstr "조작" +msgstr "Control" #: core/os/input_event.cpp msgid "Meta" @@ -422,9 +423,8 @@ msgid "Command" msgstr "명령" #: core/os/input_event.cpp -#, fuzzy msgid "Physical" -msgstr " (물리)" +msgstr "물리" #: core/os/input_event.cpp scene/2d/touch_screen_button.cpp #: scene/gui/base_button.cpp scene/gui/texture_button.cpp @@ -680,14 +680,12 @@ msgid "Script Templates Search Path" msgstr "스크립트 템플릿 검색 경로" #: core/project_settings.cpp -#, fuzzy msgid "Version Control Autoload On Startup" -msgstr "스타트업으로 자동 로드" +msgstr "시작할 때 자동으로 Version Control 로드" #: core/project_settings.cpp -#, fuzzy msgid "Version Control Plugin Name" -msgstr "버전 컨트롤" +msgstr "버전 컨트롤 플러그인 이름" #: core/project_settings.cpp scene/2d/collision_object_2d.cpp #: scene/3d/collision_object.cpp scene/gui/control.cpp @@ -2757,12 +2755,11 @@ msgstr "선택" #: editor/editor_export.cpp msgid "Project export for platform:" -msgstr "" +msgstr "플랫폼으로 프로젝트 내보내기:" #: editor/editor_export.cpp -#, fuzzy msgid "Completed with warnings." -msgstr "파일 경로 완성" +msgstr "완료하였지만 경고가 있습니다." #: editor/editor_export.cpp #, fuzzy @@ -2770,9 +2767,8 @@ msgid "Completed successfully." msgstr "패키지를 성공적으로 설치했습니다!" #: editor/editor_export.cpp -#, fuzzy msgid "Failed." -msgstr "실패함:" +msgstr "실패함." #: editor/editor_export.cpp msgid "Storing File:" @@ -2787,29 +2783,24 @@ msgid "Packing" msgstr "패킹 중" #: editor/editor_export.cpp -#, fuzzy msgid "Save PCK" -msgstr "다른 이름으로 저장" +msgstr "PCK를 저장합니다." #: editor/editor_export.cpp -#, fuzzy msgid "Cannot create file \"%s\"." -msgstr "폴더를 만들 수 없습니다." +msgstr "\"%s\" 파일을 생성할 수 없습니다." #: editor/editor_export.cpp -#, fuzzy msgid "Failed to export project files." -msgstr "프로젝트 파일을 내보낼 수 없었습니다" +msgstr "프로젝트 파일을 내보낼 수 없습니다." #: editor/editor_export.cpp -#, fuzzy msgid "Can't open file to read from path \"%s\"." -msgstr "파일을 쓰기 모드로 열 수 없음:" +msgstr "\"%s\" 경로의 파일을 읽기 위해 열지 못했습니다." #: editor/editor_export.cpp -#, fuzzy msgid "Save ZIP" -msgstr "다른 이름으로 저장" +msgstr "ZIP파일로 저장" #: editor/editor_export.cpp msgid "" @@ -2934,14 +2925,12 @@ msgid "Prepare Template" msgstr "템플릿 관리" #: editor/editor_export.cpp platform/osx/export/export.cpp -#, fuzzy msgid "The given export path doesn't exist." -msgstr "주어진 내보내기 경로가 없음:" +msgstr "Export하려고 했으나 해당 경로가 존재하지 않습니다." #: editor/editor_export.cpp platform/javascript/export/export.cpp -#, fuzzy msgid "Template file not found: \"%s\"." -msgstr "템플릿 파일을 찾을 수 없습니다:" +msgstr "템플릿 파일을 찾을 수 없습니다: \"%s\"" #: editor/editor_export.cpp #, fuzzy @@ -4486,6 +4475,7 @@ msgstr "프로젝트 또는 씬 관련 여러가지 툴." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "프로젝트" @@ -5194,9 +5184,8 @@ msgstr "" "있도록 정의해주세요." #: editor/editor_run_native.cpp -#, fuzzy msgid "Project Run" -msgstr "프로젝트" +msgstr "프로젝트 실행" #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." @@ -5374,7 +5363,7 @@ msgstr "썸네일 크기" #: editor/editor_settings.cpp msgid "Docks" -msgstr "결합" +msgstr "독" #: editor/editor_settings.cpp msgid "Scene Tree" @@ -5478,9 +5467,8 @@ msgid "Mouse Extra Buttons Navigate History" msgstr "마우스 부가 버튼으로 히스토리 둘러보기" #: editor/editor_settings.cpp -#, fuzzy msgid "Drag And Drop Selection" -msgstr "그리드맵 선택" +msgstr "선택된 항목을 Drag and drop" #: editor/editor_settings.cpp msgid "Stay In Script Editor On Node Selected" @@ -5766,7 +5754,7 @@ msgstr "줌 방식" #: editor/editor_settings.cpp msgid "Emulate Numpad" -msgstr "숫자 패드 모방" +msgstr "숫자패드 모방" #: editor/editor_settings.cpp msgid "Emulate 3 Button Mouse" @@ -6106,12 +6094,11 @@ msgstr "행 번호:" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Caret Color" -msgstr "" +msgstr "탈자 기호 색" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Caret Background Color" -msgstr "잘못된 배경 색상." +msgstr "탈자 기호 배경 색" #: editor/editor_settings.cpp #, fuzzy @@ -7326,7 +7313,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -12594,7 +12582,7 @@ msgstr "콜리전" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Occlusion" -msgstr "어클루전" +msgstr "오클루전" #: editor/plugins/tile_set_editor_plugin.cpp scene/2d/touch_screen_button.cpp msgid "Bitmask" @@ -15343,18 +15331,19 @@ msgstr "" msgid "Make Local" msgstr "로컬로 만들기" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "노드 이름:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "이미 다른 함수/변수/시그널로 사용된 이름:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "노드 이름:" #: editor/scene_tree_dock.cpp @@ -15553,6 +15542,11 @@ msgid "Button Group" msgstr "버튼 그룹" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "노드 이름:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(연결 시작 지점)" @@ -15628,6 +15622,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "잘못된 노드 이름입니다. 다음 문자는 허용하지 않습니다:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "노드 이름 바꾸기" @@ -17551,6 +17549,21 @@ msgstr "솔루션 빌드" msgid "Auto Update Project" msgstr "이름 없는 프로젝트" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "모두 표시" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "디렉토리를 선택하세요" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "디렉토리를 선택하세요" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "내부 예외 스택 추적의 끝" @@ -19424,6 +19437,11 @@ msgstr "노드 잘라내기" msgid "Custom BG Color" msgstr "노드 잘라내기" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "모두 펼치기" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20195,9 +20213,8 @@ msgid "Certificate" msgstr "정점:" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Algorithm" -msgstr "디버거" +msgstr "알고리즘" #: platform/uwp/export/export.cpp msgid "Major" @@ -20213,9 +20230,8 @@ msgid "Build" msgstr "자 모드" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Revision" -msgstr "표현식 설정" +msgstr "개정" #: platform/uwp/export/export.cpp msgid "Landscape" @@ -20282,6 +20298,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "잘못된 패키지 단축 이름." @@ -22620,9 +22642,8 @@ msgid "Alpha Scissor Threshold" msgstr "" #: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp -#, fuzzy msgid "Render Priority" -msgstr "우선 순위 활성화" +msgstr "렌더 우선 순위" #: scene/3d/label_3d.cpp #, fuzzy @@ -24599,7 +24620,7 @@ msgstr "" #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Caret" -msgstr "" +msgstr "탈자 기호" #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Blink" diff --git a/editor/translations/lt.po b/editor/translations/lt.po index 66891e3f0e..e89e801a9b 100644 --- a/editor/translations/lt.po +++ b/editor/translations/lt.po @@ -4505,6 +4505,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "" @@ -7325,7 +7326,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15320,18 +15322,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Panaikinti" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "Panaikinti" #: editor/scene_tree_dock.cpp @@ -15528,6 +15530,11 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Panaikinti" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "" @@ -15592,6 +15599,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -17461,6 +17472,20 @@ msgstr "Visas Pasirinkimas" msgid "Auto Update Project" msgstr "Redaguoti Filtrus" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Importuoti iš Nodo:" + +#: modules/mono/godotsharp_dirs.cpp +msgid "Solution Directory" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Aprašymas:" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -19243,6 +19268,11 @@ msgstr "Transition Nodas" msgid "Custom BG Color" msgstr "Transition Nodas" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Importuoti iš Nodo:" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -20077,6 +20107,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid package short name." msgstr "Netinkamas šrifto dydis." diff --git a/editor/translations/lv.po b/editor/translations/lv.po index c00e8d1a44..7234ac270a 100644 --- a/editor/translations/lv.po +++ b/editor/translations/lv.po @@ -4570,6 +4570,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Projekts" @@ -7384,7 +7385,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15138,18 +15140,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Mezgla Vārds:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "Mezgla Vārds:" #: editor/scene_tree_dock.cpp @@ -15339,6 +15341,11 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Mezgla Vārds:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(Savienojas No)" @@ -15404,6 +15411,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -17268,6 +17279,21 @@ msgstr "Būvēt risinājumu" msgid "Auto Update Project" msgstr "Nenosaukts Projekts" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Parādīt Visu" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Izvēlēties Direktoriju" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Izvēlēties Direktoriju" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -19049,6 +19075,11 @@ msgstr "Izgriezt mezglu(s)" msgid "Custom BG Color" msgstr "Izgriezt mezglu(s)" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Izvērst apakšējo paneli" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -19886,6 +19917,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "Nederīgs paketes īsais nosaukums." diff --git a/editor/translations/mk.po b/editor/translations/mk.po index 2d183ec609..d0be6e7036 100644 --- a/editor/translations/mk.po +++ b/editor/translations/mk.po @@ -4340,6 +4340,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "" @@ -7030,7 +7031,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -14718,18 +14720,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Внеси клуч тука" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "Внеси клуч тука" #: editor/scene_tree_dock.cpp @@ -14919,6 +14921,11 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Внеси клуч тука" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "" @@ -14982,6 +14989,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -16767,6 +16778,18 @@ msgstr "" msgid "Auto Update Project" msgstr "" +#: modules/mono/godotsharp_dirs.cpp +msgid "Assembly Name" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "Solution Directory" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "C# Project Directory" +msgstr "" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -18459,6 +18482,10 @@ msgstr "" msgid "Custom BG Color" msgstr "" +#: platform/iphone/export/export.cpp +msgid "Export Icons" +msgstr "" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -19238,6 +19265,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "" diff --git a/editor/translations/ml.po b/editor/translations/ml.po index 7568bc881e..35845df066 100644 --- a/editor/translations/ml.po +++ b/editor/translations/ml.po @@ -4357,6 +4357,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "" @@ -7047,7 +7048,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -14742,18 +14744,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "ചലനത്തിൻറെ നേരം മാറ്റുക" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "ചലനത്തിൻറെ നേരം മാറ്റുക" #: editor/scene_tree_dock.cpp @@ -14943,6 +14945,11 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "ചലനത്തിൻറെ നേരം മാറ്റുക" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "" @@ -15006,6 +15013,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -16792,6 +16803,18 @@ msgstr "" msgid "Auto Update Project" msgstr "" +#: modules/mono/godotsharp_dirs.cpp +msgid "Assembly Name" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "Solution Directory" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "C# Project Directory" +msgstr "" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -18490,6 +18513,11 @@ msgstr "പ്രവൃത്തികൾ:" msgid "Custom BG Color" msgstr "പ്രവൃത്തികൾ:" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "ത്രിമാന പരിവർത്തനം നോക്കുക" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -19278,6 +19306,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "" diff --git a/editor/translations/mr.po b/editor/translations/mr.po index 4bdf5ba4fb..6baf1dc52e 100644 --- a/editor/translations/mr.po +++ b/editor/translations/mr.po @@ -4351,6 +4351,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "" @@ -7044,7 +7045,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -14736,18 +14738,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "अॅनिमेशन नाव:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "अॅनिमेशन नाव:" #: editor/scene_tree_dock.cpp @@ -14937,6 +14939,11 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "अॅनिमेशन नाव:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "" @@ -15000,6 +15007,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -16793,6 +16804,19 @@ msgstr "" msgid "Auto Update Project" msgstr "" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "प्ले मोड:" + +#: modules/mono/godotsharp_dirs.cpp +msgid "Solution Directory" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "C# Project Directory" +msgstr "" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -18491,6 +18515,10 @@ msgstr "" msgid "Custom BG Color" msgstr "" +#: platform/iphone/export/export.cpp +msgid "Export Icons" +msgstr "" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -19279,6 +19307,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "" diff --git a/editor/translations/ms.po b/editor/translations/ms.po index 61a60ad8fe..adb377d13a 100644 --- a/editor/translations/ms.po +++ b/editor/translations/ms.po @@ -16,7 +16,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: 2022-06-12 13:19+0000\n" +"PO-Revision-Date: 2022-09-09 12:36+0000\n" "Last-Translator: Keviindran Ramachandran <keviinx@yahoo.com>\n" "Language-Team: Malay <https://hosted.weblate.org/projects/godot-engine/godot/" "ms/>\n" @@ -25,7 +25,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.13-dev\n" +"X-Generator: Weblate 4.14.1-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" @@ -361,14 +361,12 @@ msgid "Max Size (KB)" msgstr "Saiz Maksimum (KB)" #: core/os/input.cpp -#, fuzzy msgid "Mouse Mode" -msgstr "Mod Alih" +msgstr "Mod Tetikus" #: core/os/input.cpp -#, fuzzy msgid "Use Accumulated Input" -msgstr "Padam Input" +msgstr "Gunakan Input Terkumpul" #: core/os/input_event.cpp editor/project_settings_editor.cpp #: servers/audio_server.cpp @@ -396,9 +394,8 @@ msgid "Command" msgstr "Perintah" #: core/os/input_event.cpp -#, fuzzy msgid "Physical" -msgstr "Fizik" +msgstr "Fizikal" #: core/os/input_event.cpp scene/2d/touch_screen_button.cpp #: scene/gui/base_button.cpp scene/gui/texture_button.cpp @@ -452,7 +449,7 @@ msgstr "Tekanan" #: core/os/input_event.cpp msgid "Pen Inverted" -msgstr "" +msgstr "Pen Terbalik" #: core/os/input_event.cpp msgid "Relative" @@ -642,9 +639,8 @@ msgid "Main Run Args" msgstr "Jalan Utama Args" #: core/project_settings.cpp -#, fuzzy msgid "Scene Naming" -msgstr "Laluan Adegan:" +msgstr "Penamaan Adegan" #: core/project_settings.cpp msgid "Search In File Extensions" @@ -655,14 +651,12 @@ msgid "Script Templates Search Path" msgstr "Laluan Carian Templat Skrip" #: core/project_settings.cpp -#, fuzzy msgid "Version Control Autoload On Startup" -msgstr "Muatkan Automatik Semasa Permulaan" +msgstr "Automuat Kawalan Versi Semasa Permulaan" #: core/project_settings.cpp -#, fuzzy msgid "Version Control Plugin Name" -msgstr "Kawalan Versi" +msgstr "Nama Plugin Kawalan Versi" #: core/project_settings.cpp scene/2d/collision_object_2d.cpp #: scene/3d/collision_object.cpp scene/gui/control.cpp @@ -4516,6 +4510,7 @@ msgstr "Pelbagai projek atau alatan seluruh adegan." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Projek" @@ -7405,7 +7400,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15296,18 +15292,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Nama Nod:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "Nama Nod:" #: editor/scene_tree_dock.cpp @@ -15501,6 +15497,11 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Nama Nod:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "" @@ -15564,6 +15565,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -17453,6 +17458,21 @@ msgstr "Semua Pilihan" msgid "Auto Update Project" msgstr "Projek" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Paparkan Semua" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Pilih Direktori" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Pilih Direktori" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -19254,6 +19274,11 @@ msgstr "Potong Nod" msgid "Custom BG Color" msgstr "Potong Nod" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Kembangkan Semua" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20093,6 +20118,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "" diff --git a/editor/translations/nb.po b/editor/translations/nb.po index 542d5987ca..b39bc2a602 100644 --- a/editor/translations/nb.po +++ b/editor/translations/nb.po @@ -4690,6 +4690,7 @@ msgstr "Diverse prosjekt- eller scene-relaterte verktøy" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Prosjekt" @@ -7654,7 +7655,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15944,18 +15946,19 @@ msgstr "" msgid "Make Local" msgstr "Lag Ben" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Nodenavn:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "Navnet er allerede i bruk av annen funk/var/signal:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Nodenavn:" #: editor/scene_tree_dock.cpp @@ -16164,6 +16167,11 @@ msgstr "Legg til i Gruppe" #: editor/scene_tree_editor.cpp #, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Nodenavn:" + +#: editor/scene_tree_editor.cpp +#, fuzzy msgid "(Connecting From)" msgstr "Tilkoblingsfeil" @@ -16228,6 +16236,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -18184,6 +18196,21 @@ msgstr "Alle valg" msgid "Auto Update Project" msgstr "Eksporter Prosjekt" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Vis alle" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Velg en Mappe" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Velg en Mappe" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -20053,6 +20080,11 @@ msgstr "Klipp ut Noder" msgid "Custom BG Color" msgstr "Klipp ut Noder" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Utvid alle" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20905,6 +20937,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid package short name." msgstr "Ugyldig navn." diff --git a/editor/translations/nl.po b/editor/translations/nl.po index aaa0f38a1d..9410069ae4 100644 --- a/editor/translations/nl.po +++ b/editor/translations/nl.po @@ -58,13 +58,15 @@ # Rémi Verschelde <remi@godotengine.org>, 2022. # Wouter <mysticaldev@hotmail.com>, 2022. # voylin <0voylin0@gmail.com>, 2022. +# Gert-dev <qnyasgjhapqyuhoibr@kiabws.com>, 2022. +# Nnn <irri2020@outlook.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-03-17 13:58+0000\n" -"Last-Translator: voylin <0voylin0@gmail.com>\n" +"PO-Revision-Date: 2022-08-30 03:11+0000\n" +"Last-Translator: Nnn <irri2020@outlook.com>\n" "Language-Team: Dutch <https://hosted.weblate.org/projects/godot-engine/godot/" "nl/>\n" "Language: nl\n" @@ -72,110 +74,97 @@ 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.12-dev\n" +"X-Generator: Weblate 4.14.1-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" -msgstr "" +msgstr "Tablet-stuurprogramma" #: core/bind/core_bind.cpp -#, fuzzy msgid "Clipboard" -msgstr "Plakbord is leeg!" +msgstr "Klembord" #: core/bind/core_bind.cpp -#, fuzzy msgid "Current Screen" -msgstr "Huidige scène" +msgstr "Huidig scherm" #: core/bind/core_bind.cpp msgid "Exit Code" -msgstr "" +msgstr "Afsluitcode" #: core/bind/core_bind.cpp -#, fuzzy msgid "V-Sync Enabled" -msgstr "Inschakelen" +msgstr "V-Sync ingeschakeld" #: core/bind/core_bind.cpp main/main.cpp msgid "V-Sync Via Compositor" -msgstr "" +msgstr "V-Sync via compositor" #: core/bind/core_bind.cpp main/main.cpp msgid "Delta Smoothing" -msgstr "" +msgstr "Delta-gladmaken" #: core/bind/core_bind.cpp -#, fuzzy msgid "Low Processor Usage Mode" -msgstr "Verplaatsingsmodus" +msgstr "Lage energieverbruiksmodus processor" #: core/bind/core_bind.cpp msgid "Low Processor Usage Mode Sleep (µsec)" -msgstr "" +msgstr "Lage energieverbruiksmodus processor slaap (µs)" #: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp -#, fuzzy msgid "Keep Screen On" -msgstr "Houd Debugger Open" +msgstr "Scherm aanhouden" #: core/bind/core_bind.cpp -#, fuzzy msgid "Min Window Size" -msgstr "Omlijningsgrootte:" +msgstr "Minimale venstergrootte" #: core/bind/core_bind.cpp -#, fuzzy msgid "Max Window Size" -msgstr "Omlijningsgrootte:" +msgstr "Maximale venstergrootte" #: core/bind/core_bind.cpp -#, fuzzy msgid "Screen Orientation" -msgstr "Scherm operator." +msgstr "Schermoriëntering" #: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp #: platform/uwp/os_uwp.cpp -#, fuzzy msgid "Window" -msgstr "Nieuw Venster" +msgstr "Venster" #: core/bind/core_bind.cpp core/project_settings.cpp -#, fuzzy msgid "Borderless" -msgstr "Randpixels" +msgstr "Naadloos" #: core/bind/core_bind.cpp msgid "Per Pixel Transparency Enabled" -msgstr "" +msgstr "Transparantie per pixel ingeschakeld" #: core/bind/core_bind.cpp core/project_settings.cpp -#, fuzzy msgid "Fullscreen" msgstr "Volledig scherm" #: core/bind/core_bind.cpp msgid "Maximized" -msgstr "" +msgstr "Gemaximaliseerd" #: core/bind/core_bind.cpp -#, fuzzy msgid "Minimized" -msgstr "Initialiseren" +msgstr "Geminimaliseerd" #: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp #: scene/gui/graph_node.cpp msgid "Resizable" -msgstr "" +msgstr "Verstelbare grootte" #: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp #: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp #: scene/3d/physics_body.cpp scene/3d/remote_transform.cpp #: scene/gui/control.cpp scene/gui/line_edit.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Position" -msgstr "Tabbladpositie" +msgstr "Positie" #: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp #: main/main.cpp modules/gridmap/grid_map.cpp @@ -186,65 +175,56 @@ msgstr "Tabbladpositie" #: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp #: scene/resources/style_box.cpp scene/resources/texture.cpp #: scene/resources/visual_shader.cpp servers/visual_server.cpp -#, fuzzy msgid "Size" -msgstr "Grootte: " +msgstr "Grootte" #: core/bind/core_bind.cpp msgid "Endian Swap" -msgstr "" +msgstr "Endian omwisselen" #: core/bind/core_bind.cpp -#, fuzzy msgid "Editor Hint" -msgstr "Editor" +msgstr "Editor-hint" #: core/bind/core_bind.cpp msgid "Print Error Messages" -msgstr "" +msgstr "Foutboodschappen tonen" #: core/bind/core_bind.cpp -#, fuzzy msgid "Iterations Per Second" -msgstr "Interpolatiemodus" +msgstr "Iteraties per seconde" #: core/bind/core_bind.cpp -#, fuzzy msgid "Target FPS" -msgstr "Doel" +msgstr "Beoogde FPS" #: core/bind/core_bind.cpp -#, fuzzy msgid "Time Scale" -msgstr "Tijdschaalknoop" +msgstr "Tijdschaal" #: core/bind/core_bind.cpp main/main.cpp -#, fuzzy msgid "Physics Jitter Fix" -msgstr "Physics Frame %" +msgstr "Oplossing Jitter Fysica" #: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp msgid "Error" msgstr "Fout" #: core/bind/core_bind.cpp -#, fuzzy msgid "Error String" -msgstr "Fout bij het opslaan" +msgstr "Foutboodschap" #: core/bind/core_bind.cpp -#, fuzzy msgid "Error Line" -msgstr "Fout bij het opslaan" +msgstr "Lijn fout" #: core/bind/core_bind.cpp -#, fuzzy msgid "Result" -msgstr "Zoek Resultaten" +msgstr "Resultaat" #: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp msgid "Memory" -msgstr "" +msgstr "Geheugen" #: core/command_queue_mt.cpp core/message_queue.cpp #: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp @@ -255,12 +235,11 @@ msgstr "" #: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h #: servers/visual_server.cpp msgid "Limits" -msgstr "" +msgstr "Limieten" #: core/command_queue_mt.cpp -#, fuzzy msgid "Command Queue" -msgstr "Ctrl: Roteer" +msgstr "Commandowachtrij" #: core/command_queue_mt.cpp msgid "Multithreading Queue Size (KB)" @@ -294,9 +273,8 @@ msgid "Remote FS" msgstr "Remote " #: core/io/file_access_network.cpp -#, fuzzy msgid "Page Size" -msgstr "Pagina: " +msgstr "Pagina grootte" #: core/io/file_access_network.cpp msgid "Page Read Ahead" @@ -307,9 +285,8 @@ msgid "Blocking Mode Enabled" msgstr "" #: core/io/http_client.cpp -#, fuzzy msgid "Connection" -msgstr "Verbinden" +msgstr "Verbinding" #: core/io/http_client.cpp msgid "Read Chunk Size" @@ -497,9 +474,8 @@ msgid "Pressed" msgstr "Voorinstellingen" #: core/os/input_event.cpp -#, fuzzy msgid "Scancode" -msgstr "Inlezen" +msgstr "Scancode" #: core/os/input_event.cpp msgid "Physical Scancode" @@ -507,7 +483,7 @@ msgstr "" #: core/os/input_event.cpp msgid "Unicode" -msgstr "" +msgstr "Unicode" #: core/os/input_event.cpp msgid "Echo" @@ -980,7 +956,7 @@ msgstr "" #: core/register_core_types.cpp msgid "TCP" -msgstr "" +msgstr "TCP" #: core/register_core_types.cpp #, fuzzy @@ -4694,6 +4670,7 @@ msgstr "Overig project of scène-brede hulpmiddelen." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Project" @@ -5608,7 +5585,7 @@ msgstr "Voorbeeld..." #: editor/editor_settings.cpp msgid "Docks" -msgstr "" +msgstr "panelen" #: editor/editor_settings.cpp #, fuzzy @@ -7246,7 +7223,7 @@ msgstr "" #: editor/import/resource_importer_layered_texture.cpp #: editor/import/resource_importer_texture.cpp msgid "sRGB" -msgstr "" +msgstr "sRGB" #: editor/import/resource_importer_layered_texture.cpp #, fuzzy @@ -7642,7 +7619,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -9765,7 +9743,7 @@ msgstr "Plat 0" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat 1" -msgstr "Plat 1" +msgstr "Vlak 1" #: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp msgid "Ease In" @@ -11497,7 +11475,7 @@ msgstr "Hoekpunten" #: 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." @@ -15838,18 +15816,19 @@ msgstr "" msgid "Make Local" msgstr "Maak locaal" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Knoopnaam:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "Naam wordt al gebruikt door een andere functie, variabele of signaal:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Knoopnaam:" #: editor/scene_tree_dock.cpp @@ -16047,6 +16026,11 @@ msgid "Button Group" msgstr "Knoppen Groep" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Knoopnaam:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(Verbonden vanaf)" @@ -16122,6 +16106,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "Ongeldige knoopnaam, deze karakters zijn niet toegestaan:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "Knoop hernoemen" @@ -18052,6 +18040,21 @@ msgstr "Vul selectie" msgid "Auto Update Project" msgstr "Naamloos Project" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Alles tonen" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Kies een map" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Kies een map" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "Einde van innerlijke exception stack trace" @@ -18613,7 +18616,7 @@ msgstr "" #: modules/visual_script/visual_script_flow_control.cpp msgid "While" -msgstr "" +msgstr "Terwijl" #: modules/visual_script/visual_script_flow_control.cpp msgid "while (cond):" @@ -18952,7 +18955,7 @@ msgstr "Zoek VisualScript" #: modules/visual_script/visual_script_yield_nodes.cpp msgid "Yield" -msgstr "" +msgstr "Opgeven" #: modules/visual_script/visual_script_yield_nodes.cpp msgid "Wait" @@ -19934,6 +19937,11 @@ msgstr "Knopen knippen" msgid "Custom BG Color" msgstr "Knopen knippen" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Alles uitklappen" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20791,6 +20799,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "Ongeldige pakket korte naam." @@ -25121,7 +25135,7 @@ msgstr "" #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Caret" -msgstr "" +msgstr "Invoercursor" #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Blink" @@ -28727,7 +28741,7 @@ msgstr "" #: servers/visual_server.cpp #, fuzzy msgid "Use Batching In Editor" -msgstr "Editor afsluiten?" +msgstr "Gebruik Batching In Editor" #: servers/visual_server.cpp msgid "Single Rect Fallback" @@ -28785,9 +28799,8 @@ msgid "Enable High Float" msgstr "Prioriteit Inschakelen" #: servers/visual_server.cpp -#, fuzzy msgid "Precision" -msgstr "Stel expressie in" +msgstr "Precisie" #: servers/visual_server.cpp msgid "UV Contract" diff --git a/editor/translations/pl.po b/editor/translations/pl.po index 3e4664c317..7b7e680cff 100644 --- a/editor/translations/pl.po +++ b/editor/translations/pl.po @@ -63,13 +63,14 @@ # DK0492 <doriankaczmarek28@gmail.com>, 2022. # Dawid Skubij <davidsd@tlen.pl>, 2022. # kingofsponges <q.patex.q@gmail.com>, 2022. +# Patryk Morawski <gormit7@gmail.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-08-04 06:38+0000\n" -"Last-Translator: kingofsponges <q.patex.q@gmail.com>\n" +"PO-Revision-Date: 2022-08-17 18:20+0000\n" +"Last-Translator: Patryk Morawski <gormit7@gmail.com>\n" "Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/" "godot/pl/>\n" "Language: pl\n" @@ -4384,7 +4385,7 @@ msgstr "Zawsze Zamykaj Wyjście Po Zatrzymaniu" #: editor/editor_node.cpp msgid "Save On Focus Loss" -msgstr "" +msgstr "Zapisz przy utracie skupienia" #: editor/editor_node.cpp editor/editor_settings.cpp #, fuzzy @@ -4436,7 +4437,7 @@ msgstr "Ścieżka do projektu:" #: editor/editor_node.cpp msgid "Default Float Step" -msgstr "" +msgstr "Domyślny krok zmiennoprzecinkowy" #: editor/editor_node.cpp scene/gui/tree.cpp #, fuzzy @@ -4445,15 +4446,15 @@ msgstr "Wyłączony przycisk" #: editor/editor_node.cpp msgid "Auto Unfold Foreign Scenes" -msgstr "" +msgstr "Automatyczne rozwijanie zagranicznych scen" #: editor/editor_node.cpp msgid "Horizontal Vector2 Editing" -msgstr "" +msgstr "Edycja pozioma Vector2" #: editor/editor_node.cpp msgid "Horizontal Vector Types Editing" -msgstr "" +msgstr "Edycja poziomych typów wektorów" #: editor/editor_node.cpp #, fuzzy @@ -4578,6 +4579,7 @@ msgstr "Różne narzędzia dla scen lub projektu." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Projekt" @@ -5338,7 +5340,7 @@ msgstr "Pokaż wszystko" #: editor/editor_settings.cpp msgid "Custom Display Scale" -msgstr "" +msgstr "Niestandardowa skala wyświetlania" #: editor/editor_settings.cpp msgid "Main Font Size" @@ -5346,15 +5348,15 @@ msgstr "Rozmiar głównej czcionki" #: editor/editor_settings.cpp msgid "Code Font Size" -msgstr "" +msgstr "Rozmiar czcionki kodu" #: editor/editor_settings.cpp msgid "Font Antialiased" -msgstr "" +msgstr "Wygładzana czcionka" #: editor/editor_settings.cpp msgid "Font Hinting" -msgstr "" +msgstr "Czcionka podpowiedzi" #: editor/editor_settings.cpp #, fuzzy @@ -5377,11 +5379,11 @@ msgstr "Przygaś edytor przy wyskakującym oknie" #: editor/editor_settings.cpp main/main.cpp msgid "Low Processor Mode Sleep (µsec)" -msgstr "" +msgstr "Niski tryb uśpienia procesora (µsec)" #: editor/editor_settings.cpp msgid "Unfocused Low Processor Mode Sleep (µsec)" -msgstr "" +msgstr "Nieskoncentrowany tryb uśpienia w trybie niskiego procesora (µsec)" #: editor/editor_settings.cpp #, fuzzy @@ -5394,7 +5396,7 @@ msgstr "Automatycznie otwieraj zrzuty ekranu" #: editor/editor_settings.cpp msgid "Max Array Dictionary Items Per Page" -msgstr "" +msgstr "Maksymalna liczba pozycji słownika tablicy na stronie" #: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp scene/gui/control.cpp @@ -5408,7 +5410,7 @@ msgstr "Profil" #: editor/editor_settings.cpp msgid "Icon And Font Color" -msgstr "" +msgstr "Kolor ikony i czcionki" #: editor/editor_settings.cpp #, fuzzy @@ -5426,7 +5428,7 @@ msgstr "Kontrast" #: editor/editor_settings.cpp msgid "Relationship Line Opacity" -msgstr "" +msgstr "Przezroczystość linii relacji" #: editor/editor_settings.cpp #, fuzzy @@ -5440,7 +5442,7 @@ msgstr "Brzegowe piksele" #: editor/editor_settings.cpp msgid "Use Graph Node Headers" -msgstr "" +msgstr "Użyj wykresu nagłówków węzłów" #: editor/editor_settings.cpp #, fuzzy @@ -5484,7 +5486,7 @@ msgstr "Kopiuj zasób" #: editor/editor_settings.cpp msgid "Safe Save On Backup Then Rename" -msgstr "" +msgstr "Bezpieczne zapisywanie kopii zapasowej, a następnie zmiana nazwy" #: editor/editor_settings.cpp #, fuzzy @@ -5507,7 +5509,7 @@ msgstr "Pozyskaj drzewo sceny" #: editor/editor_settings.cpp msgid "Start Create Dialog Fully Expanded" -msgstr "" +msgstr "Rozpocznij tworzenie w pełni rozwiniętego okna dialogowego" #: editor/editor_settings.cpp #, fuzzy @@ -5559,7 +5561,7 @@ msgstr "Podświetl obecną linię" #: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp msgid "Highlight Type Safe Lines" -msgstr "" +msgstr "Wyróżnij typy bezpiecznych linii" #: editor/editor_settings.cpp #, fuzzy @@ -5598,7 +5600,7 @@ msgstr "Płynne przewijanie" #: editor/editor_settings.cpp scene/gui/text_edit.cpp msgid "V Scroll Speed" -msgstr "" +msgstr "Pionowa szybkość przewijania" #: editor/editor_settings.cpp #, fuzzy @@ -5611,7 +5613,7 @@ msgstr "Szerokość minimapy" #: editor/editor_settings.cpp msgid "Mouse Extra Buttons Navigate History" -msgstr "" +msgstr "Historia nawigacji dodatkowych przycisków myszy" #: editor/editor_settings.cpp #, fuzzy @@ -5620,7 +5622,7 @@ msgstr "Wybór GridMap" #: editor/editor_settings.cpp msgid "Stay In Script Editor On Node Selected" -msgstr "" +msgstr "Pozostań w edytorze skryptów na wybranym węźle" #: editor/editor_settings.cpp msgid "Appearance" @@ -5638,7 +5640,7 @@ msgstr "Numer linii:" #: editor/editor_settings.cpp msgid "Show Bookmark Gutter" -msgstr "" +msgstr "Pokaż ciek zakładek" #: editor/editor_settings.cpp #, fuzzy @@ -5647,23 +5649,23 @@ msgstr "Pomiń punkty wstrzymania" #: editor/editor_settings.cpp msgid "Show Info Gutter" -msgstr "" +msgstr "Pokaż ciek informacji" #: editor/editor_settings.cpp msgid "Code Folding" -msgstr "" +msgstr "Zawijanie kodu" #: editor/editor_settings.cpp msgid "Word Wrap" -msgstr "" +msgstr "Zawijanie tekstu" #: editor/editor_settings.cpp msgid "Show Line Length Guidelines" -msgstr "" +msgstr "Pokaż wytyczne dotyczące długości linii" #: editor/editor_settings.cpp msgid "Line Length Guideline Soft Column" -msgstr "" +msgstr "Wytyczne dotyczące długości linii miękkiej kolumny" #: editor/editor_settings.cpp msgid "Line Length Guideline Hard Column" @@ -7517,7 +7519,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15574,18 +15577,19 @@ msgstr "" msgid "Make Local" msgstr "Uczyń lokalnym" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Nazwa węzła:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "Nazwa jest już użyta przez inną funkcję/zmienną/sygnał:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Nazwa węzła:" #: editor/scene_tree_dock.cpp @@ -15787,6 +15791,11 @@ msgid "Button Group" msgstr "Grupa przycisków" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Nazwa węzła:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(łączony teraz)" @@ -15862,6 +15871,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "Nieprawidłowa nazwa węzła, następujące znaki są niedozwolone:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "Zmień nazwę węzła" @@ -17789,6 +17802,21 @@ msgstr "Zbuduj rozwiązanie" msgid "Auto Update Project" msgstr "Projekt bez nazwy" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Pokaż wszystko" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Wybierz katalog" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Wybierz katalog" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "Koniec śladu stosu wewnętrznego wyjątku" @@ -19645,6 +19673,11 @@ msgstr "NiestandardowyWęzeł" msgid "Custom BG Color" msgstr "NiestandardowyWęzeł" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Rozwiń wszystko" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20540,6 +20573,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "Niepoprawna krótka nazwa paczki." diff --git a/editor/translations/pr.po b/editor/translations/pr.po index 4c073f8542..e8e4e5c79d 100644 --- a/editor/translations/pr.po +++ b/editor/translations/pr.po @@ -4494,6 +4494,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "" @@ -7309,7 +7310,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15326,18 +15328,20 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Discharge ye' Signal" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "" +"Yer name be backstabin'! She be used by another dastardly func/var/signal:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Discharge ye' Signal" #: editor/scene_tree_dock.cpp @@ -15537,6 +15541,11 @@ msgstr "" #: editor/scene_tree_editor.cpp #, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Discharge ye' Signal" + +#: editor/scene_tree_editor.cpp +#, fuzzy msgid "(Connecting From)" msgstr "Slit th' Node" @@ -15601,6 +15610,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -17481,6 +17494,20 @@ msgstr "All yer Booty" msgid "Auto Update Project" msgstr "Rename Function" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Slit th' Node" + +#: modules/mono/godotsharp_dirs.cpp +msgid "Solution Directory" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Yer functions:" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -19295,6 +19322,11 @@ msgstr "Slit th' Node" msgid "Custom BG Color" msgstr "Slit th' Node" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Edit" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20127,6 +20159,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid package short name." msgstr "Yer unique name be evil." diff --git a/editor/translations/pt.po b/editor/translations/pt.po index f284e0ece8..271dcc1e8b 100644 --- a/editor/translations/pt.po +++ b/editor/translations/pt.po @@ -26,13 +26,15 @@ # Esdras Caleb Oliveira Silva <acheicaleb@gmail.com>, 2022. # Ednaldo Pereira Confia <filat51823@storypo.com>, 2022. # Zé Beato Página Oficial <zebeato@gmail.com>, 2022. +# Rafael Testa <rafael1testa@gmail.com>, 2022. +# Baiterson <baiter160@gmail.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-07-23 03:57+0000\n" -"Last-Translator: Zé Beato Página Oficial <zebeato@gmail.com>\n" +"PO-Revision-Date: 2022-08-25 13:04+0000\n" +"Last-Translator: Baiterson <baiter160@gmail.com>\n" "Language-Team: Portuguese <https://hosted.weblate.org/projects/godot-engine/" "godot/pt/>\n" "Language: pt\n" @@ -410,9 +412,8 @@ msgid "Command" msgstr "Comando" #: core/os/input_event.cpp -#, fuzzy msgid "Physical" -msgstr " (Físico)" +msgstr "Físico" #: core/os/input_event.cpp scene/2d/touch_screen_button.cpp #: scene/gui/base_button.cpp scene/gui/texture_button.cpp @@ -466,7 +467,7 @@ msgstr "Pressione" #: core/os/input_event.cpp msgid "Pen Inverted" -msgstr "" +msgstr "Caneta Invertida" #: core/os/input_event.cpp msgid "Relative" @@ -2754,9 +2755,8 @@ msgid "Project export for platform:" msgstr "Exportação do projeto para plataforma:" #: editor/editor_export.cpp -#, fuzzy msgid "Completed with warnings." -msgstr "Concluído com erros." +msgstr "Concluído com advertências." #: editor/editor_export.cpp msgid "Completed successfully." @@ -2779,29 +2779,24 @@ msgid "Packing" msgstr "Empacotamento" #: editor/editor_export.cpp -#, fuzzy msgid "Save PCK" -msgstr "Guardar Como" +msgstr "Salvar Como PCK" #: editor/editor_export.cpp -#, fuzzy msgid "Cannot create file \"%s\"." -msgstr "Não consegui criar pasta." +msgstr "Não pôde criar arquivo \"%s\"." #: editor/editor_export.cpp -#, fuzzy msgid "Failed to export project files." -msgstr "Incapaz de exportar ficheiros do projeto" +msgstr "Falha ao exportar arquivos do projeto." #: editor/editor_export.cpp -#, fuzzy msgid "Can't open file to read from path \"%s\"." -msgstr "Incapaz de abrir o ficheiro para escrita:" +msgstr "Incapaz de abrir o arquivo pelo caminho \"%s\"." #: editor/editor_export.cpp -#, fuzzy msgid "Save ZIP" -msgstr "Guardar Como" +msgstr "Salvar como ZIP" #: editor/editor_export.cpp msgid "" @@ -2862,9 +2857,8 @@ msgstr "" #: editor/editor_export.cpp platform/android/export/export_plugin.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp -#, fuzzy msgid "Custom Template" -msgstr "Editor de Tema" +msgstr "Modelo customizado" #: editor/editor_export.cpp editor/project_export.cpp #: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp @@ -2886,9 +2880,8 @@ msgid "Embed PCK" msgstr "Incorporar PCK" #: editor/editor_export.cpp platform/osx/export/export.cpp -#, fuzzy msgid "Texture Format" -msgstr "TextureRegion" +msgstr "Formato de Textura" #: editor/editor_export.cpp msgid "BPTC" @@ -2924,12 +2917,10 @@ msgid "Custom release template not found." msgstr "Modelo de lançamento personalizado não encontrado." #: editor/editor_export.cpp -#, fuzzy msgid "Prepare Template" -msgstr "Gerir Modelos" +msgstr "Preparar Modelos" #: editor/editor_export.cpp platform/osx/export/export.cpp -#, fuzzy msgid "The given export path doesn't exist." msgstr "O caminho de exportação não existe:" @@ -2938,15 +2929,13 @@ msgid "Template file not found: \"%s\"." msgstr "Ficheiro Modelo não encontrado" #: editor/editor_export.cpp -#, fuzzy msgid "Failed to copy export template." -msgstr "Modelo de exportação inválido:" +msgstr "Falha ao copiar Modelo de exportação." #: editor/editor_export.cpp platform/windows/export/export.cpp #: platform/x11/export/export.cpp -#, fuzzy msgid "PCK Embedding" -msgstr "Preenchimento" +msgstr "Encorporar PCK" #: editor/editor_export.cpp msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB." @@ -3160,9 +3149,8 @@ msgid "Manage Editor Feature Profiles" msgstr "Gerir Editor Perfis de Funcionalidades" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Default Feature Profile" -msgstr "Perfil de Funcionalidades Godot" +msgstr "Perfil de Funcionalidades padrão" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select Current Folder" @@ -3252,9 +3240,8 @@ msgstr "Modo de Visualização" #: scene/resources/environment.cpp scene/resources/material.cpp #: scene/resources/visual_shader.cpp #: servers/audio/effects/audio_effect_distortion.cpp -#, fuzzy msgid "Mode" -msgstr "Modo deslocamento" +msgstr "Modo" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Current Dir" @@ -3270,9 +3257,8 @@ msgstr "Caminho Atual" #: editor/editor_file_dialog.cpp editor/editor_settings.cpp #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Show Hidden Files" -msgstr "Alternar Ficheiros Escondidos" +msgstr "Mostrar arquivos ocultos" #: editor/editor_file_dialog.cpp msgid "Disable Overwrite Warning" @@ -3570,24 +3556,20 @@ msgid "Property:" msgstr "Propriedade:" #: editor/editor_inspector.cpp editor/editor_spin_slider.cpp -#, fuzzy msgid "Label" -msgstr "Valor" +msgstr "Texto" #: editor/editor_inspector.cpp editor/editor_spin_slider.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Read Only" -msgstr "Apenas Métodos" +msgstr "Apenas Leitura" #: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp -#, fuzzy msgid "Checkable" msgstr "Marcar item" #: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Checked" msgstr "Item Marcado" @@ -3596,7 +3578,6 @@ msgid "Draw Red" msgstr "Desenhar Vermelho" #: editor/editor_inspector.cpp -#, fuzzy msgid "Keying" msgstr "Executar" @@ -3962,14 +3943,12 @@ msgid "Quick Open Script..." msgstr "Abrir Script de forma rápida..." #: editor/editor_node.cpp -#, fuzzy msgid "Save & Reload" -msgstr "Guardar & Reiniciar" +msgstr "Salvar E Reiniciar" #: editor/editor_node.cpp -#, fuzzy msgid "Save changes to '%s' before reloading?" -msgstr "Guardar alterações a '%s' antes de fechar?" +msgstr "Salvar alterações '%s' antes de reiniciar?" #: editor/editor_node.cpp msgid "Save & Close" @@ -4088,9 +4067,8 @@ msgid "Open Project Manager?" msgstr "Abrir Gestor de Projeto?" #: editor/editor_node.cpp -#, fuzzy msgid "Save changes to the following scene(s) before reloading?" -msgstr "Guardar alterações da(s) seguinte(s) cena(s) antes de sair?" +msgstr "Salvar alterações da(s) seguinte(s) cena(s) antes de reiniciar?" #: editor/editor_node.cpp msgid "Save & Quit" @@ -4283,19 +4261,16 @@ msgstr "" #: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp #: servers/arvr/arvr_interface.cpp -#, fuzzy msgid "Interface" -msgstr "Interface do Utilizador" +msgstr "Interface" #: editor/editor_node.cpp editor/editor_settings.cpp -#, fuzzy msgid "Scene Tabs" -msgstr "Trocar Aba de Cena" +msgstr "Abas da Cena" #: editor/editor_node.cpp -#, fuzzy msgid "Always Show Close Button" -msgstr "Mostrar Grelha Sempre" +msgstr "Sempre mostrar o Botão de Fechar" #: editor/editor_node.cpp editor/editor_settings.cpp msgid "Resize If Many Tabs" @@ -4310,9 +4285,8 @@ msgid "Output" msgstr "Saída" #: editor/editor_node.cpp editor/editor_settings.cpp -#, fuzzy msgid "Always Clear Output On Play" -msgstr "Limpar Saída" +msgstr "Sempre Apagar Output quando Iniciar" #: editor/editor_node.cpp editor/editor_settings.cpp msgid "Always Open Output On Play" @@ -4327,19 +4301,16 @@ msgid "Save On Focus Loss" msgstr "Salvar ao Perder o Foco" #: editor/editor_node.cpp editor/editor_settings.cpp -#, fuzzy msgid "Save Each Scene On Quit" -msgstr "Guardar Ramo como Cena" +msgstr "Salvar Cada Cena ao Sair" #: editor/editor_node.cpp editor/editor_settings.cpp -#, fuzzy msgid "Quit Confirmation" -msgstr "Ver informação" +msgstr "Confirmação de Saida" #: editor/editor_node.cpp -#, fuzzy msgid "Show Update Spinner" -msgstr "Esconder Roleta de Atualização" +msgstr "Mostra Ícone de Atualização" #: editor/editor_node.cpp msgid "Update Continuously" @@ -4350,14 +4321,12 @@ msgid "Update Vital Only" msgstr "Só Atualizar Vital" #: editor/editor_node.cpp -#, fuzzy msgid "Localize Settings" -msgstr "Localização" +msgstr "Configuração de tradução" #: editor/editor_node.cpp -#, fuzzy msgid "Restore Scenes On Load" -msgstr "Obter Nó da Cena" +msgstr "Restaurar Cenas quando carregar" #: editor/editor_node.cpp editor/editor_settings.cpp msgid "Show Thumbnail On Hover" @@ -4376,7 +4345,6 @@ msgid "Default Float Step" msgstr "FloatStep Padrão" #: editor/editor_node.cpp scene/gui/tree.cpp -#, fuzzy msgid "Disable Folding" msgstr "Desativar Botão" @@ -4393,14 +4361,12 @@ msgid "Horizontal Vector Types Editing" msgstr "Edição de Tipo de Vetor Horizontal" #: editor/editor_node.cpp -#, fuzzy msgid "Open Resources In Current Inspector" -msgstr "Abrir no Inspetor" +msgstr "Abrir Recursos no Inspetor atual" #: editor/editor_node.cpp -#, fuzzy msgid "Resources To Open In New Inspector" -msgstr "Abrir no Inspetor" +msgstr "Abrir Recursos em um novo Inspetor" #: editor/editor_node.cpp msgid "Default Color Picker Mode" @@ -4514,6 +4480,7 @@ msgstr "Ferramentas diversas de projeto ou cena." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Projeto" @@ -4792,9 +4759,8 @@ msgid "Save & Restart" msgstr "Guardar & Reiniciar" #: editor/editor_node.cpp -#, fuzzy msgid "Update All Changes" -msgstr "Atualizar quando há Alterações" +msgstr "Atualizar todas as Mudanças" #: editor/editor_node.cpp msgid "Update Vital Changes" @@ -5062,9 +5028,8 @@ msgid "Profiler Frame History Size" msgstr "Tamanho do Histórico do Perfilador de Quadro" #: editor/editor_profiler.cpp -#, fuzzy msgid "Profiler Frame Max Functions" -msgstr "Mudar nome da Função" +msgstr "Profiler Frame Max Funções" #: editor/editor_properties.cpp msgid "Edit Text:" @@ -5133,9 +5098,8 @@ msgid "Size:" msgstr "Tamanho:" #: editor/editor_properties_array_dict.cpp -#, fuzzy msgid "Page:" -msgstr "Página: " +msgstr "Página:" #: editor/editor_properties_array_dict.cpp #: editor/plugins/theme_editor_plugin.cpp @@ -5197,18 +5161,15 @@ msgstr "Novo %s" #: modules/visual_script/visual_script_func_nodes.cpp #: modules/visual_script/visual_script_nodes.cpp #: modules/visual_script/visual_script_yield_nodes.cpp -#, fuzzy msgid "Base Type" msgstr "Mudar tipo base" #: editor/editor_resource_picker.cpp -#, fuzzy msgid "Edited Resource" -msgstr "Adicionar recurso" +msgstr "Recurso Editado" #: editor/editor_resource_picker.cpp scene/gui/line_edit.cpp #: scene/gui/slider.cpp scene/gui/spin_box.cpp -#, fuzzy msgid "Editable" msgstr "Item Editável" @@ -5236,7 +5197,6 @@ msgstr "" "definido existente como executável." #: editor/editor_run_native.cpp -#, fuzzy msgid "Project Run" msgstr "Projeto" @@ -5265,14 +5225,12 @@ msgid "Did you forget the '_run' method?" msgstr "Esqueceu-se do método '_run'?" #: editor/editor_settings.cpp -#, fuzzy msgid "Editor Language" -msgstr "Apresentação do Editor" +msgstr "Linguagem do Editor" #: editor/editor_settings.cpp -#, fuzzy msgid "Display Scale" -msgstr "Mostrar Tudo" +msgstr "Escala do Editor" #: editor/editor_settings.cpp msgid "Custom Display Scale" @@ -5295,18 +5253,16 @@ msgid "Font Hinting" msgstr "Alinhar Fonte" #: editor/editor_settings.cpp -#, fuzzy msgid "Main Font" -msgstr "Cena Principal" +msgstr "Fonte Principal" #: editor/editor_settings.cpp msgid "Main Font Bold" msgstr "Fonte Principal em Negrito" #: editor/editor_settings.cpp -#, fuzzy msgid "Code Font" -msgstr "Adicionar Ponto Nó" +msgstr "Fonte do Código" #: editor/editor_settings.cpp msgid "Dim Editor On Dialog Popup" @@ -5321,7 +5277,6 @@ msgid "Unfocused Low Processor Mode Sleep (µsec)" msgstr "Duração do Modo de Baixo Consumo do Processador Fora de Foco (µsec)" #: editor/editor_settings.cpp -#, fuzzy msgid "Separate Distraction Mode" msgstr "Modo Livre de Distrações" @@ -5412,9 +5367,8 @@ msgid "Safe Save On Backup Then Rename" msgstr "Salvar com Segurança no Backup e Renomear" #: editor/editor_settings.cpp -#, fuzzy msgid "File Dialog" -msgstr "Diálogo XForm" +msgstr "Arquivo de Diálogo" #: editor/editor_settings.cpp msgid "Thumbnail Size" @@ -5425,37 +5379,32 @@ msgid "Docks" msgstr "Painéis" #: editor/editor_settings.cpp -#, fuzzy msgid "Scene Tree" -msgstr "Obter Árvore da Cena" +msgstr "Grupo de Cenas" #: editor/editor_settings.cpp msgid "Start Create Dialog Fully Expanded" msgstr "Iniciar Diálogo de Criação Totalmente Expandido" #: editor/editor_settings.cpp -#, fuzzy msgid "Always Show Folders" -msgstr "Mostrar Grelha Sempre" +msgstr "Sempre mostrar Pastas" #: editor/editor_settings.cpp -#, fuzzy msgid "Property Editor" -msgstr "Editor de Grupo" +msgstr "Editor de propriedades" #: editor/editor_settings.cpp msgid "Auto Refresh Interval" msgstr "Intervalo de Atualização Automática" #: editor/editor_settings.cpp -#, fuzzy msgid "Subresource Hue Tint" -msgstr "Sub-recursos" +msgstr "Sub-recursos Cor Hue" #: editor/editor_settings.cpp -#, fuzzy msgid "Color Theme" -msgstr "Editor de Tema" +msgstr "Cor do Tema" #: editor/editor_settings.cpp scene/3d/label_3d.cpp #: scene/resources/default_theme/default_theme.cpp @@ -5468,9 +5417,8 @@ msgid "Highlighting" msgstr "Destaque" #: editor/editor_settings.cpp scene/gui/text_edit.cpp -#, fuzzy msgid "Syntax Highlighting" -msgstr "Destaque de Sintaxe" +msgstr "Destaque da Sintaxe" #: editor/editor_settings.cpp scene/gui/text_edit.cpp msgid "Highlight All Occurrences" @@ -5485,18 +5433,16 @@ msgid "Highlight Type Safe Lines" msgstr "Destacar Linhas com Tipo Seguro" #: editor/editor_settings.cpp -#, fuzzy msgid "Indent" -msgstr "Indentar à esquerda" +msgstr "Indentar" #: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp msgid "Auto Indent" msgstr "Indentação Automática" #: editor/editor_settings.cpp -#, fuzzy msgid "Convert Indent On Save" -msgstr "Converter Indentação em Espaços" +msgstr "Converter Indentação ao Salvar" #: editor/editor_settings.cpp scene/gui/text_edit.cpp msgid "Draw Tabs" @@ -5522,9 +5468,8 @@ msgid "V Scroll Speed" msgstr "Velocidade de Rolagem V" #: editor/editor_settings.cpp -#, fuzzy msgid "Show Minimap" -msgstr "Mostrar Origem" +msgstr "Mostrar Minimapa" #: editor/editor_settings.cpp msgid "Minimap Width" @@ -5535,13 +5480,12 @@ msgid "Mouse Extra Buttons Navigate History" msgstr "Botões extra do Mouse para Navegar no Histórico" #: editor/editor_settings.cpp -#, fuzzy msgid "Drag And Drop Selection" -msgstr "Seleção de GridMap" +msgstr "Arrastar e soltar" #: editor/editor_settings.cpp msgid "Stay In Script Editor On Node Selected" -msgstr "" +msgstr "Manter editor de script no Nodo selecionado" #: editor/editor_settings.cpp msgid "Appearance" @@ -5560,9 +5504,8 @@ msgid "Show Bookmark Gutter" msgstr "Mostrar Barra de Favoritos" #: editor/editor_settings.cpp -#, fuzzy msgid "Show Breakpoint Gutter" -msgstr "Saltar Pontos de Paragem" +msgstr "Mostrar Pontos de Parada" #: editor/editor_settings.cpp msgid "Show Info Gutter" @@ -5589,23 +5532,20 @@ msgid "Line Length Guideline Hard Column" msgstr "Diretriz de Comprimento de Linha de Coluna Rígida" #: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Script List" -msgstr "Editor de Script" +msgstr "Lista de Scripts" #: editor/editor_settings.cpp msgid "Show Members Overview" msgstr "Mostrar Visão Geral dos Membros" #: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Files" -msgstr "Ficheiro" +msgstr "Arquivos" #: editor/editor_settings.cpp -#, fuzzy msgid "Trim Trailing Whitespace On Save" -msgstr "Apagar Espaços nos Limites" +msgstr "Apagar Espaços nos Limites ao Salvar" #: editor/editor_settings.cpp msgid "Autosave Interval Secs" @@ -5624,9 +5564,8 @@ msgid "Auto Reload Scripts On External Change" msgstr "Recarregamento Automático de Scripts em Caso de Mudança Externa" #: editor/editor_settings.cpp -#, fuzzy msgid "Create Signal Callbacks" -msgstr "Forçar Shader de Reserva" +msgstr "Criar Sinais de Chamadas" #: editor/editor_settings.cpp msgid "Sort Members Outline Alphabetically" @@ -7369,7 +7308,8 @@ msgid "8 Bit" msgstr "8 Bits" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "Mono" @@ -15402,18 +15342,19 @@ msgstr "" msgid "Make Local" msgstr "Tornar Local" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "Outro nó já usa esse nome exclusivo na cena." - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Nome do Nó:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "Outro nó já usa esse nome exclusivo na cena." + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Nome do Nó:" #: editor/scene_tree_dock.cpp @@ -15615,6 +15556,11 @@ msgid "Button Group" msgstr "Grupo Botão" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Nome do Nó:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(A Ligar de)" @@ -15693,6 +15639,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "Nome de nó inválido, os caracteres seguintes não são permitidos:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "Outro nó já usa esse nome exclusivo na cena." + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "Renomear Nó" @@ -17563,6 +17513,21 @@ msgstr "Construir Solução" msgid "Auto Update Project" msgstr "Projeto sem nome" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Mostrar Tudo" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Escolha uma Diretoria" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Escolha uma Diretoria" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "Fim do stack trace de exceção interna" @@ -19412,6 +19377,11 @@ msgstr "CustomNode" msgid "Custom BG Color" msgstr "CustomNode" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Expandir Tudo" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20266,6 +20236,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "Nome curto de pacote inválido." @@ -28344,7 +28320,7 @@ msgstr "Modo de Interpolação" #: servers/visual_server.cpp msgid "Max Simultaneous Compiles" -msgstr "" +msgstr "Compilação simultânea Maxima" #: servers/visual_server.cpp msgid "Log Active Async Compiles Count" diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po index 84a5ac45c3..4541da85ee 100644 --- a/editor/translations/pt_BR.po +++ b/editor/translations/pt_BR.po @@ -144,13 +144,20 @@ # Ednaldo Pereira Confia <filat51823@storypo.com>, 2022. # Mauricio <mauricio.fidalgo1@gmail.com>, 2022. # Felipe Kinoshita <kinofhek@gmail.com>, 2022. +# TLAliceDev <calicedev@protonmail.com>, 2022. +# Mr.Albino <ricmorsoleto@gmail.com>, 2022. +# Jaide Alonso Ambrosio <jaide.sp@gmail.com>, 2022. +# Paulo Sergio Campos de Lima <cloverfieldor@gmail.com>, 2022. +# Avery <jarreed0@gmail.com>, 2022. +# TheJC <the-green-green.0rvdk@simplelogin.fr>, 2022. +# Mauricio Mazur <mauricio.mazur12@gmail.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: 2016-05-30\n" -"PO-Revision-Date: 2022-08-04 06:38+0000\n" -"Last-Translator: Felipe Kinoshita <kinofhek@gmail.com>\n" +"PO-Revision-Date: 2022-09-05 11:17+0000\n" +"Last-Translator: TheJC <the-green-green.0rvdk@simplelogin.fr>\n" "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/" "godot-engine/godot/pt_BR/>\n" "Language: pt_BR\n" @@ -158,7 +165,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.14-dev\n" +"X-Generator: Weblate 4.14.1-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" @@ -363,7 +370,7 @@ msgstr "Página lida adiante" #: core/io/http_client.cpp msgid "Blocking Mode Enabled" -msgstr "Modo de Bloqueio Ativado" +msgstr "Modo de bloqueio Ativado" #: core/io/http_client.cpp msgid "Connection" @@ -929,7 +936,7 @@ msgstr "Profilador" #: core/project_settings.cpp msgid "Max Functions" -msgstr "Funções máximas" +msgstr "Máximo de Funções" #: core/project_settings.cpp scene/3d/vehicle_body.cpp msgid "Compression" @@ -1121,7 +1128,7 @@ msgstr "Máximo de luzes renderizáveis" #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Max Renderable Reflections" -msgstr "Máximo de Reflexões Renderizáveis" +msgstr "Máximo de Reflexos renderizáveis" #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Max Lights Per Object" @@ -1668,7 +1675,7 @@ msgstr "Adicionar Trilha Bezier" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a key." -msgstr "Caminho da faixa é inválido, então não pode adicionar uma chave." +msgstr "Caminho da trilha é inválido, então não pode adicionar uma chave." #: editor/animation_track_editor.cpp msgid "Track is not of type Spatial, can't insert key" @@ -2868,9 +2875,8 @@ msgid "Project export for platform:" msgstr "Exportação do projeto para plataforma:" #: editor/editor_export.cpp -#, fuzzy msgid "Completed with warnings." -msgstr "Concluído com erros." +msgstr "Concluído com avisos." #: editor/editor_export.cpp msgid "Completed successfully." @@ -2992,7 +2998,7 @@ msgstr "64 Bits" #: editor/editor_export.cpp msgid "Embed PCK" -msgstr "PCK Incorporado" +msgstr "Embutir PCK" #: editor/editor_export.cpp platform/osx/export/export.cpp msgid "Texture Format" @@ -4598,6 +4604,7 @@ msgstr "Ferramentas diversas atuantes no projeto ou cena." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Projeto" @@ -5605,7 +5612,7 @@ msgstr "Seleção Arrasta e Solta" #: editor/editor_settings.cpp msgid "Stay In Script Editor On Node Selected" -msgstr "" +msgstr "Ficar no Editor de Script ao Selecionar Nó" #: editor/editor_settings.cpp msgid "Appearance" @@ -5819,7 +5826,7 @@ msgstr "Junção" #: scene/resources/particles_material.cpp servers/physics_2d_server.cpp #: servers/physics_server.cpp msgid "Shape" -msgstr "Form" +msgstr "Forma" #: editor/editor_settings.cpp msgid "Primary Grid Steps" @@ -7234,7 +7241,7 @@ msgstr "Importando Cena..." #: editor/import/resource_importer_scene.cpp msgid "Generating Lightmaps" -msgstr "Generando Lightmaps" +msgstr "Gerando Lightmaps" #: editor/import/resource_importer_scene.cpp msgid "Generating for Mesh:" @@ -7299,7 +7306,7 @@ msgstr "Modo HDR" #: editor/import/resource_importer_texture.cpp msgid "BPTC LDR" -msgstr "" +msgstr "BPTC LDR" #: editor/import/resource_importer_texture.cpp #: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp @@ -7318,7 +7325,7 @@ msgstr "Corrigir Alpha da Borda" #: editor/import/resource_importer_texture.cpp msgid "Premult Alpha" -msgstr "" +msgstr "Pré-Multiplicar Alpha" #: editor/import/resource_importer_texture.cpp msgid "Hdr As Srgb" @@ -7378,7 +7385,8 @@ msgid "8 Bit" msgstr "8 Bits" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "Mono" @@ -11724,9 +11732,8 @@ msgid "New Animation" msgstr "Nova animação" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Filter animations" -msgstr "Filtrar métodos" +msgstr "Filtrar animações" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed:" @@ -12529,9 +12536,8 @@ msgid "Palette Min Width" msgstr "Largura Mínima de Paleta" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Palette Item H Separation" -msgstr "Separador Nomeado" +msgstr "Separação Horizontal dos Itens de Paleta" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Show Tile Names" @@ -12560,9 +12566,8 @@ msgid "Display Grid" msgstr "Mostrar Grid" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Axis Color" -msgstr "Escolher Cor" +msgstr "Cor do Eixo" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Add Texture(s) to TileSet." @@ -12606,7 +12611,7 @@ msgstr "Coordenada Anterior" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Select the previous shape, subtile, or Tile." -msgstr "Selecione a forma, subtile ou tile anterior." +msgstr "Selecione a forma anterior, subtile ou Tile." #: editor/plugins/tile_set_editor_plugin.cpp scene/2d/sprite.cpp #: scene/3d/sprite_3d.cpp scene/resources/texture.cpp @@ -12714,7 +12719,7 @@ msgstr "Ative o snap e mostre a grade (configurável através do Inspetor)." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Display Tile Names (Hold Alt Key)" -msgstr "Exibir nomes de mosaico (segure a tecla Alt)" +msgstr "Exibir nomes dos Tiles (segure a tecla Alt)" #: editor/plugins/tile_set_editor_plugin.cpp msgid "" @@ -12725,7 +12730,8 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove selected texture? This will remove all tiles which use it." -msgstr "Remover Texture Selecionada e TODAS PEÇAS que a usam." +msgstr "" +"Remover textura selecionada? Todos os tiles que a usam serão removidos." #: editor/plugins/tile_set_editor_plugin.cpp msgid "You haven't selected a texture to remove." @@ -12733,7 +12739,7 @@ msgstr "Você não selecionou uma textura para remover." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from scene? This will overwrite all current tiles." -msgstr "Criar a partir de cena? Isso substituirá todos os blocos atuais." +msgstr "Criar a partir de cena? Isso substituirá todos os tiles atuais." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from scene?" @@ -12753,7 +12759,7 @@ msgid "" "Click on another Tile to edit it." msgstr "" "Arraste alças para editar o Rect.\n" -"Clique em outro Mosaico para editá-lo." +"Clique em outro Tile para editá-lo." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Delete selected Rect." @@ -12764,8 +12770,8 @@ msgid "" "Select current edited sub-tile.\n" "Click on another Tile to edit it." msgstr "" -"Selecione o sub-bloco editado atual.\n" -"Clique em outro Mosaico para editá-lo." +"Selecione o sub-tile editado atual.\n" +"Clique em outro Tile para editá-lo." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Delete polygon." @@ -12781,7 +12787,7 @@ msgstr "" "LMB: Ligar bit.\n" "RMB: Desligar bit.\n" "Shift+LMB: Escolher bit curinga.\n" -"Clique em outro Mosaico para editá-lo." +"Clique em outro Tile para editá-lo." #: editor/plugins/tile_set_editor_plugin.cpp msgid "" @@ -12789,41 +12795,41 @@ msgid "" "bindings.\n" "Click on another Tile to edit it." msgstr "" -"Selecione o sub-bloco para usar como ícone, isso também será usado em " -"ligações inválidas do autotile.\n" -"Clique em outro Mosaico para editá-lo." +"Selecione o sub-tile para usar como ícone, ele também será usado em ligações " +"inválidas do autotile.\n" +"Clique em outro Tile para editá-lo." #: editor/plugins/tile_set_editor_plugin.cpp msgid "" "Select sub-tile to change its priority.\n" "Click on another Tile to edit it." msgstr "" -"Selecione o sub-bloco para alterar sua prioridade.\n" -"Clique em outro Mosaico para editá-lo." +"Selecione o sub-tile para alterar sua prioridade.\n" +"Clique em outro Tile para editá-lo." #: editor/plugins/tile_set_editor_plugin.cpp msgid "" "Select sub-tile to change its z index.\n" "Click on another Tile to edit it." msgstr "" -"Selecione o sub-bloco para alterar seu índice z.\n" -"Clique em outro Mosaico para editá-lo." +"Selecione o sub-tile para alterar seu índice z.\n" +"Clique em outro Tile para editá-lo." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Set Tile Region" -msgstr "Definir a região do Mosaico" +msgstr "Definir a região do Tile" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create Tile" -msgstr "Criar Telha" +msgstr "Criar Tile" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Set Tile Icon" -msgstr "Definir ícone de telha" +msgstr "Definir Ícone do Tile" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Edit Tile Bitmask" -msgstr "Editar o Bitmask da telha" +msgstr "Editar o Bitmask do Tile" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Edit Collision Polygon" @@ -12839,11 +12845,11 @@ msgstr "Editar polígono de navegação" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Paste Tile Bitmask" -msgstr "Colar Máscara Bitmask" +msgstr "Colar Bitmask de Tile" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Clear Tile Bitmask" -msgstr "Limpar o Bitmask da telha" +msgstr "Limpar Bitmask do Tile" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Make Polygon Concave" @@ -12855,7 +12861,7 @@ msgstr "Tornar o Polígono Convexo" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" -msgstr "Remover Telha" +msgstr "Remover Tile" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Collision Polygon" @@ -12871,11 +12877,11 @@ msgstr "Remover Polígono de Navegação" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Edit Tile Priority" -msgstr "Editar prioridade da telha" +msgstr "Editar Prioridade do Tile" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Edit Tile Z Index" -msgstr "Editar índice de telha Z" +msgstr "Editar Índice Z do Tile" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Make Convex" @@ -12898,9 +12904,8 @@ msgid "This property can't be changed." msgstr "Esta propriedade não pode ser alterada." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Snap Options" -msgstr "Opções de encaixe" +msgstr "Opções de Encaixe" #: editor/plugins/tile_set_editor_plugin.cpp scene/2d/animated_sprite.cpp #: scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp @@ -12941,9 +12946,8 @@ msgid "Texture" msgstr "Textura" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Tex Offset" -msgstr "Deslocamento do Byte" +msgstr "Deslocamento da Textura" #: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp #: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp @@ -12953,31 +12957,28 @@ msgstr "Material" #: editor/plugins/tile_set_editor_plugin.cpp scene/2d/canvas_item.cpp #: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/style_box.cpp -#, fuzzy msgid "Modulate" -msgstr "Popular" +msgstr "Modular" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Tile Mode" msgstr "Modo de Tiles" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Autotile Bitmask Mode" -msgstr "Modo Bitmask" +msgstr "Modo Bitmask do Autotile" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Subtile Size" -msgstr "Tamanho do Sub Título" +msgstr "Tamanho do Subtile" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Subtile Spacing" msgstr "Espaçamento dos Subtiles" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Occluder Offset" -msgstr "Criar Polígono de Oclusão" +msgstr "Deslocamento de Oclusor" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Navigation Offset" @@ -12996,9 +12997,8 @@ msgid "Selected Collision" msgstr "Colisão Selecionada" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Selected Collision One Way" -msgstr "Selecionar Apenas" +msgstr "Colisão em sentido único selecionada" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -13019,7 +13019,7 @@ msgstr "Scripts do Tileset" #: editor/plugins/tile_set_editor_plugin.cpp msgid "TileSet" -msgstr "Conjunto de Telha" +msgstr "TileSet" #: editor/plugins/version_control_editor_plugin.cpp msgid "No VCS plugins are available." @@ -13054,7 +13054,7 @@ msgstr "Commit:" #: editor/plugins/version_control_editor_plugin.cpp msgid "Date:" -msgstr "Encontro:" +msgstr "Data:" #: editor/plugins/version_control_editor_plugin.cpp msgid "Subtitle:" @@ -13158,6 +13158,7 @@ msgid "Remove Remote" msgstr "Remover remoto" #: editor/plugins/version_control_editor_plugin.cpp +#, fuzzy msgid "Remote Name" msgstr "Nome Remoto" @@ -15373,19 +15374,20 @@ msgstr "" msgid "Make Local" msgstr "Tornar Local" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "Outro nó já está usando este nome único na cena atual." +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Enable Scene Unique Name(s)" +msgstr "Habilitar Nome Único de Cena" #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" -msgstr "Nome Único" +msgid "Unique names already used by another node in the scene:" +msgstr "Outro nó já está usando este nome único na cena atual." -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" -msgstr "Nome Único" +msgid "Disable Scene Unique Name(s)" +msgstr "Desabilitar Nome Único de Cena" #: editor/scene_tree_dock.cpp msgid "New Scene Root" @@ -15586,6 +15588,10 @@ msgid "Button Group" msgstr "Grupo de Botões" #: editor/scene_tree_editor.cpp +msgid "Disable Scene Unique Name" +msgstr "Desabilitar Nome Único de Cena" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(Conectando de)" @@ -15664,6 +15670,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "Nome de nó inválido, os seguintes caracteres não são permitidos:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "Outro nó já está usando este nome único na cena atual." + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "Renomear Nó" @@ -15888,9 +15898,8 @@ msgid "Stack Frames" msgstr "Pilha de Quadros" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Filter stack variables" -msgstr "Filtros do tile" +msgstr "Filtrar variáveis stack" #: editor/script_editor_debugger.cpp msgid "Auto Switch To Remote Scene Tree" @@ -16033,23 +16042,20 @@ msgid "Change Particles AABB" msgstr "Alterar o AABB das Partículas" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Reflection Probe" -msgstr "Selecionar Propriedade" +msgstr "Sonda de Reflexão" #: editor/spatial_editor_gizmos.cpp msgid "Change Probe Extents" msgstr "Alterar a Extensão da Sonda" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "GI Probe" -msgstr "Cozinhar Sonda GI" +msgstr "Sonda GI" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Baked Indirect Light" -msgstr "Iluminação indireta" +msgstr "Pré-Processar Iluminação indireta" #: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp msgid "Change Sphere Shape Radius" @@ -16084,9 +16090,8 @@ msgid "Navigation Edge" msgstr "Bordas de Navegação" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Navigation Edge Disabled" -msgstr "Modo Navegação" +msgstr "Bordas de Navegação Desativadas" #: editor/spatial_editor_gizmos.cpp msgid "Navigation Solid" @@ -16117,9 +16122,8 @@ msgid "Set Room Point Position" msgstr "Definir Posição Do Ponto Da Sala" #: editor/spatial_editor_gizmos.cpp scene/3d/portal.cpp -#, fuzzy msgid "Portal Margin" -msgstr "Definir Margem" +msgstr "Margem do Portal" #: editor/spatial_editor_gizmos.cpp msgid "Portal Edge" @@ -16138,15 +16142,13 @@ msgid "Portal Front" msgstr "Frente do Portal" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Portal Back" -msgstr "Voltar" +msgstr "Voltar ao Portal" #: editor/spatial_editor_gizmos.cpp scene/2d/light_occluder_2d.cpp #: scene/2d/tile_map.cpp -#, fuzzy msgid "Occluder" -msgstr "Modo Oclusão" +msgstr "Oclusor" #: editor/spatial_editor_gizmos.cpp msgid "Set Occluder Sphere Radius" @@ -16159,27 +16161,25 @@ msgstr "Definir Posição Da Esfera Do Oclusor" #: editor/spatial_editor_gizmos.cpp #, fuzzy msgid "Set Occluder Polygon Point Position" -msgstr "Definir Posição Do Ponto Do Portal" +msgstr "Definir Posição do Ponto do Polígono Oclusor" #: editor/spatial_editor_gizmos.cpp #, fuzzy msgid "Set Occluder Hole Point Position" -msgstr "Definir Posição do Ponto da Curva" +msgstr "Definir Posição do Ponto do Buraco Oclusor" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Occluder Polygon Front" -msgstr "Criar Polígono de Oclusão" +msgstr "Frente do Polígono Oclusor" #: editor/spatial_editor_gizmos.cpp #, fuzzy msgid "Occluder Polygon Back" -msgstr "Criar Polígono de Oclusão" +msgstr "Costas do Polígono Oclusor" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Occluder Hole" -msgstr "Criar Polígono de Oclusão" +msgstr "Buraco Oclusor" #: main/main.cpp msgid "Godot Physics" @@ -16192,19 +16192,16 @@ msgstr "Usar BVH" #: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp #: servers/visual/visual_server_scene.cpp -#, fuzzy msgid "BVH Collision Margin" -msgstr "Modo Colisão" +msgstr "Margem de Colisão BVH" #: main/main.cpp -#, fuzzy msgid "Crash Handler" -msgstr "Definir Manipulador" +msgstr "Gerenciador de Falhas" #: main/main.cpp -#, fuzzy msgid "Multithreaded Server" -msgstr "Conjunto de MultiNode" +msgstr "Servidor com Multi-Thread" #: main/main.cpp msgid "RID Pool Prealloc" @@ -16243,14 +16240,12 @@ msgid "File Logging" msgstr "Registrando Log de Arquivos" #: main/main.cpp -#, fuzzy msgid "Enable File Logging" -msgstr "Habilitar Filtragem" +msgstr "Habilitar Log de Arquivos" #: main/main.cpp -#, fuzzy msgid "Log Path" -msgstr "Copiar Caminho" +msgstr "Caminho de Log" #: main/main.cpp msgid "Max Log Files" @@ -16301,9 +16296,8 @@ msgid "Intended Usage" msgstr "Intenção de Uso" #: main/main.cpp -#, fuzzy msgid "Framebuffer Allocation" -msgstr "Seleção de Frame" +msgstr "Alocação de Framebuffer" #: main/main.cpp platform/uwp/os_uwp.cpp msgid "Energy Saving" @@ -16314,9 +16308,8 @@ msgid "Threads" msgstr "Threads" #: main/main.cpp servers/physics_2d/physics_2d_server_wrap_mt.h -#, fuzzy msgid "Thread Model" -msgstr "Alternar Modo" +msgstr "Modelo de Thread" #: main/main.cpp msgid "Thread Safe BVH" @@ -16337,9 +16330,8 @@ msgid "Common" msgstr "Comum" #: main/main.cpp -#, fuzzy msgid "Physics FPS" -msgstr "Frame de Física %" +msgstr "FPS da Fisíca" #: main/main.cpp msgid "Force FPS" @@ -16347,7 +16339,7 @@ msgstr "Forçar FPS" #: main/main.cpp msgid "Enable Pause Aware Picking" -msgstr "Habilitar Escolha que é Ciente à Pausas" +msgstr "Habilitar Seleção Ciente a Pausas" #: main/main.cpp scene/gui/item_list.cpp scene/gui/popup_menu.cpp #: scene/gui/scroll_container.cpp scene/gui/text_edit.cpp scene/gui/tree.cpp @@ -16372,9 +16364,8 @@ msgid "Verbose stdout" msgstr "stdout Verboso" #: main/main.cpp scene/main/scene_tree.cpp scene/resources/multimesh.cpp -#, fuzzy msgid "Physics Interpolation" -msgstr "Modo de Interpolação" +msgstr "Interpolação da Física" #: main/main.cpp msgid "Enable Warnings" @@ -16402,14 +16393,12 @@ msgid "Hide Home Indicator" msgstr "Esconder Indicador de Home" #: main/main.cpp -#, fuzzy msgid "Input Devices" -msgstr "Todos os dispositivos" +msgstr "Dispositivos de Entrada" #: main/main.cpp -#, fuzzy msgid "Pointing" -msgstr "Ponto" +msgstr "Apontando" #: main/main.cpp msgid "Touch Delay" @@ -16424,9 +16413,8 @@ msgid "Shaders" msgstr "Shaders" #: main/main.cpp -#, fuzzy msgid "Debug Shader Fallbacks" -msgstr "Forçar Fallbacks do Shader" +msgstr "Depurar Fallbacks do Shader" #: main/main.cpp scene/3d/baked_lightmap.cpp scene/3d/camera.cpp #: scene/3d/world_environment.cpp scene/main/scene_tree.cpp @@ -16436,7 +16424,7 @@ msgstr "Ambiente" #: main/main.cpp msgid "Default Clear Color" -msgstr "Cor de Limpeza Padrão" +msgstr "Cor Limpa Padrão" #: main/main.cpp msgid "Boot Splash" @@ -16459,9 +16447,8 @@ msgid "Use Filter" msgstr "Usar Filtro" #: main/main.cpp scene/resources/style_box.cpp -#, fuzzy msgid "BG Color" -msgstr "Cores" +msgstr "Cor do Plano de Fundo" #: main/main.cpp msgid "macOS Native Icon" @@ -16473,7 +16460,7 @@ msgstr "Ícone Windows Nativo" #: main/main.cpp msgid "Buffering" -msgstr "" +msgstr "Buffering" #: main/main.cpp msgid "Agile Event Flushing" @@ -16504,9 +16491,8 @@ msgid "Tooltip Position Offset" msgstr "Deslocamento de Posição da Dica de Ferramenta" #: main/main.cpp modules/mono/mono_gd/gd_mono.cpp -#, fuzzy msgid "Debugger Agent" -msgstr "Depurador" +msgstr "Agente Depurador" #: main/main.cpp modules/mono/mono_gd/gd_mono.cpp msgid "Wait For Debugger" @@ -16525,9 +16511,8 @@ msgid "Unhandled Exception Policy" msgstr "Politica de Tratamento Exceções" #: main/main.cpp -#, fuzzy msgid "Main Loop Type" -msgstr "Localizar Tipo de Nó" +msgstr "Tipo de Loop Principal" #: main/main.cpp scene/gui/texture_progress.cpp #: scene/gui/viewport_container.cpp @@ -16549,7 +16534,7 @@ msgstr "Aceitar Sair Automaticamente" #: main/main.cpp scene/main/scene_tree.cpp #, fuzzy msgid "Quit On Go Back" -msgstr "Voltar" +msgstr "Sair em Voltar" #: main/main.cpp scene/main/viewport.cpp #, fuzzy @@ -16570,7 +16555,7 @@ msgstr "Ativar Mundo Macio" #: modules/csg/csg_gizmos.cpp msgid "CSG" -msgstr "" +msgstr "CSG" #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" @@ -16638,23 +16623,20 @@ msgid "Smooth Faces" msgstr "Suavizar Faces" #: modules/csg/csg_shape.cpp -#, fuzzy msgid "Sides" -msgstr "Mostrar Guias" +msgstr "Lados" #: modules/csg/csg_shape.cpp msgid "Cone" msgstr "Cone" #: modules/csg/csg_shape.cpp -#, fuzzy msgid "Inner Radius" -msgstr "Alterar Raio Interno do Toro" +msgstr "Raio Interno" #: modules/csg/csg_shape.cpp -#, fuzzy msgid "Outer Radius" -msgstr "Alterar Raio Externo do Toro" +msgstr "Raio Externo" #: modules/csg/csg_shape.cpp msgid "Ring Sides" @@ -16763,9 +16745,8 @@ msgstr "Carregar Apenas uma Vez" #: modules/gdnative/gdnative.cpp #: modules/visual_script/visual_script_func_nodes.cpp -#, fuzzy msgid "Singleton" -msgstr "Esqueleto" +msgstr "Singleton" #: modules/gdnative/gdnative.cpp msgid "Symbol Prefix" @@ -16855,9 +16836,8 @@ msgid "Function Definition Color" msgstr "Cor de Definição de Função" #: modules/gdscript/editor/gdscript_highlighter.cpp -#, fuzzy msgid "Node Path Color" -msgstr "Copiar Caminho do Nó" +msgstr "Cor do Caminho do Nó" #: modules/gdscript/gdscript.cpp modules/visual_script/visual_script.cpp msgid "Max Call Stack" @@ -16918,9 +16898,8 @@ msgid "Language Server" msgstr "Servidor de Idioma" #: modules/gdscript/language_server/gdscript_language_server.cpp -#, fuzzy msgid "Enable Smart Resolve" -msgstr "Não foi possível resolver" +msgstr "Habilitar Resolução Inteligente" #: modules/gdscript/language_server/gdscript_language_server.cpp msgid "Show Native Symbols In Editor" @@ -16952,9 +16931,8 @@ msgid "Component Type" msgstr "Tipo do Componente" #: modules/gltf/gltf_accessor.cpp -#, fuzzy msgid "Normalized" -msgstr "Formato" +msgstr "Normalizado" #: modules/gltf/gltf_accessor.cpp msgid "Count" @@ -17046,11 +17024,11 @@ msgstr "Intervalo" #: modules/gltf/gltf_light.cpp msgid "Inner Cone Angle" -msgstr "" +msgstr "Ângulo interno do cone" #: modules/gltf/gltf_light.cpp msgid "Outer Cone Angle" -msgstr "" +msgstr "Ângulo externo do cone" #: modules/gltf/gltf_mesh.cpp #, fuzzy @@ -17062,9 +17040,8 @@ msgid "Instance Materials" msgstr "Materiais da Instância" #: modules/gltf/gltf_node.cpp scene/3d/skeleton.cpp -#, fuzzy msgid "Parent" -msgstr "Reparentar" +msgstr "Pai" #: modules/gltf/gltf_node.cpp #, fuzzy @@ -17100,9 +17077,8 @@ msgid "Godot Bone Node" msgstr "Nó de Osso Godot" #: modules/gltf/gltf_skin.cpp -#, fuzzy msgid "Skin Root" -msgstr "Nova Raiz de Cena" +msgstr "Raiz da Skin" #: modules/gltf/gltf_skin.cpp msgid "Joints Original" @@ -17119,11 +17095,11 @@ msgstr "Mover Junta" #: modules/gltf/gltf_skin.cpp msgid "Joint I To Bone I" -msgstr "" +msgstr "Junta I ao Osso I" #: modules/gltf/gltf_skin.cpp msgid "Joint I To Name" -msgstr "" +msgstr "Junta I ao Nome" #: modules/gltf/gltf_skin.cpp msgid "Godot Skin" @@ -17131,15 +17107,15 @@ msgstr "" #: modules/gltf/gltf_spec_gloss.cpp msgid "Diffuse Img" -msgstr "" +msgstr "Difusa Img" #: modules/gltf/gltf_spec_gloss.cpp msgid "Diffuse Factor" -msgstr "" +msgstr "Difusa Fator" #: modules/gltf/gltf_spec_gloss.cpp msgid "Gloss Factor" -msgstr "" +msgstr "Fator de Brilho" #: modules/gltf/gltf_spec_gloss.cpp msgid "Specular Factor" @@ -17178,7 +17154,7 @@ msgstr "Visão Traseira" #: modules/gltf/gltf_state.cpp msgid "Accessors" -msgstr "" +msgstr "Assessores" #: modules/gltf/gltf_state.cpp msgid "Scene Name" @@ -17231,9 +17207,8 @@ msgid "Mesh Library" msgstr "Biblioteca de Malhas" #: modules/gridmap/grid_map.cpp -#, fuzzy msgid "Physics Material" -msgstr "Frame de Física %" +msgstr "Material de Física" #: modules/gridmap/grid_map.cpp scene/3d/visual_instance.cpp #, fuzzy @@ -17268,9 +17243,8 @@ msgid "Mask" msgstr "Máscara" #: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp -#, fuzzy msgid "Bake Navigation" -msgstr "Navegação" +msgstr "Navegação Pré-Processada" #: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp #: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp @@ -17436,25 +17410,24 @@ msgid "Plotting lightmaps" msgstr "Traçando mapas de luz" #: modules/lightmapper_cpu/register_types.cpp -#, fuzzy msgid "CPU Lightmapper" -msgstr "Faça mapas de luz" +msgstr "Mapeamento de Luz da CPU" #: modules/lightmapper_cpu/register_types.cpp msgid "Low Quality Ray Count" -msgstr "" +msgstr "Quantidade de Raios de Baixa Qualidade" #: modules/lightmapper_cpu/register_types.cpp msgid "Medium Quality Ray Count" -msgstr "" +msgstr "Quantidade de Raios de Qualidade Média" #: modules/lightmapper_cpu/register_types.cpp msgid "High Quality Ray Count" -msgstr "" +msgstr "Quantidade de Raios de Qualidade Alta" #: modules/lightmapper_cpu/register_types.cpp msgid "Ultra Quality Ray Count" -msgstr "" +msgstr "Quantidade de Raios de Qualidade Ultra" #: modules/minimp3/audio_stream_mp3.cpp #: modules/minimp3/resource_importer_mp3.cpp @@ -17465,16 +17438,15 @@ msgstr "Deslocamento do Loop" #: modules/mobile_vr/mobile_vr_interface.cpp msgid "Eye Height" -msgstr "" +msgstr "Altura do Olho" #: modules/mobile_vr/mobile_vr_interface.cpp msgid "IOD" msgstr "" #: modules/mobile_vr/mobile_vr_interface.cpp -#, fuzzy msgid "Display Width" -msgstr "Exibição Wireframe" +msgstr "Largura de Tela" #: modules/mobile_vr/mobile_vr_interface.cpp #, fuzzy @@ -17502,9 +17474,23 @@ msgid "Build Solution" msgstr "Construir Solução" #: modules/mono/editor/csharp_project.cpp -#, fuzzy msgid "Auto Update Project" -msgstr "Projeto Sem Nome" +msgstr "Atualizar Projeto Automaticamente" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Nome de Exibição" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Escolha um Diretório" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Escolha um Diretório" #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" @@ -17591,7 +17577,7 @@ msgstr "" #: modules/opensimplex/noise_texture.cpp msgid "Noise" -msgstr "" +msgstr "Ruído" #: modules/opensimplex/noise_texture.cpp msgid "Noise Offset" @@ -17603,25 +17589,23 @@ msgstr "Oitavas" #: modules/opensimplex/open_simplex_noise.cpp msgid "Period" -msgstr "" +msgstr "Período" #: modules/opensimplex/open_simplex_noise.cpp -#, fuzzy msgid "Persistence" -msgstr "Perspectiva" +msgstr "Persistência" #: modules/opensimplex/open_simplex_noise.cpp msgid "Lacunarity" -msgstr "" +msgstr "Lacunaridade" #: modules/regex/regex.cpp msgid "Subject" msgstr "Sujeito" #: modules/regex/regex.cpp -#, fuzzy msgid "Names" -msgstr "Nome" +msgstr "Nomes" #: modules/regex/regex.cpp msgid "Strings" @@ -17633,11 +17617,11 @@ msgstr "" #: modules/upnp/upnp.cpp msgid "Discover Local Port" -msgstr "" +msgstr "Descobrir Porta Local" #: modules/upnp/upnp.cpp msgid "Discover IPv6" -msgstr "" +msgstr "Descobrir IPv6" #: modules/upnp/upnp_device.cpp #, fuzzy @@ -17645,27 +17629,24 @@ msgid "Description URL" msgstr "Descrição" #: modules/upnp/upnp_device.cpp -#, fuzzy msgid "Service Type" -msgstr "Definir o Tipo da Variável" +msgstr "Tipo de Serviço" #: modules/upnp/upnp_device.cpp msgid "IGD Control URL" -msgstr "" +msgstr "URL de Controle IGD" #: modules/upnp/upnp_device.cpp -#, fuzzy msgid "IGD Service Type" -msgstr "Definir o Tipo da Variável" +msgstr "Tipo de Serviço IGD" #: modules/upnp/upnp_device.cpp msgid "IGD Our Addr" msgstr "" #: modules/upnp/upnp_device.cpp -#, fuzzy msgid "IGD Status" -msgstr "Estado" +msgstr "Estado do IGD" #: modules/visual_script/visual_script.cpp msgid "" @@ -17704,9 +17685,8 @@ msgid "Stack overflow with stack depth:" msgstr "Sobrecarga da pilha com profundidade:" #: modules/visual_script/visual_script.cpp -#, fuzzy msgid "Visual Script" -msgstr "Buscar VisualScript" +msgstr "Script Visual" #: modules/visual_script/visual_script_editor.cpp msgid "Change Signal Arguments" @@ -18041,9 +18021,8 @@ msgid "Return Enabled" msgstr "Executável" #: modules/visual_script/visual_script_flow_control.cpp -#, fuzzy msgid "Return Type" -msgstr "Retornar" +msgstr "Tipo de Retorno" #: modules/visual_script/visual_script_flow_control.cpp #: scene/resources/visual_shader_nodes.cpp @@ -18084,17 +18063,15 @@ msgstr "Iterador tornou-se inválido:" #: modules/visual_script/visual_script_flow_control.cpp msgid "Sequence" -msgstr "Seqüência" +msgstr "Sequência" #: modules/visual_script/visual_script_flow_control.cpp -#, fuzzy msgid "in order:" -msgstr "Renomear pasta:" +msgstr "em ordem:" #: modules/visual_script/visual_script_flow_control.cpp -#, fuzzy msgid "Steps" -msgstr "Passo" +msgstr "Passos" #: modules/visual_script/visual_script_flow_control.cpp msgid "Switch" @@ -18110,17 +18087,16 @@ msgstr "Tipo de Projeção" #: modules/visual_script/visual_script_flow_control.cpp msgid "Is %s?" -msgstr "" +msgstr "É %s?" #: modules/visual_script/visual_script_flow_control.cpp #: modules/visual_script/visual_script_func_nodes.cpp -#, fuzzy msgid "Base Script" -msgstr "Novo Script" +msgstr "Script Base" #: modules/visual_script/visual_script_func_nodes.cpp msgid "On %s" -msgstr "" +msgstr "Em %s" #: modules/visual_script/visual_script_func_nodes.cpp #, fuzzy @@ -18129,59 +18105,53 @@ msgstr "Self" #: modules/visual_script/visual_script_func_nodes.cpp #: modules/visual_script/visual_script_yield_nodes.cpp -#, fuzzy msgid "Call Mode" -msgstr "Modo de Escalonamento" +msgstr "Modo de Chamada" #: modules/visual_script/visual_script_func_nodes.cpp #: modules/visual_script/visual_script_nodes.cpp -#, fuzzy msgid "Basic Type" -msgstr "Mudar Tipo Base" +msgstr "Tipo Base" #: modules/visual_script/visual_script_func_nodes.cpp #: modules/visual_script/visual_script_nodes.cpp #: modules/visual_script/visual_script_yield_nodes.cpp -#, fuzzy msgid "Node Path" -msgstr "Copiar Caminho do Nó" +msgstr "Caminho do Nó" #: modules/visual_script/visual_script_func_nodes.cpp -#, fuzzy msgid "Use Default Args" -msgstr "Redefinir para o padrão" +msgstr "Usar Argumentos Padrão" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Validate" msgstr "Validar" #: modules/visual_script/visual_script_func_nodes.cpp -#, fuzzy msgid "RPC Call Mode" -msgstr "Modo de Escalonamento" +msgstr "Modo de Chamada RPC" #: modules/visual_script/visual_script_func_nodes.cpp -#, fuzzy msgid "Subtract %s" -msgstr "Para caractere %s" +msgstr "Subtrair %s" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Multiply %s" -msgstr "" +msgstr "Multiplicar %s" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Divide %s" -msgstr "" +msgstr "Dividir %s" #: modules/visual_script/visual_script_func_nodes.cpp #, fuzzy msgid "Mod %s" -msgstr "Adicionar %s" +msgstr "Mod %s" #: modules/visual_script/visual_script_func_nodes.cpp #, fuzzy msgid "ShiftLeft %s" -msgstr "Conjunto %s" +msgstr "ShiftLeft %s" #: modules/visual_script/visual_script_func_nodes.cpp msgid "ShiftRight %s" @@ -18190,7 +18160,7 @@ msgstr "" #: modules/visual_script/visual_script_func_nodes.cpp #, fuzzy msgid "BitAnd %s" -msgstr "Adicionar %s" +msgstr "BitAnd %s" #: modules/visual_script/visual_script_func_nodes.cpp msgid "BitOr %s" @@ -18208,7 +18178,7 @@ msgstr "Modo de Seleção" #: modules/visual_script/visual_script_func_nodes.cpp #, fuzzy msgid "Assign Op" -msgstr "Atribuir" +msgstr "Atribuir Op" #: modules/visual_script/visual_script_func_nodes.cpp #: modules/visual_script/visual_script_nodes.cpp @@ -18225,23 +18195,20 @@ msgid "Base object is not a Node!" msgstr "Objeto base não é um Nó!" #: modules/visual_script/visual_script_func_nodes.cpp -#, fuzzy msgid "Path does not lead to Node!" -msgstr "Caminho não leva a um Nó!" +msgstr "Caminho não leva ao Nó!" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name '%s' in node %s." msgstr "Nome de propriedade '%s' inválido no nó %s." #: modules/visual_script/visual_script_func_nodes.cpp -#, fuzzy msgid "Emit %s" -msgstr "Conjunto %s" +msgstr "Emitir %s" #: modules/visual_script/visual_script_nodes.cpp -#, fuzzy msgid "Compose Array" -msgstr "Redimensionar Vetor" +msgstr "Compôr Vetor" #: modules/visual_script/visual_script_nodes.cpp scene/resources/material.cpp #: scene/resources/visual_shader_nodes.cpp @@ -18261,9 +18228,8 @@ msgid "a if cond, else b" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -#, fuzzy msgid "Var Name" -msgstr "Nome" +msgstr "Nome da Variável" #: modules/visual_script/visual_script_nodes.cpp msgid "VariableGet not found in script:" @@ -18274,64 +18240,53 @@ msgid "VariableSet not found in script:" msgstr "VariableSet não encontrado no script:" #: modules/visual_script/visual_script_nodes.cpp -#, fuzzy msgid "Preload" -msgstr "Recarregar" +msgstr "Pré Carregar" #: modules/visual_script/visual_script_nodes.cpp -#, fuzzy msgid "Get Index" -msgstr "Índice Z" +msgstr "Obter Índice" #: modules/visual_script/visual_script_nodes.cpp -#, fuzzy msgid "Set Index" -msgstr "Índice Z" +msgstr "Definir Índice" #: modules/visual_script/visual_script_nodes.cpp -#, fuzzy msgid "Global Constant" -msgstr "Constante" +msgstr "Constante Global" #: modules/visual_script/visual_script_nodes.cpp -#, fuzzy msgid "Class Constant" -msgstr "Constante" +msgstr "Classe Constante" #: modules/visual_script/visual_script_nodes.cpp -#, fuzzy msgid "Basic Constant" -msgstr "Constante" +msgstr "Constante Básica" #: modules/visual_script/visual_script_nodes.cpp -#, fuzzy msgid "Math Constant" -msgstr "Constante" +msgstr "Constante Matemática" #: modules/visual_script/visual_script_nodes.cpp -#, fuzzy msgid "Get Engine Singleton" -msgstr "Singleton GDNative ativado" +msgstr "Obter Singleton da Engine" #: modules/visual_script/visual_script_nodes.cpp -#, fuzzy msgid "Get Scene Node" -msgstr "Nó TimeSeek" +msgstr "Obter Nó da Cena" #: modules/visual_script/visual_script_nodes.cpp -#, fuzzy msgid "Get Scene Tree" -msgstr "Edição da Árvore de Cena" +msgstr "Obter Árvore de Cenas" #: modules/visual_script/visual_script_nodes.cpp -#, fuzzy msgid "Get Self" -msgstr "Self" +msgstr "Obter Sí Mesmo" #: modules/visual_script/visual_script_nodes.cpp #, fuzzy msgid "CustomNode" -msgstr "Recortar Nós" +msgstr "CustomNode" #: modules/visual_script/visual_script_nodes.cpp msgid "Custom node has no _step() method, can't process graph." @@ -18350,35 +18305,31 @@ msgstr "" #: modules/visual_script/visual_script_nodes.cpp #, fuzzy msgid "SubCall" -msgstr "Chamadas" +msgstr "SubCall" #: modules/visual_script/visual_script_nodes.cpp scene/gui/graph_node.cpp msgid "Title" msgstr "Título" #: modules/visual_script/visual_script_nodes.cpp -#, fuzzy msgid "Construct %s" -msgstr "Constantes" +msgstr "Construir %s" #: modules/visual_script/visual_script_nodes.cpp -#, fuzzy msgid "Get Local Var" -msgstr "Usar Espaço Local" +msgstr "Obter Variável Local" #: modules/visual_script/visual_script_nodes.cpp -#, fuzzy msgid "Set Local Var" -msgstr "Usar Espaço Local" +msgstr "Definir Variável Local" #: modules/visual_script/visual_script_nodes.cpp -#, fuzzy msgid "Action %s" -msgstr "Ação" +msgstr "Ação %s" #: modules/visual_script/visual_script_nodes.cpp msgid "Deconstruct %s" -msgstr "" +msgstr "Desconstruir %s" #: modules/visual_script/visual_script_property_selector.cpp msgid "Search VisualScript" @@ -18386,45 +18337,42 @@ msgstr "Buscar VisualScript" #: modules/visual_script/visual_script_yield_nodes.cpp msgid "Yield" -msgstr "" +msgstr "Yield" #: modules/visual_script/visual_script_yield_nodes.cpp msgid "Wait" msgstr "Esperar" #: modules/visual_script/visual_script_yield_nodes.cpp -#, fuzzy msgid "Next Frame" -msgstr "Mover Quadro" +msgstr "Próximo Quadro" #: modules/visual_script/visual_script_yield_nodes.cpp -#, fuzzy msgid "Next Physics Frame" -msgstr "Frame de Física %" +msgstr "Próximo Quadro de Física" #: modules/visual_script/visual_script_yield_nodes.cpp msgid "%s sec(s)" -msgstr "" +msgstr "%s s" #: modules/visual_script/visual_script_yield_nodes.cpp scene/main/timer.cpp -#, fuzzy msgid "Wait Time" -msgstr "Pintar Tile" +msgstr "Tempo de Espera" #: modules/visual_script/visual_script_yield_nodes.cpp #, fuzzy msgid "WaitSignal" -msgstr "Sinal" +msgstr "WaitSignal" #: modules/visual_script/visual_script_yield_nodes.cpp #, fuzzy msgid "WaitNodeSignal" -msgstr "Sinal" +msgstr "WaitNodeSignal" #: modules/visual_script/visual_script_yield_nodes.cpp #, fuzzy msgid "WaitInstanceSignal" -msgstr "Instância" +msgstr "WaitInstanceSignal" #: modules/webrtc/webrtc_data_channel.cpp #, fuzzy @@ -18442,57 +18390,51 @@ msgstr "Tamanho do buffer do índice do polígono da tela (KB)" #: modules/websocket/websocket_client.cpp msgid "Verify SSL" -msgstr "" +msgstr "Verificar SSL" #: modules/websocket/websocket_client.cpp msgid "Trusted SSL Certificate" -msgstr "" +msgstr "Certificados SSL Confiáveis" #: modules/websocket/websocket_macros.h -#, fuzzy msgid "WebSocket Client" -msgstr "Perfis de rede" +msgstr "Cliente WebSocket" #: modules/websocket/websocket_macros.h -#, fuzzy msgid "Max In Buffer (KB)" -msgstr "Tamanho Máximo (KB)" +msgstr "Buffer de Entrada Máximo (KB)" #: modules/websocket/websocket_macros.h msgid "Max In Packets" -msgstr "" +msgstr "Máximo de Pacotes de Entrada" #: modules/websocket/websocket_macros.h -#, fuzzy msgid "Max Out Buffer (KB)" -msgstr "Tamanho Máximo (KB)" +msgstr "Buffer de Saída Máximo (KB)" #: modules/websocket/websocket_macros.h msgid "Max Out Packets" -msgstr "" +msgstr "Máximo de Pacotes de Saída" #: modules/websocket/websocket_macros.h -#, fuzzy msgid "WebSocket Server" -msgstr "Perfis de rede" +msgstr "Servidor WebSocket" #: modules/websocket/websocket_server.cpp msgid "Bind IP" msgstr "" #: modules/websocket/websocket_server.cpp -#, fuzzy msgid "Private Key" -msgstr "Caminho da chave privada SSH" +msgstr "Chave Privada" #: modules/websocket/websocket_server.cpp platform/javascript/export/export.cpp msgid "SSL Certificate" -msgstr "" +msgstr "Certificado SSL" #: modules/websocket/websocket_server.cpp -#, fuzzy msgid "CA Chain" -msgstr "Limpar Cadeia de IK" +msgstr "Cadeia CA" #: modules/websocket/websocket_server.cpp msgid "Handshake Timeout" @@ -18520,9 +18462,8 @@ msgid "Reference Space Type" msgstr "" #: modules/webxr/webxr_interface.cpp -#, fuzzy msgid "Visibility State" -msgstr "Alternar Visibilidade" +msgstr "Estado de Visibilidade" #: modules/webxr/webxr_interface.cpp #, fuzzy @@ -18536,7 +18477,7 @@ msgstr "Encaixe inteligente" #: platform/android/export/export.cpp msgid "Android SDK Path" -msgstr "" +msgstr "Caminho para SDK Android" #: platform/android/export/export.cpp #, fuzzy @@ -18557,23 +18498,23 @@ msgstr "" #: platform/android/export/export.cpp msgid "Shutdown ADB On Exit" -msgstr "" +msgstr "Desligar ADB Quando Sair" #: platform/android/export/export_plugin.cpp msgid "Launcher Icons" -msgstr "" +msgstr "Ícones do Iniciador" #: platform/android/export/export_plugin.cpp msgid "Main 192 X 192" -msgstr "" +msgstr "Principal 192 X 192" #: platform/android/export/export_plugin.cpp msgid "Adaptive Foreground 432 X 432" -msgstr "" +msgstr "Primeiro Plano Adaptável 432 X 432" #: platform/android/export/export_plugin.cpp msgid "Adaptive Background 432 X 432" -msgstr "" +msgstr "Fundo Adaptável 432 X 432" #: platform/android/export/export_plugin.cpp msgid "Package name is missing." @@ -18613,23 +18554,20 @@ msgid "Use Custom Build" msgstr "Usar Diretório de Usuário Personalizado" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Export Format" -msgstr "Caminho de Exportação" +msgstr "Exportar Formato" #: platform/android/export/export_plugin.cpp msgid "Min SDK" msgstr "SDK Mínimo" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Target SDK" -msgstr "FPS alvo" +msgstr "SDK Alvo" #: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp -#, fuzzy msgid "Architectures" -msgstr "Arquitetura" +msgstr "Arquiteturas" #: platform/android/export/export_plugin.cpp #, fuzzy @@ -18658,30 +18596,27 @@ msgstr "Senha" #: platform/android/export/export_plugin.cpp msgid "One Click Deploy" -msgstr "" +msgstr "Um Clique Implantar" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Clear Previous Install" -msgstr "Inspecionar a Instância Anterior" +msgstr "Limpar Instalação Anterior" #: platform/android/export/export_plugin.cpp msgid "Code" msgstr "Código" #: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp -#, fuzzy msgid "Package" -msgstr "Empacotando" +msgstr "Pacote" #: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp msgid "Unique Name" msgstr "Nome Único" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Signed" -msgstr "Sinal" +msgstr "Assinado" #: platform/android/export/export_plugin.cpp msgid "Classify As Game" @@ -18689,12 +18624,11 @@ msgstr "Classificar como Jogo" #: platform/android/export/export_plugin.cpp msgid "Retain Data On Uninstall" -msgstr "" +msgstr "Manter Dados ao Desinstalar" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Exclude From Recents" -msgstr "Excluir Nós" +msgstr "Excluir de Recentes" #: platform/android/export/export_plugin.cpp msgid "Graphics" @@ -18706,14 +18640,12 @@ msgid "OpenGL Debug" msgstr "Abrir" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "XR Features" -msgstr "Funcionalidades" +msgstr "Funcionalidades XR" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "XR Mode" -msgstr "Modo Panorâmico" +msgstr "Modo XR" #: platform/android/export/export_plugin.cpp #, fuzzy @@ -18722,16 +18654,15 @@ msgstr "Empacotando" #: platform/android/export/export_plugin.cpp msgid "Hand Tracking Frequency" -msgstr "" +msgstr "Frequência de Rastreamento de Mão" #: platform/android/export/export_plugin.cpp msgid "Passthrough" -msgstr "" +msgstr "Atravessar" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Immersive Mode" -msgstr "Modo Prioridade" +msgstr "Modo Imersivo" #: platform/android/export/export_plugin.cpp #, fuzzy @@ -18754,18 +18685,16 @@ msgid "Support Xlarge" msgstr "Suporte" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "User Data Backup" -msgstr "Interface de Usuário" +msgstr "Backup de Dados do Usuário" #: platform/android/export/export_plugin.cpp msgid "Allow" msgstr "Permitir" #: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp -#, fuzzy msgid "Command Line" -msgstr "Command" +msgstr "Linha de Comando" #: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp msgid "Extra Args" @@ -18781,19 +18710,16 @@ msgid "Salt" msgstr "Sal" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Public Key" -msgstr "Caminho da chave pública SSH" +msgstr "Chave Pública" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Permissions" -msgstr "Máscara de Emissão" +msgstr "Permissões" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Custom Permissions" -msgstr "Rodar Outra Cena" +msgstr "Permissões Personalizadas" #: platform/android/export/export_plugin.cpp msgid "Select device from the list" @@ -18912,6 +18838,11 @@ msgid "" "Note that the singleton was also renamed from \"GodotPayments\" to " "\"GodotGooglePlayBilling\"." msgstr "" +"Módulo \"GodotPaymentV3\" inválido incluído na configuração do projeto " +"\"android/modules\" (alterado no Godot 3.2.2).\n" +"Substitua-o pelo plug-in \"GodotGooglePlayBilling\" original.\n" +"Observe que o singleton também foi renomeado de \"GodotPayments\" para " +"\"GodotGooglePlayBilling\"." #: platform/android/export/export_plugin.cpp msgid "\"Use Custom Build\" must be enabled to use the plugins." @@ -18950,12 +18881,16 @@ msgstr "" #: platform/android/export/export_plugin.cpp msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid." msgstr "" +"\"Min SDK\" deve ser um número inteiro válido, mas obteve \"%s\" que é " +"inválido." #: platform/android/export/export_plugin.cpp msgid "" "\"Min SDK\" cannot be lower than %d, which is the version needed by the " "Godot library." msgstr "" +"\"Min SDK\" não pode ser inferior a %d, que é a versão necessária para a " +"biblioteca Godot." #: platform/android/export/export_plugin.cpp #, fuzzy @@ -18969,12 +18904,16 @@ msgstr "" msgid "" "\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid." msgstr "" +"\"Target SDK\" deve ser um número inteiro válido, mas obteve \"%s\", que é " +"inválido." #: platform/android/export/export_plugin.cpp msgid "" "\"Target SDK\" %d is higher than the default version %d. This may work, but " "wasn't tested and may be unstable." msgstr "" +"\"Target SDK\" %d é superior à versão padrão %d. Isso pode funcionar, mas " +"não foi testado e pode ser instável." #: platform/android/export/export_plugin.cpp #, fuzzy @@ -18985,9 +18924,8 @@ msgstr "" #: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp #: platform/windows/export/export.cpp -#, fuzzy msgid "Code Signing" -msgstr "Sinal" +msgstr "Assinatura de Código" #: platform/android/export/export_plugin.cpp msgid "" @@ -19065,12 +19003,11 @@ msgstr "" "'Projeto'." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "" "Unable to overwrite res://android/build/res/*.xml files with project name." msgstr "" "Incapaz de sobrescrever os arquivos res://android/build/res/*.xml com o nome " -"do projeto" +"do projeto." #: platform/android/export/export_plugin.cpp msgid "Could not export project files to gradle project." @@ -19246,30 +19183,25 @@ msgid "Identifier" msgstr "Identificador" #: platform/iphone/export/export.cpp platform/osx/export/export.cpp -#, fuzzy msgid "Signature" -msgstr "Sinal" +msgstr "Assinatura" #: platform/iphone/export/export.cpp platform/osx/export/export.cpp -#, fuzzy msgid "Short Version" -msgstr "Versão" +msgstr "Versão Curta" #: platform/iphone/export/export.cpp platform/osx/export/export.cpp #: platform/windows/export/export.cpp -#, fuzzy msgid "Copyright" -msgstr "Superior Direita" +msgstr "Direitos Autorais" #: platform/iphone/export/export.cpp -#, fuzzy msgid "Capabilities" -msgstr "Colar Propriedades" +msgstr "Capacidades" #: platform/iphone/export/export.cpp -#, fuzzy msgid "Access Wi-Fi" -msgstr "Acesso" +msgstr "Acessar Wi-Fi" #: platform/iphone/export/export.cpp msgid "Push Notifications" @@ -19288,19 +19220,16 @@ msgid "Accessible From iTunes Sharing" msgstr "" #: platform/iphone/export/export.cpp platform/osx/export/export.cpp -#, fuzzy msgid "Privacy" -msgstr "Caminho da chave privada SSH" +msgstr "Privacidade" #: platform/iphone/export/export.cpp platform/osx/export/export.cpp -#, fuzzy msgid "Camera Usage Description" -msgstr "Descrição" +msgstr "Descrição do Uso da Câmera" #: platform/iphone/export/export.cpp platform/osx/export/export.cpp -#, fuzzy msgid "Microphone Usage Description" -msgstr "Descrições da Propriedade" +msgstr "Descrição do Uso do Microfone" #: platform/iphone/export/export.cpp #, fuzzy @@ -19329,7 +19258,7 @@ msgstr "iPad 167 X 167" #: platform/iphone/export/export.cpp msgid "App Store 1024 X 1024" -msgstr "" +msgstr "Apple Store 1024 X 1024" #: platform/iphone/export/export.cpp msgid "Spotlight 40 X 40" @@ -19348,9 +19277,8 @@ msgid "Use Launch Screen Storyboard" msgstr "" #: platform/iphone/export/export.cpp -#, fuzzy msgid "Image Scale Mode" -msgstr "Modo de Escalonamento" +msgstr "Modo de Escalonamento de Imagem" #: platform/iphone/export/export.cpp #, fuzzy @@ -19363,25 +19291,26 @@ msgid "Custom Image @3x" msgstr "Recortar Nós" #: platform/iphone/export/export.cpp -#, fuzzy msgid "Use Custom BG Color" -msgstr "Recortar Nós" +msgstr "Usar Cor Personalizada de Fundo" #: platform/iphone/export/export.cpp -#, fuzzy msgid "Custom BG Color" -msgstr "Recortar Nós" +msgstr "Cor Personalizada de Fundo" + +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Exportar Ícone" #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp -#, fuzzy msgid "Prepare Templates" -msgstr "Gerenciar Templates" +msgstr "Preparar Templates" #: platform/iphone/export/export.cpp platform/osx/export/export.cpp -#, fuzzy msgid "Export template not found." -msgstr "Template customizado de release não encontrado." +msgstr "Template exportado não encontrado." #: platform/iphone/export/export.cpp msgid "App Store Team ID not specified - cannot configure the project." @@ -19417,9 +19346,8 @@ msgid "Could not write file: \"%s\"." msgstr "Não foi possível escrever o arquivo: \"%s\"." #: platform/javascript/export/export.cpp platform/osx/export/export.cpp -#, fuzzy msgid "Icon Creation" -msgstr "Definir Margem" +msgstr "Criação de Ícone" #: platform/javascript/export/export.cpp msgid "Could not read file: \"%s\"." @@ -19434,9 +19362,8 @@ msgid "Variant" msgstr "Variante" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Export Type" -msgstr "Exportação" +msgstr "Tipo de Exportação" #: platform/javascript/export/export.cpp #, fuzzy @@ -19456,9 +19383,8 @@ msgid "HTML" msgstr "HTML" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Export Icon" -msgstr "Expandir Tudo" +msgstr "Exportar Ícone" #: platform/javascript/export/export.cpp #, fuzzy @@ -19474,14 +19400,12 @@ msgid "Canvas Resize Policy" msgstr "" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Focus Canvas On Start" msgstr "Focar Canvas ao Iniciar" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Experimental Virtual Keyboard" -msgstr "Filtrar sinais" +msgstr "Teclado Virtual Experimental" #: platform/javascript/export/export.cpp msgid "Progressive Web App" @@ -19493,15 +19417,15 @@ msgstr "Página Offline" #: platform/javascript/export/export.cpp msgid "Icon 144 X 144" -msgstr "" +msgstr "Ícone 144 X 144" #: platform/javascript/export/export.cpp msgid "Icon 180 X 180" -msgstr "" +msgstr "Ícone 180 X 180" #: platform/javascript/export/export.cpp msgid "Icon 512 X 512" -msgstr "" +msgstr "Ícone 512 X 512" #: platform/javascript/export/export.cpp msgid "Could not read HTML shell: \"%s\"." @@ -19521,16 +19445,15 @@ msgstr "Web" #: platform/javascript/export/export.cpp msgid "HTTP Host" -msgstr "" +msgstr "Host HTTP" #: platform/javascript/export/export.cpp msgid "HTTP Port" -msgstr "" +msgstr "Porta HTTP" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Use SSL" -msgstr "Use Encaixar" +msgstr "Usar SSL" #: platform/javascript/export/export.cpp msgid "SSL Key" @@ -19538,7 +19461,7 @@ msgstr "Chave SSL" #: platform/osx/export/codesign.cpp msgid "Can't get filesystem access." -msgstr "" +msgstr "Não conseguiu acesso ao sistema de arquivos." #: platform/osx/export/codesign.cpp msgid "Failed to get Info.plist hash." @@ -19559,27 +19482,24 @@ msgid "Invalid Info.plist, can't load." msgstr "Geometria inválida, não é possível criar o polígono." #: platform/osx/export/codesign.cpp -#, fuzzy msgid "Failed to create \"%s\" subfolder." -msgstr "Não foi possível criar a pasta." +msgstr "Falha ao criar sub-pasta \"%s\"." #: platform/osx/export/codesign.cpp msgid "Failed to extract thin binary." msgstr "" #: platform/osx/export/codesign.cpp -#, fuzzy msgid "Invalid binary format." -msgstr "Caminho base inválido." +msgstr "Formato de binário inválido." #: platform/osx/export/codesign.cpp msgid "Already signed!" msgstr "Já assinado!" #: platform/osx/export/codesign.cpp -#, fuzzy msgid "Failed to process nested resources." -msgstr "Falha ao carregar recurso." +msgstr "Falha ao processar recursos aninhados." #: platform/osx/export/codesign.cpp msgid "Failed to create _CodeSignature subfolder." @@ -19596,9 +19516,8 @@ msgid "Invalid entitlements file." msgstr "Extensão inválida." #: platform/osx/export/codesign.cpp -#, fuzzy msgid "Invalid executable file." -msgstr "Extensão inválida." +msgstr "Arquivo executável inválido." #: platform/osx/export/codesign.cpp msgid "Can't resize signature load command." @@ -19625,37 +19544,32 @@ msgid "High Res" msgstr "Alta Resolução" #: platform/osx/export/export.cpp -#, fuzzy msgid "Location Usage Description" -msgstr "Descrição" +msgstr "Descrição do Uso da Localização" #: platform/osx/export/export.cpp msgid "Address Book Usage Description" -msgstr "" +msgstr "Descrição do Uso dos Contatos" #: platform/osx/export/export.cpp -#, fuzzy msgid "Calendar Usage Description" -msgstr "Descrição" +msgstr "Descrição do Uso do Calendário" #: platform/osx/export/export.cpp -#, fuzzy msgid "Photos Library Usage Description" -msgstr "Descrições da Propriedade" +msgstr "Descrição do Uso da Biblioteca de Fotos" #: platform/osx/export/export.cpp -#, fuzzy msgid "Desktop Folder Usage Description" -msgstr "Descrições do Método" +msgstr "Descrição do Uso da Pasta da Área de Trabalho" #: platform/osx/export/export.cpp -#, fuzzy msgid "Documents Folder Usage Description" -msgstr "Descrições do Método" +msgstr "Descrição do Uso da Pasta de Documentos" #: platform/osx/export/export.cpp msgid "Downloads Folder Usage Description" -msgstr "" +msgstr "Descrição do Uso da Pasta de Downloads" #: platform/osx/export/export.cpp msgid "Network Volumes Usage Description" @@ -19672,23 +19586,20 @@ msgstr "Nós" #: platform/osx/export/export.cpp platform/uwp/export/export.cpp #: platform/windows/export/export.cpp -#, fuzzy msgid "Identity" -msgstr "Recuar Esquerda" +msgstr "Identidade" #: platform/osx/export/export.cpp platform/windows/export/export.cpp -#, fuzzy msgid "Timestamp" -msgstr "Tempo" +msgstr "Registro do Tempo" #: platform/osx/export/export.cpp msgid "Hardened Runtime" msgstr "" #: platform/osx/export/export.cpp -#, fuzzy msgid "Replace Existing Signature" -msgstr "Substituir em Arquivos" +msgstr "Substituir Assinatura Existente" #: platform/osx/export/export.cpp #, fuzzy @@ -19696,9 +19607,8 @@ msgid "Entitlements" msgstr "Gizmos" #: platform/osx/export/export.cpp -#, fuzzy msgid "Custom File" -msgstr "Recortar Nós" +msgstr "Arquivo Personalizado" #: platform/osx/export/export.cpp msgid "Allow JIT Code Execution" @@ -19713,14 +19623,12 @@ msgid "Allow Dyld Environment Variables" msgstr "" #: platform/osx/export/export.cpp -#, fuzzy msgid "Disable Library Validation" -msgstr "Botão Desativado" +msgstr "Desativar Validação da Biblioteca" #: platform/osx/export/export.cpp -#, fuzzy msgid "Audio Input" -msgstr "Adicionar Entrada" +msgstr "Entrada de Áudio" #: platform/osx/export/export.cpp msgid "Address Book" @@ -19731,17 +19639,14 @@ msgid "Calendars" msgstr "Calendários" #: platform/osx/export/export.cpp -#, fuzzy msgid "Photos Library" -msgstr "Exportar Biblioteca" +msgstr "Biblioteca de Fotos" #: platform/osx/export/export.cpp -#, fuzzy msgid "Apple Events" -msgstr "Adicionar VEvento" +msgstr "Eventos Apple" #: platform/osx/export/export.cpp -#, fuzzy msgid "Debugging" msgstr "Depuração" @@ -19750,28 +19655,24 @@ msgid "App Sandbox" msgstr "" #: platform/osx/export/export.cpp -#, fuzzy msgid "Network Server" -msgstr "Perfis de rede" +msgstr "Servidor de Rede" #: platform/osx/export/export.cpp -#, fuzzy msgid "Network Client" -msgstr "Perfis de rede" +msgstr "Cliente de Rede" #: platform/osx/export/export.cpp -#, fuzzy msgid "Device USB" -msgstr "Dispositivo" +msgstr "Dispositivo USB" #: platform/osx/export/export.cpp msgid "Device Bluetooth" msgstr "Bluetooth do Dispositivo" #: platform/osx/export/export.cpp -#, fuzzy msgid "Files Downloads" -msgstr "Baixar" +msgstr "Download de Arquivos" #: platform/osx/export/export.cpp #, fuzzy @@ -19789,9 +19690,8 @@ msgid "Files Movies" msgstr "Filtros do tile" #: platform/osx/export/export.cpp platform/windows/export/export.cpp -#, fuzzy msgid "Custom Options" -msgstr "Opções do canal" +msgstr "Opções Personalizadas" #: platform/osx/export/export.cpp #, fuzzy @@ -19800,7 +19700,7 @@ msgstr "Localização" #: platform/osx/export/export.cpp msgid "Apple ID Name" -msgstr "" +msgstr "Nome Apple ID" #: platform/osx/export/export.cpp #, fuzzy @@ -19809,7 +19709,7 @@ msgstr "Senha" #: platform/osx/export/export.cpp msgid "Apple Team ID" -msgstr "" +msgstr "ID Apple Team" #: platform/osx/export/export.cpp msgid "Could not open icon file \"%s\"." @@ -19873,23 +19773,20 @@ msgstr "" "utilidades de linha de comando do Xcode estão instaladas." #: platform/osx/export/export.cpp platform/windows/export/export.cpp -#, fuzzy msgid "No identity found." -msgstr "Ícones não encontrados." +msgstr "Nenhuma identidade encontrada." #: platform/osx/export/export.cpp -#, fuzzy msgid "Cannot sign file %s." -msgstr "Erro ao salvar o arquivo: %s" +msgstr "Erro ao assinar arquivo %s." #: platform/osx/export/export.cpp msgid "Relative symlinks are not supported, exported \"%s\" might be broken!" msgstr "" #: platform/osx/export/export.cpp -#, fuzzy msgid "DMG Creation" -msgstr "Direções" +msgstr "Criação de DMG" #: platform/osx/export/export.cpp msgid "Could not start hdiutil executable." @@ -19897,11 +19794,11 @@ msgstr "Não foi possível iniciar o executável hdiutil." #: platform/osx/export/export.cpp msgid "`hdiutil create` failed - file exists." -msgstr "" +msgstr "`hdiutil create` falhou - arquivo existe." #: platform/osx/export/export.cpp msgid "`hdiutil create` failed." -msgstr "" +msgstr "`hdiutil create` falhou." #: platform/osx/export/export.cpp #, fuzzy @@ -19966,9 +19863,8 @@ msgid "Sending archive for notarization" msgstr "" #: platform/osx/export/export.cpp -#, fuzzy msgid "ZIP Creation" -msgstr "Projeção" +msgstr "Criação de ZIP" #: platform/osx/export/export.cpp msgid "Could not open file to read from path \"%s\"." @@ -20023,6 +19919,8 @@ msgid "" "Warning: Notarization is disabled. The exported project will be blocked by " "Gatekeeper if it's downloaded from an unknown source." msgstr "" +"Aviso: Notarização está desativada. O projeto exportado será bloqueado pelo " +"Gatekeeper se for baixado de uma fonte desconhecida." #: platform/osx/export/export.cpp msgid "" @@ -20106,9 +20004,8 @@ msgid "Architecture" msgstr "Arquitetura" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Display Name" -msgstr "Exibir Tudo" +msgstr "Nome de Exibição" #: platform/uwp/export/export.cpp msgid "Short Name" @@ -20137,9 +20034,8 @@ msgid "Signing" msgstr "Sinal" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Certificate" -msgstr "Certificados" +msgstr "Certificado" #: platform/uwp/export/export.cpp msgid "Algorithm" @@ -20167,9 +20063,8 @@ msgid "Landscape" msgstr "Paisagem" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Portrait" -msgstr "Inverter Horizontalmente" +msgstr "Retrato" #: platform/uwp/export/export.cpp msgid "Landscape Flipped" @@ -20186,19 +20081,19 @@ msgstr "Modo de Escalonamento" #: platform/uwp/export/export.cpp msgid "Square 44 X 44 Logo" -msgstr "" +msgstr "Logo Quadrada 44 X 44" #: platform/uwp/export/export.cpp msgid "Square 71 X 71 Logo" -msgstr "" +msgstr "Logo Quadrada 71 X 71" #: platform/uwp/export/export.cpp msgid "Square 150 X 150 Logo" -msgstr "" +msgstr "Logo Quadrada 150 X 150" #: platform/uwp/export/export.cpp msgid "Square 310 X 310 Logo" -msgstr "" +msgstr "Logo Quadrada 310 X 310" #: platform/uwp/export/export.cpp msgid "Wide 310 X 150 Logo" @@ -20209,9 +20104,8 @@ msgid "Splash Screen" msgstr "Tela de Abertura" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Tiles" -msgstr "Arquivo" +msgstr "Tiles" #: platform/uwp/export/export.cpp msgid "Show Name On Square 150 X 150" @@ -20226,6 +20120,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "Nome de pacote inválido." @@ -20291,9 +20191,8 @@ msgid "Debug Certificate" msgstr "" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Debug Algorithm" -msgstr "Depurador" +msgstr "Algoritmo de Depuração" #: platform/windows/export/export.cpp msgid "Failed to rename temporary file \"%s\"." @@ -20314,14 +20213,12 @@ msgid "Digest Algorithm" msgstr "Depurador" #: platform/windows/export/export.cpp -#, fuzzy msgid "Modify Resources" -msgstr "Copiar Recurso" +msgstr "Modificar Recursos" #: platform/windows/export/export.cpp -#, fuzzy msgid "File Version" -msgstr "Versão" +msgstr "Versão do Arquivo" #: platform/windows/export/export.cpp msgid "Product Version" @@ -20336,18 +20233,16 @@ msgid "Product Name" msgstr "Nome do Produto" #: platform/windows/export/export.cpp -#, fuzzy msgid "File Description" -msgstr "Descrição" +msgstr "Descrição do Arquivo" #: platform/windows/export/export.cpp msgid "Trademarks" msgstr "Marca Registrada (Trademarks)" #: platform/windows/export/export.cpp -#, fuzzy msgid "Resources Modification" -msgstr "Notificações Push" +msgstr "Modificações dos Recursos" #: platform/windows/export/export.cpp #, fuzzy @@ -20426,7 +20321,7 @@ msgstr "Versão de produto inválida:" #: platform/windows/export/export.cpp msgid "Windows executables cannot be >= 4 GiB." -msgstr "" +msgstr "Executáveis Windows não podem ser >= 4GiB." #: platform/windows/export/export.cpp platform/x11/export/export.cpp #, fuzzy @@ -20438,13 +20333,13 @@ msgid "Executable file header corrupted." msgstr "" #: platform/windows/export/export.cpp platform/x11/export/export.cpp +#, fuzzy msgid "Executable \"pck\" section not found." -msgstr "" +msgstr "Executável seção \"pck\" não encontrado." #: platform/windows/export/export.cpp -#, fuzzy msgid "Windows" -msgstr "Nova Janela" +msgstr "Windows" #: platform/windows/export/export.cpp msgid "Rcedit" @@ -20456,7 +20351,7 @@ msgstr "" #: platform/windows/export/export.cpp msgid "Wine" -msgstr "" +msgstr "Wine" #: platform/x11/export/export.cpp msgid "32-bit executables cannot have embedded data >= 4 GiB." @@ -20464,9 +20359,8 @@ msgstr "" #: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp #: scene/resources/texture.cpp -#, fuzzy msgid "Frames" -msgstr "Frame %" +msgstr "Quadros" #: scene/2d/animated_sprite.cpp msgid "" @@ -20478,21 +20372,18 @@ msgstr "" #: scene/2d/animated_sprite.cpp scene/2d/cpu_particles_2d.cpp #: scene/2d/particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/particles.cpp -#, fuzzy msgid "Speed Scale" -msgstr "Escala" +msgstr "Escalonamento da Velocidade" #: scene/2d/animated_sprite.cpp scene/2d/audio_stream_player_2d.cpp #: scene/3d/audio_stream_player_3d.cpp scene/3d/sprite_3d.cpp #: scene/audio/audio_stream_player.cpp -#, fuzzy msgid "Playing" -msgstr "Rodar" +msgstr "Rodando" #: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp -#, fuzzy msgid "Centered" -msgstr "Centro" +msgstr "Centralizado" #: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp #: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp @@ -20505,14 +20396,12 @@ msgid "Flip V" msgstr "" #: scene/2d/area_2d.cpp scene/3d/area.cpp -#, fuzzy msgid "Monitoring" -msgstr "Monitor" +msgstr "Monitorando" #: scene/2d/area_2d.cpp scene/3d/area.cpp -#, fuzzy msgid "Monitorable" -msgstr "Monitor" +msgstr "Monitorável" #: scene/2d/area_2d.cpp scene/3d/area.cpp #, fuzzy @@ -20525,9 +20414,8 @@ msgid "Space Override" msgstr "Sobrescreve" #: scene/2d/area_2d.cpp scene/3d/area.cpp -#, fuzzy msgid "Gravity Point" -msgstr "Gerar Pontos" +msgstr "Ponto de Gravidade" #: scene/2d/area_2d.cpp scene/3d/area.cpp #, fuzzy @@ -20554,38 +20442,33 @@ msgid "Angular Damp" msgstr "" #: scene/2d/area_2d.cpp scene/3d/area.cpp -#, fuzzy msgid "Audio Bus" -msgstr "Adicionar Canal de Áudio" +msgstr "Canal de Áudio" #: scene/2d/area_2d.cpp scene/3d/area.cpp -#, fuzzy msgid "Override" -msgstr "Sobrescreve" +msgstr "Sobrescrever" #: scene/2d/audio_stream_player_2d.cpp scene/audio/audio_stream_player.cpp #: scene/gui/video_player.cpp servers/audio/effects/audio_effect_amplify.cpp -#, fuzzy msgid "Volume dB" -msgstr "Volume" +msgstr "Volume dB (decibéis)" #: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp #: scene/audio/audio_stream_player.cpp #: servers/audio/effects/audio_effect_pitch_shift.cpp -#, fuzzy msgid "Pitch Scale" -msgstr "Escala" +msgstr "Escalonamento de Pitch" #: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp #: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp -#, fuzzy msgid "Autoplay" -msgstr "Alternar Início Automático" +msgstr "Rodar automaticamente" #: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp #: scene/audio/audio_stream_player.cpp msgid "Stream Paused" -msgstr "" +msgstr "Fluxo Pausado" #: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp #: scene/3d/light.cpp scene/3d/reflection_probe.cpp @@ -20601,23 +20484,20 @@ msgstr "Animação" #: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp #: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp -#, fuzzy msgid "Bus" -msgstr "Adicionar Canal" +msgstr "Canal" #: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp msgid "Area Mask" msgstr "" #: scene/2d/back_buffer_copy.cpp -#, fuzzy msgid "Copy Mode" -msgstr "Copiar Nós" +msgstr "Mode de Cópia" #: scene/2d/camera_2d.cpp -#, fuzzy msgid "Anchor Mode" -msgstr "Modo Ícone" +msgstr "Modo de Âncora" #: scene/2d/camera_2d.cpp msgid "Rotating" @@ -20629,9 +20509,8 @@ msgid "Current" msgstr "Atual" #: scene/2d/camera_2d.cpp scene/gui/graph_edit.cpp -#, fuzzy msgid "Zoom" -msgstr "Ampliar" +msgstr "Zoom" #: scene/2d/camera_2d.cpp scene/main/canvas_layer.cpp #, fuzzy @@ -20651,27 +20530,23 @@ msgstr "Limite" #: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp #: scene/resources/style_box.cpp scene/resources/texture.cpp -#, fuzzy msgid "Left" -msgstr "Esquerda (UI)" +msgstr "Esquerda" #: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp #: scene/resources/style_box.cpp scene/resources/texture.cpp -#, fuzzy msgid "Right" -msgstr "Luz" +msgstr "Direita" #: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp #: scene/resources/dynamic_font.cpp scene/resources/style_box.cpp #: scene/resources/texture.cpp -#, fuzzy msgid "Bottom" -msgstr "Inferior Esquerda" +msgstr "Embaixo" #: scene/2d/camera_2d.cpp -#, fuzzy msgid "Smoothed" -msgstr "Passo suave" +msgstr "Suavizado" #: scene/2d/camera_2d.cpp #, fuzzy @@ -20689,9 +20564,8 @@ msgid "Drag Margin V Enabled" msgstr "Definir Margem" #: scene/2d/camera_2d.cpp -#, fuzzy msgid "Smoothing" -msgstr "Passo suave" +msgstr "Suavizamento" #: scene/2d/camera_2d.cpp msgid "H" @@ -20732,9 +20606,8 @@ msgid "Light Mode" msgstr "Largura Direita" #: scene/2d/canvas_item.cpp -#, fuzzy msgid "Particles Animation" -msgstr "Partículas" +msgstr "Animação de Partículas" #: scene/2d/canvas_item.cpp msgid "Particles Anim H Frames" @@ -20750,15 +20623,13 @@ msgid "Particles Anim Loop" msgstr "Partículas" #: scene/2d/canvas_item.cpp scene/3d/spatial.cpp -#, fuzzy msgid "Visibility" -msgstr "Alternar Visibilidade" +msgstr "Visibilidade" #: scene/2d/canvas_item.cpp scene/3d/spatial.cpp scene/gui/progress_bar.cpp #: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp -#, fuzzy msgid "Visible" -msgstr "Alternar Visibilidade" +msgstr "Visível" #: scene/2d/canvas_item.cpp #, fuzzy @@ -20767,22 +20638,20 @@ msgstr "Popular" #: scene/2d/canvas_item.cpp msgid "Show Behind Parent" -msgstr "" +msgstr "Mostrar Atrás do Pai" #: scene/2d/canvas_item.cpp -#, fuzzy msgid "Show On Top" -msgstr "Mostrar Origem" +msgstr "Mostrar Em Cima" #: scene/2d/canvas_item.cpp scene/2d/light_occluder_2d.cpp #: scene/2d/tile_map.cpp -#, fuzzy msgid "Light Mask" -msgstr "Luz" +msgstr "Máscara de Luz" #: scene/2d/canvas_item.cpp msgid "Use Parent Material" -msgstr "" +msgstr "Usar Material do Pai" #: scene/2d/canvas_modulate.cpp msgid "" @@ -20805,9 +20674,8 @@ msgstr "" "para definir sua forma." #: scene/2d/collision_object_2d.cpp -#, fuzzy msgid "Pickable" -msgstr "Escolher Tile" +msgstr "Pegável" #: scene/2d/collision_polygon_2d.cpp msgid "" @@ -20849,9 +20717,8 @@ msgstr "Modo de Régua" #: scene/3d/collision_polygon.cpp scene/3d/collision_shape.cpp #: scene/animation/animation_node_state_machine.cpp scene/gui/base_button.cpp #: scene/gui/texture_button.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Disabled" -msgstr "Item Desativado" +msgstr "Desativado" #: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp #, fuzzy @@ -20935,9 +20802,8 @@ msgstr "" #: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp #: scene/3d/cpu_particles.cpp scene/3d/particles.cpp -#, fuzzy msgid "Fixed FPS" -msgstr "Ver FPS" +msgstr "FPS Fixado" #: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp #: scene/3d/cpu_particles.cpp scene/3d/particles.cpp @@ -20951,9 +20817,8 @@ msgstr "Desenhando" #: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp #: scene/3d/cpu_particles.cpp scene/3d/particles.cpp -#, fuzzy msgid "Local Coords" -msgstr "Projetos Locais" +msgstr "Coordenadas Locais" #: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp #: scene/3d/cpu_particles.cpp scene/3d/particles.cpp @@ -20962,9 +20827,8 @@ msgstr "Ordem de Desenho" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp -#, fuzzy msgid "Emission Shape" -msgstr "Máscara de Emissão" +msgstr "Forma de Emissão" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp @@ -20977,9 +20841,8 @@ msgid "Rect Extents" msgstr "Gizmos" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp -#, fuzzy msgid "Normals" -msgstr "Formato" +msgstr "Normais" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp @@ -20989,9 +20852,8 @@ msgstr "Atribuir" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp -#, fuzzy msgid "Direction" -msgstr "Direções" +msgstr "Direção" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp @@ -21001,15 +20863,13 @@ msgstr "Espalhar" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp -#, fuzzy msgid "Initial Velocity" -msgstr "Inicializar" +msgstr "Velocidade Inicial" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp -#, fuzzy msgid "Velocity Random" -msgstr "Velocidade" +msgstr "Velocidade Aleatória" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp servers/physics_2d_server.cpp @@ -21019,48 +20879,43 @@ msgstr "Velocidade Angular" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp -#, fuzzy msgid "Velocity Curve" -msgstr "Velocidade" +msgstr "Curva de Velocidade" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp -#, fuzzy msgid "Orbit Velocity" -msgstr "Orbitar Visão para a Direita" +msgstr "Velocidade Orbital" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp -#, fuzzy msgid "Linear Accel" -msgstr "Linear" +msgstr "Aceleração Linear" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp -#, fuzzy msgid "Accel" -msgstr "Acesso" +msgstr "Aceleração" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp msgid "Accel Random" -msgstr "" +msgstr "Aceleração Aleatória" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp -#, fuzzy msgid "Accel Curve" -msgstr "Dvidir Curva" +msgstr "Curva de Aceleração" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp msgid "Radial Accel" -msgstr "" +msgstr "Aceleração Radial" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp msgid "Tangential Accel" -msgstr "" +msgstr "Aceleração Tangencial" #: scene/2d/cpu_particles_2d.cpp scene/2d/joints_2d.cpp #: scene/3d/cpu_particles.cpp scene/3d/physics_body.cpp @@ -21089,13 +20944,12 @@ msgstr "Ângulo" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp msgid "Angle Random" -msgstr "" +msgstr "Ângulo Aleatório" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp -#, fuzzy msgid "Angle Curve" -msgstr "Fechar Curva" +msgstr "Curva do Ângulo" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp msgid "Scale Amount" @@ -21143,15 +20997,13 @@ msgstr "Curva de Variação" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp -#, fuzzy msgid "Speed Random" -msgstr "Escala" +msgstr "Velocidade Aleatória" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp -#, fuzzy msgid "Speed Curve" -msgstr "Dvidir Curva" +msgstr "Curva de Velocidade" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp @@ -21199,9 +21051,8 @@ msgid "Bias" msgstr "" #: scene/2d/joints_2d.cpp -#, fuzzy msgid "Disable Collision" -msgstr "Botão Desativado" +msgstr "Desativar Colisão" #: scene/2d/joints_2d.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp msgid "Softness" @@ -21238,9 +21089,8 @@ msgid "Editor Only" msgstr "Editor" #: scene/2d/light_2d.cpp -#, fuzzy msgid "Texture Scale" -msgstr "Região da Textura" +msgstr "Escalonamento da Textura" #: scene/2d/light_2d.cpp scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp #: scene/3d/light.cpp scene/resources/environment.cpp @@ -21271,9 +21121,8 @@ msgid "Item Cull Mask" msgstr "" #: scene/2d/light_2d.cpp scene/3d/light.cpp scene/resources/style_box.cpp -#, fuzzy msgid "Shadow" -msgstr "Shader" +msgstr "Sombra" #: scene/2d/light_2d.cpp #, fuzzy @@ -21281,9 +21130,8 @@ msgid "Buffer Size" msgstr "Visão Traseira" #: scene/2d/light_2d.cpp -#, fuzzy msgid "Gradient Length" -msgstr "Gradiente Editado" +msgstr "Comprimento do Gradiente" #: scene/2d/light_2d.cpp #, fuzzy @@ -21291,9 +21139,8 @@ msgid "Filter Smooth" msgstr "Filtrar métodos" #: scene/2d/light_occluder_2d.cpp -#, fuzzy msgid "Closed" -msgstr "Fechar" +msgstr "Fechado" #: scene/2d/light_occluder_2d.cpp scene/resources/material.cpp #, fuzzy @@ -21313,28 +21160,24 @@ msgstr "" "O polígono para este oclusor está vazio. Por favor desenhe um polígono." #: scene/2d/line_2d.cpp -#, fuzzy msgid "Width Curve" -msgstr "Dvidir Curva" +msgstr "Largura da Curva" #: scene/2d/line_2d.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Default Color" -msgstr "Padrão" +msgstr "Cor Padrão" #: scene/2d/line_2d.cpp scene/resources/texture.cpp msgid "Fill" msgstr "Preencher" #: scene/2d/line_2d.cpp scene/resources/texture.cpp -#, fuzzy msgid "Gradient" -msgstr "Gradiente Editado" +msgstr "Gradiente" #: scene/2d/line_2d.cpp -#, fuzzy msgid "Texture Mode" -msgstr "Região da Textura" +msgstr "Modo de Textura" #: scene/2d/line_2d.cpp msgid "Capping" @@ -21364,7 +21207,7 @@ msgstr "" #: scene/2d/line_2d.cpp msgid "Round Precision" -msgstr "" +msgstr "Precisão do Arredondamento" #: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp #: scene/resources/dynamic_font.cpp @@ -21548,7 +21391,6 @@ msgid "Mirroring" msgstr "Espelhar" #: scene/2d/particles_2d.cpp -#, fuzzy msgid "" "GPU-based particles are not supported by the GLES2 video driver.\n" "Use the CPUParticles2D node instead. You can use the \"Convert to " @@ -21594,9 +21436,8 @@ msgstr "" #: scene/2d/path_2d.cpp scene/3d/path.cpp scene/resources/sky.cpp #: scene/resources/texture.cpp -#, fuzzy msgid "Curve" -msgstr "Dvidir Curva" +msgstr "Curva" #: scene/2d/path_2d.cpp msgid "PathFollow2D only works when set as a child of a Path2D node." @@ -21624,9 +21465,8 @@ msgid "Lookahead" msgstr "" #: scene/2d/physics_body_2d.cpp scene/3d/visual_instance.cpp -#, fuzzy msgid "Layers" -msgstr "Camada" +msgstr "Camadas" #: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp msgid "Constant Linear Velocity" @@ -21638,9 +21478,8 @@ msgstr "Velocidade Angular Constante" #: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp #: scene/resources/physics_material.cpp -#, fuzzy msgid "Friction" -msgstr "Funções" +msgstr "Fricção" #: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp #: scene/resources/physics_material.cpp @@ -21653,9 +21492,8 @@ msgstr "" #: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp #: scene/resources/world.cpp scene/resources/world_2d.cpp -#, fuzzy msgid "Default Gravity" -msgstr "Prévia Padrão" +msgstr "Gravidade Padrão" #: scene/2d/physics_body_2d.cpp msgid "" @@ -21676,13 +21514,12 @@ msgid "Inertia" msgstr "Inércia" #: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp -#, fuzzy msgid "Weight" -msgstr "Luz" +msgstr "Peso" #: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp msgid "Gravity Scale" -msgstr "" +msgstr "Escala da Gravidade" #: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp msgid "Custom Integrator" @@ -21722,7 +21559,7 @@ msgstr "Angular" #: scene/2d/physics_body_2d.cpp msgid "Applied Forces" -msgstr "" +msgstr "Forças Aplicadas" #: scene/2d/physics_body_2d.cpp msgid "Torque" @@ -21750,56 +21587,49 @@ msgstr "Aplicar Velocidade ao Sair" #: scene/3d/physics_body.cpp scene/gui/texture_button.cpp #: scene/resources/default_theme/default_theme.cpp #: scene/resources/line_shape_2d.cpp scene/resources/material.cpp -#, fuzzy msgid "Normal" -msgstr "Formato" +msgstr "Normal" #: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp msgid "Remainder" msgstr "Restante" #: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp -#, fuzzy msgid "Local Shape" -msgstr "Localizar" +msgstr "Forma Local" #: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp #: servers/physics_2d_server.cpp servers/physics_server.cpp -#, fuzzy msgid "Collider" -msgstr "Modo Colisão" +msgstr "Colisor" #: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp #: servers/physics_2d_server.cpp servers/physics_server.cpp msgid "Collider ID" -msgstr "" +msgstr "ID do Colisor" #: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp #: servers/physics_2d_server.cpp servers/physics_server.cpp -#, fuzzy msgid "Collider RID" -msgstr "RID inválido" +msgstr "RID do Colisor" #: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp #: servers/physics_2d_server.cpp servers/physics_server.cpp -#, fuzzy msgid "Collider Shape" -msgstr "Modo Colisão" +msgstr "Forma do Colisor" #: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp -#, fuzzy msgid "Collider Shape Index" -msgstr "Modo Colisão" +msgstr "Índice da Forma do Colisor" #: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp #: servers/physics_2d_server.cpp servers/physics_server.cpp -#, fuzzy msgid "Collider Velocity" -msgstr "Orbitar Visão para a Direita" +msgstr "Velocidade do Colisor" #: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp msgid "Collider Metadata" -msgstr "" +msgstr "Metadados do Colisor" #: scene/2d/polygon_2d.cpp msgid "Invert" @@ -21822,7 +21652,7 @@ msgstr "Gizmos" #: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp msgid "Exclude Parent" -msgstr "" +msgstr "Excluir Pai" #: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp #, fuzzy @@ -21848,14 +21678,12 @@ msgstr "" "funcionar." #: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp -#, fuzzy msgid "Remote Path" -msgstr "Remover Ponto" +msgstr "Remover Caminho" #: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp -#, fuzzy msgid "Use Global Coordinates" -msgstr "Próxima Coordenada" +msgstr "Usar Coordenadas Globais" #: scene/2d/skeleton_2d.cpp scene/3d/skeleton.cpp #, fuzzy @@ -21910,14 +21738,12 @@ msgstr "" "KinematicBody2D, etc. para dar-lhes uma forma." #: scene/2d/tile_map.cpp -#, fuzzy msgid "Tile Set" -msgstr "Conjunto de Telha" +msgstr "Tile Set" #: scene/2d/tile_map.cpp -#, fuzzy msgid "Quadrant Size" -msgstr "Alterar Tamanho da Câmera" +msgstr "Tamanho do Quadrante" #: scene/2d/tile_map.cpp #, fuzzy @@ -21930,9 +21756,8 @@ msgid "Half Offset" msgstr "Inicializar" #: scene/2d/tile_map.cpp -#, fuzzy msgid "Tile Origin" -msgstr "Ver Origem" +msgstr "Origem do Tile" #: scene/2d/tile_map.cpp #, fuzzy @@ -21957,7 +21782,7 @@ msgstr "" #: scene/2d/tile_map.cpp msgid "Use Parent" -msgstr "" +msgstr "Usar Pai" #: scene/2d/tile_map.cpp msgid "Use Kinematic" @@ -21965,20 +21790,19 @@ msgstr "" #: scene/2d/touch_screen_button.cpp msgid "Shape Centered" -msgstr "" +msgstr "Forma Centralizada" #: scene/2d/touch_screen_button.cpp msgid "Shape Visible" -msgstr "" +msgstr "Forma Visível" #: scene/2d/touch_screen_button.cpp msgid "Passby Press" msgstr "" #: scene/2d/touch_screen_button.cpp -#, fuzzy msgid "Visibility Mode" -msgstr "Modo Prioridade" +msgstr "Modo de Visibilidade" #: scene/2d/visibility_notifier_2d.cpp msgid "" @@ -21989,23 +21813,20 @@ msgstr "" "diretamente como pai." #: scene/2d/visibility_notifier_2d.cpp scene/3d/visibility_notifier.cpp -#, fuzzy msgid "Pause Animations" -msgstr "Colar Animação" +msgstr "Pausar Animações" #: scene/2d/visibility_notifier_2d.cpp scene/3d/visibility_notifier.cpp msgid "Freeze Bodies" -msgstr "" +msgstr "Congelar Corpos" #: scene/2d/visibility_notifier_2d.cpp -#, fuzzy msgid "Pause Particles" -msgstr "Partículas" +msgstr "Pausar Partículas" #: scene/2d/visibility_notifier_2d.cpp -#, fuzzy msgid "Pause Animated Sprites" -msgstr "Colar Animação" +msgstr "Pausar Sprites Animados" #: scene/2d/visibility_notifier_2d.cpp #, fuzzy @@ -22035,7 +21856,7 @@ msgstr "" #: scene/3d/arvr_nodes.cpp servers/arvr/arvr_positional_tracker.cpp msgid "Rumble" -msgstr "" +msgstr "Vibrar" #: scene/3d/arvr_nodes.cpp msgid "ARVRController must have an ARVROrigin node as its parent." @@ -22120,14 +21941,12 @@ msgstr "" #: scene/3d/audio_stream_player_3d.cpp #: servers/audio/effects/audio_effect_filter.cpp -#, fuzzy msgid "dB" -msgstr "B" +msgstr "dB" #: scene/3d/audio_stream_player_3d.cpp -#, fuzzy msgid "Doppler" -msgstr "Ativar Doppler" +msgstr "Doppler" #: scene/3d/audio_stream_player_3d.cpp #, fuzzy @@ -22191,9 +22010,8 @@ msgid "Use HDR" msgstr "Usar HDR" #: scene/3d/baked_lightmap.cpp -#, fuzzy msgid "Use Color" -msgstr "Cores" +msgstr "Usar Cor" #: scene/3d/baked_lightmap.cpp #, fuzzy @@ -22205,32 +22023,28 @@ msgid "Atlas" msgstr "Atlas" #: scene/3d/baked_lightmap.cpp -#, fuzzy msgid "Generate" -msgstr "Geral" +msgstr "Gerar" #: scene/3d/baked_lightmap.cpp msgid "Max Size" msgstr "Tamanho Máximo" #: scene/3d/baked_lightmap.cpp -#, fuzzy msgid "Custom Sky" -msgstr "Recortar Nós" +msgstr "Céu Personalizado" #: scene/3d/baked_lightmap.cpp msgid "Custom Sky Rotation Degrees" msgstr "Graus de Rotação do Céu Personalizados" #: scene/3d/baked_lightmap.cpp scene/3d/ray_cast.cpp -#, fuzzy msgid "Custom Color" -msgstr "Recortar Nós" +msgstr "Cor Personalizada" #: scene/3d/baked_lightmap.cpp -#, fuzzy msgid "Custom Energy" -msgstr "Mover Efeito de Canal" +msgstr "Energia Personalizada" #: scene/3d/baked_lightmap.cpp #, fuzzy @@ -22406,28 +22220,24 @@ msgid "Ring Axis" msgstr "Avisos" #: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp -#, fuzzy msgid "Rotate Y" -msgstr "Rotacionar" +msgstr "Rotacionar em Y" #: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp -#, fuzzy msgid "Disable Z" -msgstr "Item Desativado" +msgstr "Desativar Z" #: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp msgid "Flatness" msgstr "" #: scene/3d/cull_instance.cpp servers/visual_server.cpp -#, fuzzy msgid "Portals" -msgstr "Inverter Horizontalmente" +msgstr "Portais" #: scene/3d/cull_instance.cpp -#, fuzzy msgid "Portal Mode" -msgstr "Modo Prioridade" +msgstr "Modo Portal" #: scene/3d/cull_instance.cpp msgid "Include In Bound" @@ -22482,9 +22292,8 @@ msgstr "" #: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp #: scene/resources/primitive_meshes.cpp -#, fuzzy msgid "Pixel Size" -msgstr "Snap de Pixel" +msgstr "Tamanho de Pixel" #: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp msgid "Billboard" @@ -22505,9 +22314,8 @@ msgid "No Depth Test" msgstr "" #: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp -#, fuzzy msgid "Fixed Size" -msgstr "Visão Frontal" +msgstr "Tamanho Fixo" #: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp msgid "Alpha Cut" @@ -22534,18 +22342,16 @@ msgstr "Forçar Módulo Branco" #: scene/3d/label_3d.cpp scene/resources/default_theme/default_theme.cpp #: scene/resources/dynamic_font.cpp scene/resources/primitive_meshes.cpp -#, fuzzy msgid "Font" -msgstr "Fontes" +msgstr "Fonte" #: scene/3d/label_3d.cpp scene/resources/primitive_meshes.cpp msgid "Horizontal Alignment" msgstr "Alinhamento Horizontal" #: scene/3d/label_3d.cpp -#, fuzzy msgid "Vertical Alignment" -msgstr "Filtrar sinais" +msgstr "Alinhamento Vertical" #: scene/3d/label_3d.cpp scene/gui/dialogs.cpp scene/gui/label.cpp #, fuzzy @@ -22553,9 +22359,8 @@ msgid "Autowrap" msgstr "AutoLoad" #: scene/3d/light.cpp -#, fuzzy msgid "Indirect Energy" -msgstr "Cores de Emissão" +msgstr "Energia Indireta" #: scene/3d/light.cpp msgid "Negative" @@ -22631,7 +22436,7 @@ msgstr "Um SpotLight com um ângulo maior que 90 graus não pode criar sombras." #: scene/3d/light.cpp msgid "Spot" -msgstr "" +msgstr "Ponto" #: scene/3d/light.cpp msgid "Angle Attenuation" @@ -22669,9 +22474,8 @@ msgid "Agent Height Offset" msgstr "" #: scene/3d/navigation_agent.cpp -#, fuzzy msgid "Ignore Y" -msgstr "(Ignore)" +msgstr "Ignorar Y" #: scene/3d/navigation_agent.cpp msgid "" @@ -22679,9 +22483,8 @@ msgid "" msgstr "" #: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp -#, fuzzy msgid "NavMesh" -msgstr "Bake NavMesh" +msgstr "NavMesh" #: scene/3d/navigation_obstacle.cpp msgid "" @@ -22698,7 +22501,6 @@ msgid "Only uniform scales are supported." msgstr "Apenas escalas uniformes são suportadas." #: scene/3d/particles.cpp -#, fuzzy msgid "" "GPU-based particles are not supported by the GLES2 video driver.\n" "Use the CPUParticles node instead. You can use the \"Convert to " @@ -22731,9 +22533,8 @@ msgstr "" "Billboard está definido como \"Particle Billboard\"." #: scene/3d/particles.cpp -#, fuzzy msgid "Visibility AABB" -msgstr "Alternar Visibilidade" +msgstr "Visibilidade AABB" #: scene/3d/particles.cpp msgid "Draw Passes" @@ -22756,7 +22557,6 @@ msgstr "" "no recurso de Curva do Caminho do seu pai." #: scene/3d/path.cpp -#, fuzzy msgid "Rotation Mode" msgstr "Modo de Rotação" @@ -22776,31 +22576,28 @@ msgid "Axis Lock" msgstr "Eixo" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear X" -msgstr "Linear" +msgstr "X Linear" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Y" -msgstr "Linear" +msgstr "Y Linear" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Z" -msgstr "Linear" +msgstr "Z Linear" #: scene/3d/physics_body.cpp msgid "Angular X" -msgstr "" +msgstr "X Angular" #: scene/3d/physics_body.cpp msgid "Angular Y" -msgstr "" +msgstr "Y Angular" #: scene/3d/physics_body.cpp msgid "Angular Z" -msgstr "" +msgstr "Z Angular" #: scene/3d/physics_body.cpp #, fuzzy @@ -22841,9 +22638,8 @@ msgid "Relaxation" msgstr "Relaxamento" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Limit Enabled" -msgstr "Filtrar sinais" +msgstr "Limite Angular Habilitado" #: scene/3d/physics_body.cpp #, fuzzy @@ -22918,9 +22714,8 @@ msgid "Z" msgstr "Z" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Limit Enabled" -msgstr "Linear" +msgstr "Limite Linear Habilitado" #: scene/3d/physics_body.cpp #, fuzzy @@ -22938,9 +22733,8 @@ msgid "Linear Spring Damping" msgstr "Linear" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Equilibrium Point" -msgstr "Linear" +msgstr "Ponto de Equilíbrio Linear" #: scene/3d/physics_body.cpp #, fuzzy @@ -22964,7 +22758,7 @@ msgstr "Animação" #: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp msgid "ERP" -msgstr "" +msgstr "ERP" #: scene/3d/physics_body.cpp #, fuzzy @@ -22981,7 +22775,7 @@ msgstr "" #: scene/3d/physics_body.cpp msgid "Angular Equilibrium Point" -msgstr "" +msgstr "Ponto de Equilíbrio Angular" #: scene/3d/physics_body.cpp msgid "Body Offset" @@ -22989,11 +22783,11 @@ msgstr "Deslocamento do Corpo" #: scene/3d/physics_joint.cpp msgid "Node A and Node B must be PhysicsBodies" -msgstr "Nó A e Nó B devem ser PhysicsBodys" +msgstr "Nó A e Nó B devem ser PhysicsBodies" #: scene/3d/physics_joint.cpp msgid "Node A must be a PhysicsBody" -msgstr "Nó A deve ser PhysicsBody" +msgstr "Nó A deve ser um PhysicsBody" #: scene/3d/physics_joint.cpp msgid "Node B must be a PhysicsBody" @@ -23005,14 +22799,13 @@ msgstr "A junta não está conectada a nenhum PhysicsBody" #: scene/3d/physics_joint.cpp msgid "Node A and Node B must be different PhysicsBodies" -msgstr "Nó A e Nó B devem ser diferente PhysicsBodies" +msgstr "Nó A e Nó B devem ser diferentes PhysicsBodies" #: scene/3d/physics_joint.cpp msgid "Solver" msgstr "" #: scene/3d/physics_joint.cpp -#, fuzzy msgid "Exclude Nodes" msgstr "Excluir Nós" @@ -23022,7 +22815,7 @@ msgstr "Parâmetros" #: scene/3d/physics_joint.cpp msgid "Angular Limit" -msgstr "" +msgstr "Limite Angular" #: scene/3d/physics_joint.cpp #, fuzzy @@ -23048,9 +22841,8 @@ msgid "Max Impulse" msgstr "Impulso Máximo" #: scene/3d/physics_joint.cpp -#, fuzzy msgid "Linear Limit" -msgstr "Linear" +msgstr "Limite Linear" #: scene/3d/physics_joint.cpp msgid "Upper Distance" @@ -23115,7 +22907,7 @@ msgstr "Linear" #: scene/3d/physics_joint.cpp msgid "Equilibrium Point" -msgstr "" +msgstr "Ponto de Equilíbrio" #: scene/3d/physics_joint.cpp msgid "Angular Limit X" @@ -23213,9 +23005,8 @@ msgid "Use Default Margin" msgstr "Padrão" #: scene/3d/proximity_group.cpp -#, fuzzy msgid "Group Name" -msgstr "Agrupado" +msgstr "Nome do Grupo" #: scene/3d/proximity_group.cpp msgid "Dispatch Mode" @@ -23249,19 +23040,16 @@ msgid "Box Projection" msgstr "Projeto" #: scene/3d/reflection_probe.cpp -#, fuzzy msgid "Enable Shadows" -msgstr "Ativar Snap" +msgstr "Habilitar Sombras" #: scene/3d/reflection_probe.cpp -#, fuzzy msgid "Ambient Color" -msgstr "Escolher Cor" +msgstr "Cor Ambiente" #: scene/3d/reflection_probe.cpp -#, fuzzy msgid "Ambient Energy" -msgstr "Cores de Emissão" +msgstr "Energia Ambiente" #: scene/3d/reflection_probe.cpp #, fuzzy @@ -23335,7 +23123,7 @@ msgstr "" #: scene/3d/room_manager.cpp msgid "There should only be one RoomManager in the SceneTree." -msgstr "Só Deve existir um RoomManager na SceneTree." +msgstr "Só deve existir um RoomManager na SceneTree." #: scene/3d/room_manager.cpp msgid "Main" @@ -23345,32 +23133,28 @@ msgstr "Principal" #: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp #: scene/animation/animation_tree_player.cpp #: servers/audio/effects/audio_effect_delay.cpp -#, fuzzy msgid "Active" -msgstr "Ação" +msgstr "Ativo" #: scene/3d/room_manager.cpp msgid "Roomlist" msgstr "" #: scene/3d/room_manager.cpp servers/visual_server.cpp -#, fuzzy msgid "PVS" -msgstr "FPS" +msgstr "PVS" #: scene/3d/room_manager.cpp -#, fuzzy msgid "PVS Mode" -msgstr "Modo Panorâmico" +msgstr "Modo PVS" #: scene/3d/room_manager.cpp -#, fuzzy msgid "PVS Filename" -msgstr "Arquivo ZIP" +msgstr "Nome do Arquivo PVS" #: scene/3d/room_manager.cpp servers/visual_server.cpp msgid "Gameplay" -msgstr "" +msgstr "Jogabilidade" #: scene/3d/room_manager.cpp #, fuzzy @@ -23378,19 +23162,16 @@ msgid "Gameplay Monitor" msgstr "Monitor" #: scene/3d/room_manager.cpp -#, fuzzy msgid "Use Secondary PVS" -msgstr "Usar Encaixe Escalar" +msgstr "Usar PVS Secundário" #: scene/3d/room_manager.cpp -#, fuzzy msgid "Merge Meshes" -msgstr "Malha" +msgstr "Mesclar Malhas" #: scene/3d/room_manager.cpp -#, fuzzy msgid "Show Margins" -msgstr "Mostrar Origem" +msgstr "Mostrar Margens" #: scene/3d/room_manager.cpp #, fuzzy @@ -23411,9 +23192,8 @@ msgid "Portal Depth Limit" msgstr "" #: scene/3d/room_manager.cpp -#, fuzzy msgid "Default Portal Margin" -msgstr "Definir Margem" +msgstr "Margem Padrão de Portal" #: scene/3d/room_manager.cpp #, fuzzy @@ -23499,9 +23279,8 @@ msgid "Spatial Attachment Path" msgstr "" #: scene/3d/soft_body.cpp -#, fuzzy msgid "Physics Enabled" -msgstr "Frame de Física %" +msgstr "Física Ativada" #: scene/3d/soft_body.cpp #, fuzzy @@ -23530,7 +23309,7 @@ msgstr "" #: scene/3d/soft_body.cpp msgid "Pressure Coefficient" -msgstr "" +msgstr "Coeficiente de Pressão" #: scene/3d/soft_body.cpp msgid "Damping Coefficient" @@ -23559,18 +23338,16 @@ msgstr "" "Altere o tamanho em formas de colisão de crianças." #: scene/3d/spatial.cpp -#, fuzzy msgid "Global Translation" -msgstr "Manter Transformação Global" +msgstr "Transformação Global" #: scene/3d/spatial.cpp msgid "Matrix" msgstr "Matriz" #: scene/3d/spatial.cpp -#, fuzzy msgid "Gizmo" -msgstr "Gizmos" +msgstr "Gizmo" #: scene/3d/spatial_velocity_tracker.cpp #, fuzzy @@ -23611,13 +23388,12 @@ msgid "Per-Wheel Motion" msgstr "Roda para Baixo" #: scene/3d/vehicle_body.cpp -#, fuzzy msgid "Engine Force" -msgstr "Documentação Online" +msgstr "Força do Motor" #: scene/3d/vehicle_body.cpp msgid "Brake" -msgstr "" +msgstr "Freio" #: scene/3d/vehicle_body.cpp msgid "Steering" @@ -23649,9 +23425,8 @@ msgid "Friction Slip" msgstr "Funções" #: scene/3d/vehicle_body.cpp -#, fuzzy msgid "Suspension" -msgstr "Expressão" +msgstr "Suspensão" #: scene/3d/vehicle_body.cpp #, fuzzy @@ -23660,12 +23435,11 @@ msgstr "Erro" #: scene/3d/visibility_notifier.cpp msgid "AABB" -msgstr "" +msgstr "AABB" #: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp -#, fuzzy msgid "Geometry" -msgstr "Tentar Novamente" +msgstr "Geometria" #: scene/3d/visual_instance.cpp #, fuzzy @@ -23701,7 +23475,7 @@ msgstr "" #: scene/3d/visual_instance.cpp msgid "LOD" -msgstr "" +msgstr "LOD (Nível de Detalhe)" #: scene/3d/visual_instance.cpp scene/animation/skeleton_ik.cpp #: scene/resources/material.cpp @@ -24455,7 +24229,7 @@ msgstr "Carregar como Substituto" #: scene/gui/line_edit.cpp msgid "Alpha" -msgstr "" +msgstr "Alfa" #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Caret" @@ -24629,7 +24403,7 @@ msgstr "Caractere" #: scene/gui/rich_text_label.cpp msgid "BBCode" -msgstr "" +msgstr "BBCode" #: scene/gui/rich_text_label.cpp msgid "Meta Underlined" @@ -25008,7 +24782,7 @@ msgstr "Separador Nomeado" #: scene/main/node.cpp msgid "Name Casing" -msgstr "" +msgstr "Capitalização do Nome" #: scene/main/node.cpp #, fuzzy @@ -25021,9 +24795,8 @@ msgid "Pause Mode" msgstr "Modo Panorâmico" #: scene/main/node.cpp -#, fuzzy msgid "Physics Interpolation Mode" -msgstr "Modo de Interpolação" +msgstr "Modo de Interpolação da Física" #: scene/main/node.cpp #, fuzzy @@ -25091,7 +24864,7 @@ msgstr "Formas" #: scene/main/scene_tree.cpp msgid "Shape Color" -msgstr "" +msgstr "Cor da Forma" #: scene/main/scene_tree.cpp #, fuzzy @@ -25100,7 +24873,7 @@ msgstr "Escolher Cor" #: scene/main/scene_tree.cpp msgid "Geometry Color" -msgstr "" +msgstr "Cor da Geometria" #: scene/main/scene_tree.cpp #, fuzzy @@ -25149,9 +24922,8 @@ msgid "Use 32 BPC Depth" msgstr "" #: scene/main/scene_tree.cpp -#, fuzzy msgid "Default Environment" -msgstr "Visualizar Ambiente" +msgstr "Ambiente Padrão" #: scene/main/scene_tree.cpp msgid "" @@ -25227,9 +24999,8 @@ msgid "World 2D" msgstr "Mundo 2D" #: scene/main/viewport.cpp -#, fuzzy msgid "Transparent BG" -msgstr "Transpor" +msgstr "Fundo Transparente" #: scene/main/viewport.cpp #, fuzzy @@ -25256,7 +25027,6 @@ msgid "Keep 3D Linear" msgstr "Linear Esquerda" #: scene/main/viewport.cpp -#, fuzzy msgid "Render Direct To Screen" msgstr "Renderizar Diretamente para a Tela" @@ -25573,7 +25343,7 @@ msgstr "Cena Principal" #: scene/resources/default_theme/default_theme.cpp #, fuzzy msgid "BG" -msgstr "B" +msgstr "Plano de Fundo" #: scene/resources/default_theme/default_theme.cpp msgid "FG" @@ -25834,7 +25604,7 @@ msgstr "Selecionar" #: scene/resources/default_theme/default_theme.cpp msgid "Cursor Unfocused" -msgstr "" +msgstr "Cursor Desfocado" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25954,7 +25724,7 @@ msgstr "Guia 1" #: scene/resources/default_theme/default_theme.cpp #, fuzzy msgid "Tab BG" -msgstr "Guia 1" +msgstr "Plano de Fundo da Aba" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -26062,9 +25832,8 @@ msgid "Color Sample" msgstr "Cores" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Preset BG" -msgstr "Predefinição" +msgstr "Fundo Predefinido" #: scene/resources/default_theme/default_theme.cpp msgid "Overbright Indicator" @@ -26076,9 +25845,8 @@ msgid "Preset FG" msgstr "Predefinição" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Preset BG Icon" -msgstr "Predefinição" +msgstr "Ícone de Fundo Predefinido" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -26231,7 +25999,7 @@ msgstr "Com Dados" #: scene/resources/environment.cpp msgid "Background" -msgstr "" +msgstr "Plano de Fundo" #: scene/resources/environment.cpp scene/resources/sky.cpp msgid "Sky" @@ -26583,7 +26351,7 @@ msgstr "" #: scene/resources/material.cpp msgid "Do Not Receive Shadows" -msgstr "" +msgstr "Não Receber Sombras" #: scene/resources/material.cpp #, fuzzy @@ -26843,7 +26611,7 @@ msgstr "Instância" #: scene/resources/multimesh.cpp msgid "Visible Instance Count" -msgstr "" +msgstr "Quantidade de Instâncias Visíveis" #: scene/resources/navigation_mesh.cpp msgid "Sampling" @@ -26903,7 +26671,7 @@ msgstr "Erro" #: scene/resources/navigation_mesh.cpp msgid "Verts Per Poly" -msgstr "" +msgstr "Vértices Por Polígono" #: scene/resources/navigation_mesh.cpp #, fuzzy @@ -26943,7 +26711,7 @@ msgstr "Deslocamento Base" #: scene/resources/occluder_shape.cpp msgid "Spheres" -msgstr "" +msgstr "Esferas" #: scene/resources/occluder_shape.cpp msgid "OccluderShapeSphere Set Spheres" @@ -27390,11 +27158,11 @@ msgstr "Margem de Ligação da Borda" #: scene/resources/world_2d.cpp msgid "Canvas" -msgstr "" +msgstr "Canvas" #: servers/arvr/arvr_interface.cpp msgid "Is Primary" -msgstr "" +msgstr "É Principal" #: servers/arvr/arvr_interface.cpp #, fuzzy @@ -27431,7 +27199,7 @@ msgstr "" #: servers/audio/effects/audio_effect_chorus.cpp msgid "Voice Count" -msgstr "" +msgstr "Quantidade de Vozes" #: servers/audio/effects/audio_effect_chorus.cpp #: servers/audio/effects/audio_effect_delay.cpp @@ -27610,9 +27378,8 @@ msgid "Enable Audio Input" msgstr "Renomear Canal de Áudio" #: servers/audio_server.cpp -#, fuzzy msgid "Output Latency" -msgstr "Saída" +msgstr "Latência de Saída" #: servers/audio_server.cpp msgid "Channel Disable Threshold dB" @@ -27661,7 +27428,7 @@ msgstr "" #: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp msgid "Time Before Sleep" -msgstr "" +msgstr "Tempo Antes de Dormir" #: servers/physics_2d/physics_2d_server_sw.cpp msgid "BP Hash Table Size" @@ -27673,12 +27440,11 @@ msgstr "" #: servers/physics_2d_server.cpp servers/physics_server.cpp msgid "Inverse Mass" -msgstr "" +msgstr "Inverter Massa" #: servers/physics_2d_server.cpp servers/physics_server.cpp -#, fuzzy msgid "Inverse Inertia" -msgstr "Visão Livre na Esquerda" +msgstr "Inverter Inércia" #: servers/physics_2d_server.cpp servers/physics_server.cpp msgid "Total Angular Damp" @@ -27701,7 +27467,7 @@ msgstr "Inicializar" #: servers/physics_2d_server.cpp servers/physics_server.cpp msgid "Exclude" -msgstr "" +msgstr "Excluir" #: servers/physics_2d_server.cpp servers/physics_server.cpp msgid "Shape RID" @@ -27714,7 +27480,7 @@ msgstr "Modo Colisão" #: servers/physics_2d_server.cpp servers/physics_server.cpp msgid "Collide With Areas" -msgstr "" +msgstr "Colidir com Áreas" #: servers/physics_2d_server.cpp servers/physics_server.cpp msgid "Motion Remainder" @@ -27834,7 +27600,7 @@ msgstr "Importar Tema" #: servers/visual_server.cpp msgid "Lossless Compression" -msgstr "" +msgstr "Compressão Sem Perda" #: servers/visual_server.cpp #, fuzzy @@ -27843,7 +27609,7 @@ msgstr "Forçar Push" #: servers/visual_server.cpp msgid "WebP Compression Level" -msgstr "" +msgstr "Nível de Compressão WebP" #: servers/visual_server.cpp msgid "Time Rollover Secs" @@ -27887,7 +27653,7 @@ msgstr "Seleção Central" #: servers/visual_server.cpp msgid "High Quality GGX" -msgstr "" +msgstr "GGX de Alta Qualidade" #: servers/visual_server.cpp msgid "Irradiance Max Size" @@ -28034,7 +27800,7 @@ msgstr "Colar Frame" #: servers/visual_server.cpp msgid "GLES2" -msgstr "" +msgstr "GLES2" #: servers/visual_server.cpp msgid "Compatibility" @@ -28056,11 +27822,11 @@ msgstr "Expressão" #: servers/visual_server.cpp msgid "UV Contract" -msgstr "" +msgstr "Contrato UV" #: servers/visual_server.cpp msgid "UV Contract Amount" -msgstr "" +msgstr "Valor do Contrato UV" #: servers/visual_server.cpp #, fuzzy @@ -28093,7 +27859,7 @@ msgstr "Ver Ocultação Pela Oclusão" #: servers/visual_server.cpp msgid "Max Active Spheres" -msgstr "" +msgstr "Máximo de Esferas Ativas" #: servers/visual_server.cpp #, fuzzy @@ -28107,13 +27873,12 @@ msgstr "Modo de Interpolação" #: servers/visual_server.cpp msgid "Max Simultaneous Compiles" -msgstr "" +msgstr "Compilações Simultâneas Máximas" #: servers/visual_server.cpp msgid "Log Active Async Compiles Count" msgstr "" #: servers/visual_server.cpp -#, fuzzy msgid "Shader Cache Size (MB)" -msgstr "Alterar Tamanho da Câmera" +msgstr "Tamanho do Cache de Shader (MB)" diff --git a/editor/translations/ro.po b/editor/translations/ro.po index a78712c6ba..0dc49c7dba 100644 --- a/editor/translations/ro.po +++ b/editor/translations/ro.po @@ -4608,6 +4608,7 @@ msgstr "Proiect Divers sau unelte pentru scenă." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Proiect" @@ -7508,7 +7509,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15712,18 +15714,18 @@ msgstr "" msgid "Make Local" msgstr "Creează Oase" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Nume Nod:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "Nume Nod:" #: editor/scene_tree_dock.cpp @@ -15930,6 +15932,11 @@ msgstr "Adaugă în Grup" #: editor/scene_tree_editor.cpp #, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Nume Nod:" + +#: editor/scene_tree_editor.cpp +#, fuzzy msgid "(Connecting From)" msgstr "Eroare de Conexiune" @@ -15993,6 +16000,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -17921,6 +17932,21 @@ msgstr "Toată selecția" msgid "Auto Update Project" msgstr "Exportă Proiectul" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Afișează Tot" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Alegeţi un Director" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Alegeţi un Director" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -19752,6 +19778,11 @@ msgstr "Creează Nod" msgid "Custom BG Color" msgstr "Creează Nod" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Extinde Toate" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20600,6 +20631,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid package short name." msgstr "Nume nevalid." diff --git a/editor/translations/ru.po b/editor/translations/ru.po index 1df1d87308..b79923abf1 100644 --- a/editor/translations/ru.po +++ b/editor/translations/ru.po @@ -78,7 +78,7 @@ # Alex Tern <ternvein@gmail.com>, 2020. # Varion Drakon Neonovich <variondrakon@gmail.com>, 2020. # d2cyb <dmitrydpb@gmail.com>, 2020. -# Алексей Смирнов <tir74@mail.ru>, 2020. +# Алексей Смирнов <tir74@mail.ru>, 2020, 2022. # Calamander <Calamander@yandex.ru>, 2020. # Terminator <fresh-ter@yandex.com>, 2020. # Anatoly Kuznetsov <muffinnorth@yandex.ru>, 2020. @@ -119,13 +119,18 @@ # Vadim Mitroshkin <Vadim7540@yandex.ru>, 2022. # Maksim Marchukov <mar.maksim63@gmail.com>, 2022. # Slava Beloglazov <slavathedeveloper@gmail.com>, 2022. +# Sned Of Bread <d.cto20181389@gmail.com>, 2022. +# Kedr <lava20121991@gmail.com>, 2022. +# Gulpy <yak.aryslan.1999@gmail.com>, 2022. +# Sergey Karmanov <ppoocpel8888@gmail.com>, 2022. +# Дмитрий <Dimega@inbox.ru>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-07-26 01:55+0000\n" -"Last-Translator: NeoLan Qu <it.bulla@mail.ru>\n" +"PO-Revision-Date: 2022-09-01 15:11+0000\n" +"Last-Translator: Дмитрий <Dimega@inbox.ru>\n" "Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/" "godot/ru/>\n" "Language: ru\n" @@ -134,7 +139,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.14-dev\n" +"X-Generator: Weblate 4.14.1-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" @@ -506,9 +511,8 @@ msgid "Command" msgstr "Command" #: core/os/input_event.cpp -#, fuzzy msgid "Physical" -msgstr "(Физическая)" +msgstr "Физический" #: core/os/input_event.cpp scene/2d/touch_screen_button.cpp #: scene/gui/base_button.cpp scene/gui/texture_button.cpp @@ -764,14 +768,12 @@ msgid "Script Templates Search Path" msgstr "Путь поиска шаблонов скриптов" #: core/project_settings.cpp -#, fuzzy msgid "Version Control Autoload On Startup" -msgstr "Автозагрузка при запуске" +msgstr "Автозагрузка системы управления версиями при запуске" #: core/project_settings.cpp -#, fuzzy msgid "Version Control Plugin Name" -msgstr "Контроль версий" +msgstr "Название плагина контроля версий" #: core/project_settings.cpp scene/2d/collision_object_2d.cpp #: scene/3d/collision_object.cpp scene/gui/control.cpp @@ -2852,7 +2854,6 @@ msgid "Project export for platform:" msgstr "Экспорт проекта для платформы:" #: editor/editor_export.cpp -#, fuzzy msgid "Completed with warnings." msgstr "Завершено с ошибками." @@ -2861,9 +2862,8 @@ msgid "Completed successfully." msgstr "Завершено без ошибок." #: editor/editor_export.cpp -#, fuzzy msgid "Failed." -msgstr "Не удалось:" +msgstr "Ошибка." #: editor/editor_export.cpp msgid "Storing File:" @@ -2882,24 +2882,20 @@ msgid "Save PCK" msgstr "Сохранить PCK" #: editor/editor_export.cpp -#, fuzzy msgid "Cannot create file \"%s\"." -msgstr "Невозможно создать папку." +msgstr "Невозможно создать файл \"%s\"." #: editor/editor_export.cpp -#, fuzzy msgid "Failed to export project files." -msgstr "Не удалось экспортировать файлы проекта" +msgstr "Не удалось экспортировать файлы проекта." #: editor/editor_export.cpp -#, fuzzy msgid "Can't open file to read from path \"%s\"." -msgstr "Невозможно открыть файл для записи:" +msgstr "Не удается открыть файл для чтения из пути \"%s\"." #: editor/editor_export.cpp -#, fuzzy msgid "Save ZIP" -msgstr "Сохранить как" +msgstr "Сохранить ZIP" #: editor/editor_export.cpp msgid "" @@ -3019,30 +3015,25 @@ msgid "Custom release template not found." msgstr "Пользовательский релизный шаблон не найден." #: editor/editor_export.cpp -#, fuzzy msgid "Prepare Template" -msgstr "Управление шаблонами" +msgstr "Подготовить шаблон" #: editor/editor_export.cpp platform/osx/export/export.cpp -#, fuzzy msgid "The given export path doesn't exist." -msgstr "Данный путь экспорта не существует:" +msgstr "Указанный путь экспорта не существует." #: editor/editor_export.cpp platform/javascript/export/export.cpp -#, fuzzy msgid "Template file not found: \"%s\"." -msgstr "Файл шаблона не найден:" +msgstr "Не найден файл шаблона: \"%s\"." #: editor/editor_export.cpp -#, fuzzy msgid "Failed to copy export template." -msgstr "Неверный шаблон экспорта:" +msgstr "Не удалось скопировать шаблон экспорта." #: editor/editor_export.cpp platform/windows/export/export.cpp #: platform/x11/export/export.cpp -#, fuzzy msgid "PCK Embedding" -msgstr "Отступ" +msgstr "Встраивание PCK" #: editor/editor_export.cpp msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB." @@ -4594,6 +4585,7 @@ msgstr "Прочие инструменты." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Проект" @@ -5311,9 +5303,8 @@ msgstr "" "существующий пресет как активный." #: editor/editor_run_native.cpp -#, fuzzy msgid "Project Run" -msgstr "Проект" +msgstr "Запуск проекта" #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." @@ -5596,13 +5587,12 @@ msgid "Mouse Extra Buttons Navigate History" msgstr "Навигация по истории дополнительными кнопками мыши" #: editor/editor_settings.cpp -#, fuzzy msgid "Drag And Drop Selection" -msgstr "Выделение сетки" +msgstr "DragAndDrop выделение" #: editor/editor_settings.cpp msgid "Stay In Script Editor On Node Selected" -msgstr "" +msgstr "Остаться в Редакторе Скриптов На Выбранном Узле" #: editor/editor_settings.cpp msgid "Appearance" @@ -7366,7 +7356,8 @@ msgid "8 Bit" msgstr "8-бит" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "Моно" @@ -11599,9 +11590,8 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "Недопустимая геометрия, не может быть заменена полисеткой." #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Convert to MeshInstance2D" -msgstr "Преобразовать в Mesh2D" +msgstr "Преобразование в MeshInstance2D" #: editor/plugins/sprite_editor_plugin.cpp msgid "Invalid geometry, can't create polygon." @@ -11707,7 +11697,7 @@ msgstr "Новая анимация" #: editor/plugins/sprite_frames_editor_plugin.cpp #, fuzzy msgid "Filter animations" -msgstr "Фильтр методов" +msgstr "Фильтровать анимации" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed:" @@ -14231,12 +14221,10 @@ msgid "Export All" msgstr "Экспортировать всё" #: editor/project_export.cpp -#, fuzzy msgid "Choose an export mode:" -msgstr "Пожалуйста, выберите пустую папку." +msgstr "Пожалуйста, выберите режим экспорта:" #: editor/project_export.cpp -#, fuzzy msgid "Export All..." msgstr "Экспортировать всё" @@ -14393,7 +14381,7 @@ msgstr "Отрисовщик:" #: editor/project_manager.cpp msgid "OpenGL ES 3.0" -msgstr "ОткрытыйGL ES 3.0" +msgstr "OpenGL ES 3.0" #: editor/project_manager.cpp msgid "Not supported by your GPU drivers." @@ -14413,7 +14401,7 @@ msgstr "" #: editor/project_manager.cpp msgid "OpenGL ES 2.0" -msgstr "ОткрытыйGL ES 2.0" +msgstr "OpenGL ES 2.0" #: editor/project_manager.cpp msgid "" @@ -15370,16 +15358,19 @@ msgstr "" msgid "Make Local" msgstr "Сделать локальным" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "Данное уникальное имя уже использовано у другого узла в сцене." - #: editor/scene_tree_dock.cpp -msgid "Enable Scene Unique Name" +#, fuzzy +msgid "Enable Scene Unique Name(s)" msgstr "Добавить уникальное имя сцене" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Disable Scene Unique Name" +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Unique names already used by another node in the scene:" +msgstr "Данное уникальное имя уже использовано у другого узла в сцене." + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Убрать уникальное имя в сцене" #: editor/scene_tree_dock.cpp @@ -15580,6 +15571,10 @@ msgid "Button Group" msgstr "Группа кнопок" #: editor/scene_tree_editor.cpp +msgid "Disable Scene Unique Name" +msgstr "Убрать уникальное имя в сцене" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(Источник)" @@ -15657,6 +15652,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "Некорректное имя узла, следующие символы недопустимы:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "Данное уникальное имя уже использовано у другого узла в сцене." + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "Переименовать узел" @@ -17051,12 +17050,12 @@ msgstr "Узел кости Godot" #: modules/gltf/gltf_skin.cpp #, fuzzy msgid "Skin Root" -msgstr "Новый корень сцены" +msgstr "Корневой скин" #: modules/gltf/gltf_skin.cpp #, fuzzy msgid "Joints Original" -msgstr "Сфокусироваться на начале координат" +msgstr "Суставы Оригинал" #: modules/gltf/gltf_skin.cpp msgid "Inverse Binds" @@ -17065,7 +17064,7 @@ msgstr "Инвертировать Связи" #: modules/gltf/gltf_skin.cpp #, fuzzy msgid "Non Joints" -msgstr "Передвинуть сустав" +msgstr "Не Суставы" #: modules/gltf/gltf_skin.cpp msgid "Joint I To Bone I" @@ -17098,7 +17097,7 @@ msgstr "Зеркальный коэффициент" #: modules/gltf/gltf_spec_gloss.cpp msgid "Spec Gloss Img" -msgstr "" +msgstr "Зеркальное Глянцевое Изображение" #: modules/gltf/gltf_state.cpp msgid "Json" @@ -17115,16 +17114,16 @@ msgstr "Младшая версия" #: modules/gltf/gltf_state.cpp #, fuzzy msgid "GLB Data" -msgstr "С данными" +msgstr "GLB Данные" #: modules/gltf/gltf_state.cpp +#, fuzzy msgid "Use Named Skin Binds" -msgstr "" +msgstr "Использовать Связи Именованного Скина" #: modules/gltf/gltf_state.cpp -#, fuzzy msgid "Buffer Views" -msgstr "Вид сзади" +msgstr "Буфер видов" #: modules/gltf/gltf_state.cpp msgid "Accessors" @@ -17389,23 +17388,23 @@ msgstr "Построение карт освещения" #: modules/lightmapper_cpu/register_types.cpp #, fuzzy msgid "CPU Lightmapper" -msgstr "Запекать карты освещения" +msgstr "CPU Карты освещения" #: modules/lightmapper_cpu/register_types.cpp msgid "Low Quality Ray Count" -msgstr "" +msgstr "Количество Лучей Низкого Качества" #: modules/lightmapper_cpu/register_types.cpp msgid "Medium Quality Ray Count" -msgstr "" +msgstr "Количество Лучей Среднего Качества" #: modules/lightmapper_cpu/register_types.cpp msgid "High Quality Ray Count" -msgstr "" +msgstr "Количество Лучей Высокого Качества" #: modules/lightmapper_cpu/register_types.cpp msgid "Ultra Quality Ray Count" -msgstr "" +msgstr "Количество Лучей Ультра Качества" #: modules/minimp3/audio_stream_mp3.cpp #: modules/minimp3/resource_importer_mp3.cpp @@ -17420,7 +17419,7 @@ msgstr "Высота глаз" #: modules/mobile_vr/mobile_vr_interface.cpp msgid "IOD" -msgstr "" +msgstr "IOD" #: modules/mobile_vr/mobile_vr_interface.cpp #, fuzzy @@ -17434,15 +17433,15 @@ msgstr "Режим без теней" #: modules/mobile_vr/mobile_vr_interface.cpp msgid "Oversample" -msgstr "" +msgstr "Передискретизация" #: modules/mobile_vr/mobile_vr_interface.cpp msgid "K1" -msgstr "" +msgstr "K1" #: modules/mobile_vr/mobile_vr_interface.cpp msgid "K2" -msgstr "" +msgstr "K2" #: modules/mono/csharp_script.cpp msgid "Class name can't be a reserved keyword" @@ -17456,6 +17455,21 @@ msgstr "Собрать решение" msgid "Auto Update Project" msgstr "Автообновление проекта" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Масштаб отображения" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Выбрать каталог" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Выбрать каталог" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "Конец трассировки внутреннего стека исключений" @@ -17536,7 +17550,7 @@ msgstr "Как карта нормалей" #: modules/opensimplex/noise_texture.cpp msgid "Bump Strength" -msgstr "" +msgstr "Сила Bump" #: modules/opensimplex/noise_texture.cpp msgid "Noise" @@ -17562,7 +17576,7 @@ msgstr "Перспективный" #: modules/opensimplex/open_simplex_noise.cpp msgid "Lacunarity" -msgstr "" +msgstr "Лакунарность" #: modules/regex/regex.cpp msgid "Subject" @@ -17578,7 +17592,7 @@ msgstr "Строки" #: modules/upnp/upnp.cpp msgid "Discover Multicast If" -msgstr "" +msgstr "Обнаружить Многоадресную Рассылку, Если" #: modules/upnp/upnp.cpp msgid "Discover Local Port" @@ -17586,7 +17600,7 @@ msgstr "Обнаружить локальный порт" #: modules/upnp/upnp.cpp msgid "Discover IPv6" -msgstr "" +msgstr "Обнаружить IPv6" #: modules/upnp/upnp_device.cpp msgid "Description URL" @@ -17598,7 +17612,7 @@ msgstr "Тип сервиса" #: modules/upnp/upnp_device.cpp msgid "IGD Control URL" -msgstr "" +msgstr "IDG Контроль URL" #: modules/upnp/upnp_device.cpp #, fuzzy @@ -17607,7 +17621,7 @@ msgstr "Установить тип переменной" #: modules/upnp/upnp_device.cpp msgid "IGD Our Addr" -msgstr "" +msgstr "IGD Наш Адр" #: modules/upnp/upnp_device.cpp #, fuzzy @@ -18413,12 +18427,14 @@ msgid "Optional Features" msgstr "Дополнительные Компоненты" #: modules/webxr/webxr_interface.cpp +#, fuzzy msgid "Requested Reference Space Types" -msgstr "" +msgstr "Запрошенные Типы Опорного Пространства" #: modules/webxr/webxr_interface.cpp +#, fuzzy msgid "Reference Space Type" -msgstr "" +msgstr "Тип Опорного Пространства" #: modules/webxr/webxr_interface.cpp msgid "Visibility State" @@ -18443,12 +18459,14 @@ msgid "Debug Keystore" msgstr "Отладочное хранилище ключей" #: platform/android/export/export.cpp +#, fuzzy msgid "Debug Keystore User" -msgstr "" +msgstr "Отладочное Хранилище ключей Пользователя" #: platform/android/export/export.cpp +#, fuzzy msgid "Debug Keystore Pass" -msgstr "" +msgstr "Отладочное Хранилище ключей Паролей" #: platform/android/export/export.cpp msgid "Force System User" @@ -18590,9 +18608,8 @@ msgid "Graphics" msgstr "Смещение графа" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "OpenGL Debug" -msgstr "Открыть" +msgstr "OpenGL Отладка" #: platform/android/export/export_plugin.cpp #, fuzzy @@ -18950,11 +18967,9 @@ msgstr "" "%s. Пожалуйста, переустановите шаблон сборки Android из меню «Проект»." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "" "Unable to overwrite res://android/build/res/*.xml files with project name." -msgstr "" -"Невозможно перезаписать файлы res://android/build/res/*.xml с именем проекта" +msgstr "Невозможно перезаписать res://android/build/res/*.xml с именем проекта" #: platform/android/export/export_plugin.cpp msgid "Could not export project files to gradle project." @@ -18990,9 +19005,8 @@ msgstr "" "проекта gradle на наличие выходных данных." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Package not found: \"%s\"." -msgstr "Пакет не найден: %s" +msgstr "Пакет не найден: \"%s\"." #: platform/android/export/export_plugin.cpp msgid "Creating APK..." @@ -19017,9 +19031,8 @@ msgid "Adding files..." msgstr "Добавление файлов..." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Could not export project files." -msgstr "Не удалось экспортировать файлы проекта" +msgstr "Не удалось экспортировать файлы проекта." #: platform/android/export/export_plugin.cpp msgid "Aligning APK..." @@ -19257,6 +19270,11 @@ msgstr "Пользовательский цвет" msgid "Custom BG Color" msgstr "Пользовательский цвет" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Развернуть все" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -19289,19 +19307,16 @@ msgid "Run exported HTML in the system's default browser." msgstr "Запустить HTML в системном браузере по умолчанию." #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not open template for export: \"%s\"." -msgstr "Не удалось открыть шаблон для экспорта:" +msgstr "Не удалось открыть шаблон для экспорта: \"%s\"." #: platform/javascript/export/export.cpp -#, fuzzy msgid "Invalid export template: \"%s\"." -msgstr "Неверный шаблон экспорта:" +msgstr "Неверный шаблон экспорта: \"%s\"." #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not write file: \"%s\"." -msgstr "Не удалось записать файл:" +msgstr "Не удалось записать файл: \"%s\"." #: platform/javascript/export/export.cpp platform/osx/export/export.cpp #, fuzzy @@ -19309,9 +19324,8 @@ msgid "Icon Creation" msgstr "Задать отступ" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read file: \"%s\"." -msgstr "Не удалось прочитать файл:" +msgstr "Не удалось прочитать файл: \"%s\"." #: platform/javascript/export/export.cpp msgid "PWA" @@ -19392,14 +19406,12 @@ msgid "Icon 512 X 512" msgstr "" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read HTML shell: \"%s\"." -msgstr "Не удалось прочитать HTML-оболочку:" +msgstr "Не удалось прочитать HTML-оболочку: \"%s\"." #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not create HTTP server directory: %s." -msgstr "Не удалось создать каталог HTTP-сервера:" +msgstr "Не удалось создать каталог HTTP-сервера: %s." #: platform/javascript/export/export.cpp #, fuzzy @@ -20144,6 +20156,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "Недопустимое короткое имя пакета." @@ -26223,9 +26241,8 @@ msgid "Camera Feed ID" msgstr "" #: scene/resources/environment.cpp -#, fuzzy msgid "Ambient Light" -msgstr "Отступ вправо" +msgstr "Рассеянный свет" #: scene/resources/environment.cpp #, fuzzy @@ -26458,7 +26475,7 @@ msgstr "" #: scene/resources/environment.cpp msgid "Adjustments" -msgstr "" +msgstr "Adjustments (настройки)" #: scene/resources/environment.cpp #, fuzzy @@ -27900,7 +27917,7 @@ msgstr "Режим интерполяции" #: servers/visual_server.cpp msgid "OpenGL" -msgstr "ОткрытыйGL" +msgstr "OpenGL" #: servers/visual_server.cpp msgid "Batching Send Null" @@ -27990,8 +28007,9 @@ msgid "Precision" msgstr "Точность" #: servers/visual_server.cpp +#, fuzzy msgid "UV Contract" -msgstr "" +msgstr "UV Контракт" #: servers/visual_server.cpp msgid "UV Contract Amount" @@ -28017,7 +28035,7 @@ msgstr "Удалить тайл" #: servers/visual_server.cpp #, fuzzy msgid "Flip Imported Portals" -msgstr "Перевернуть порталы" +msgstr "Перевернуть Импортированные Порталы" #: servers/visual_server.cpp #, fuzzy diff --git a/editor/translations/si.po b/editor/translations/si.po index 8ce2d1d628..5e99894cf1 100644 --- a/editor/translations/si.po +++ b/editor/translations/si.po @@ -4394,6 +4394,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "" @@ -7117,7 +7118,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -14891,18 +14893,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "සජීවීකරණ පුනරාවර්ථනය" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "සජීවීකරණ පුනරාවර්ථනය" #: editor/scene_tree_dock.cpp @@ -15094,6 +15096,11 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "සජීවීකරණ පුනරාවර්ථනය" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "" @@ -15157,6 +15164,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -16975,6 +16986,19 @@ msgstr "" msgid "Auto Update Project" msgstr "මෙම ලුහුබදින්නා ඉවත් කරන්න." +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "නිවේශන මාදිලිය" + +#: modules/mono/godotsharp_dirs.cpp +msgid "Solution Directory" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "C# Project Directory" +msgstr "" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -18700,6 +18724,11 @@ msgstr "යතුරු පිටපත් කරන්න" msgid "Custom BG Color" msgstr "යතුරු පිටපත් කරන්න" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Anim පරිවර්තනය වෙනස් කරන්න" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -19496,6 +19525,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "" diff --git a/editor/translations/sk.po b/editor/translations/sk.po index 7cba3886ba..ebd2256728 100644 --- a/editor/translations/sk.po +++ b/editor/translations/sk.po @@ -4623,6 +4623,7 @@ msgstr "Zmiešanosti projektových alebo scénových wide tool-ov." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Projekt" @@ -7541,7 +7542,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15643,18 +15645,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Meno Node-u:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "Meno Node-u:" #: editor/scene_tree_dock.cpp @@ -15855,6 +15857,11 @@ msgid "Button Group" msgstr "Tlačidlo" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Meno Node-u:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(Pripájanie z)" @@ -15919,6 +15926,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -17845,6 +17856,21 @@ msgstr "Všetky vybrané" msgid "Auto Update Project" msgstr "Projekt" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Zobraziť Všetko" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Vyberte adresár" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Vyberte adresár" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -19676,6 +19702,11 @@ msgstr "Vložiť" msgid "Custom BG Color" msgstr "Vložiť" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Expandovať Všetky" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20524,6 +20555,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid package short name." msgstr "Nesprávna veľkosť písma." diff --git a/editor/translations/sl.po b/editor/translations/sl.po index ceb21aa750..f0e227266d 100644 --- a/editor/translations/sl.po +++ b/editor/translations/sl.po @@ -12,15 +12,15 @@ # Arnold Marko <arnold.marko@gmail.com>, 2019. # Alex <alexrixhardson@gmail.com>, 2019. # Andrew Poženel <andrej.pozenel@outlook.com>, 2020, 2022. -# Jakob Tadej Vrtačnik <minecraftalka2@gmail.com>, 2021. +# Jakob Tadej Vrtačnik <minecraftalka2@gmail.com>, 2021, 2022. # Andrew Poženel <andrew.pozenel@protonmail.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-06-23 16:41+0000\n" -"Last-Translator: Andrew Poženel <andrew.pozenel@protonmail.com>\n" +"PO-Revision-Date: 2022-08-12 17:08+0000\n" +"Last-Translator: Jakob Tadej Vrtačnik <minecraftalka2@gmail.com>\n" "Language-Team: Slovenian <https://hosted.weblate.org/projects/godot-engine/" "godot/sl/>\n" "Language: sl\n" @@ -29,7 +29,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " "n%100==4 ? 2 : 3;\n" -"X-Generator: Weblate 4.13.1-dev\n" +"X-Generator: Weblate 4.14-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" @@ -320,9 +320,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Ni dovolj bajtov za dekodiranje, ali pa je neveljaven format." #: core/math/expression.cpp -#, fuzzy msgid "Invalid input %d (not passed) in expression" -msgstr "Napačen vnos %i(ni podan) v izrazu" +msgstr "Napačen vnos %d (ni podan) v izrazu" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" @@ -351,70 +350,63 @@ msgstr "Na klic '%s':" #: core/math/random_number_generator.cpp #: modules/opensimplex/open_simplex_noise.cpp msgid "Seed" -msgstr "" +msgstr "Seme" #: core/math/random_number_generator.cpp -#, fuzzy msgid "State" -msgstr "Način Vrtenja" +msgstr "Stanje" #: core/message_queue.cpp msgid "Message Queue" -msgstr "" +msgstr "Vrsta sporočil" #: core/message_queue.cpp msgid "Max Size (KB)" -msgstr "" +msgstr "Največja velikost (KB)" #: core/os/input.cpp -#, fuzzy msgid "Mouse Mode" -msgstr "Način Premika" +msgstr "Način kazalca" #: core/os/input.cpp -#, fuzzy msgid "Use Accumulated Input" -msgstr "Izbriši Vnos" +msgstr "Uporabi zbran vnos" #: core/os/input_event.cpp editor/project_settings_editor.cpp #: servers/audio_server.cpp msgid "Device" -msgstr "" +msgstr "Naprava" #: core/os/input_event.cpp -#, fuzzy msgid "Alt" -msgstr "Vse" +msgstr "Alt" #: core/os/input_event.cpp msgid "Shift" -msgstr "" +msgstr "Shift" #: core/os/input_event.cpp -#, fuzzy msgid "Control" -msgstr "Različica:" +msgstr "Control" #: core/os/input_event.cpp msgid "Meta" msgstr "" #: core/os/input_event.cpp -#, fuzzy msgid "Command" -msgstr "Skupnost" +msgstr "Ukaz" #: core/os/input_event.cpp #, fuzzy msgid "Physical" -msgstr "Fizikalni Okvir %" +msgstr "Fizikalno" #: core/os/input_event.cpp scene/2d/touch_screen_button.cpp #: scene/gui/base_button.cpp scene/gui/texture_button.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Pressed" -msgstr "Prednastavitev..." +msgstr "Pritisnjeno" #: core/os/input_event.cpp msgid "Scancode" @@ -430,98 +422,87 @@ msgstr "Unicode" #: core/os/input_event.cpp msgid "Echo" -msgstr "" +msgstr "Odmev" #: core/os/input_event.cpp scene/gui/base_button.cpp #, fuzzy msgid "Button Mask" -msgstr "Dodaj v Skupino" +msgstr "Maska gumba" #: core/os/input_event.cpp scene/2d/node_2d.cpp scene/gui/control.cpp -#, fuzzy msgid "Global Position" -msgstr "Konstanta" +msgstr "Globalna pozicija" #: core/os/input_event.cpp -#, fuzzy msgid "Factor" -msgstr "Nadzornik" +msgstr "Faktor" #: core/os/input_event.cpp -#, fuzzy msgid "Button Index" -msgstr "Način Plošče" +msgstr "Kazalo gumba" #: core/os/input_event.cpp msgid "Doubleclick" -msgstr "" +msgstr "Dvojni klik" #: core/os/input_event.cpp msgid "Tilt" -msgstr "" +msgstr "Nagib" #: core/os/input_event.cpp -#, fuzzy msgid "Pressure" -msgstr "Prednastavitev..." +msgstr "Pritisk" #: core/os/input_event.cpp msgid "Pen Inverted" -msgstr "" +msgstr "Obrnjeno pero" #: core/os/input_event.cpp -#, fuzzy msgid "Relative" -msgstr "Pripni Relativno" +msgstr "Relativno" #: core/os/input_event.cpp scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp #: scene/3d/cpu_particles.cpp scene/3d/interpolated_camera.cpp #: scene/animation/animation_player.cpp scene/resources/environment.cpp #: scene/resources/particles_material.cpp -#, fuzzy msgid "Speed" -msgstr "Prilagodi Velikost:" +msgstr "Hitrost" #: core/os/input_event.cpp editor/project_settings_editor.cpp #: scene/3d/sprite_3d.cpp msgid "Axis" -msgstr "" +msgstr "Os" #: core/os/input_event.cpp -#, fuzzy msgid "Axis Value" -msgstr "Novo ime:" +msgstr "Vrednost osi" #: core/os/input_event.cpp modules/visual_script/visual_script_func_nodes.cpp -#, fuzzy msgid "Index" -msgstr "Način Plošče" +msgstr "Kazalo" #: core/os/input_event.cpp editor/project_settings_editor.cpp #: modules/visual_script/visual_script_nodes.cpp #: scene/2d/touch_screen_button.cpp -#, fuzzy msgid "Action" -msgstr "Premakni Dejanje" +msgstr "Akcija" #: core/os/input_event.cpp scene/resources/environment.cpp #: scene/resources/material.cpp msgid "Strength" -msgstr "" +msgstr "Moč" #: core/os/input_event.cpp msgid "Delta" msgstr "" #: core/os/input_event.cpp -#, fuzzy msgid "Channel" -msgstr "Spremeni" +msgstr "Kanal" #: core/os/input_event.cpp main/main.cpp -#, fuzzy msgid "Message" -msgstr "Usklajuj Spremembe Skript" +msgstr "Sporočilo" #: core/os/input_event.cpp #, fuzzy @@ -532,11 +513,11 @@ msgstr "Prilagodi Velikost:" #: scene/2d/physics_body_2d.cpp scene/3d/cpu_particles.cpp #: scene/3d/physics_body.cpp scene/resources/particles_material.cpp msgid "Velocity" -msgstr "" +msgstr "Hitrost" #: core/os/input_event.cpp msgid "Instrument" -msgstr "" +msgstr "Inštrument" #: core/os/input_event.cpp #, fuzzy @@ -550,19 +531,16 @@ msgstr "" #: core/project_settings.cpp editor/editor_node.cpp main/main.cpp #: platform/iphone/export/export.cpp platform/osx/export/export.cpp #: platform/windows/export/export.cpp -#, fuzzy msgid "Application" -msgstr "Premakni Dejanje" +msgstr "Aplikacija" #: core/project_settings.cpp main/main.cpp -#, fuzzy msgid "Config" -msgstr "Nastavi Zaskok" +msgstr "Konfiguracija" #: core/project_settings.cpp -#, fuzzy msgid "Project Settings Override" -msgstr "Nastavitve Projekta" +msgstr "Preglasi nastavitve projekta" #: core/project_settings.cpp core/resource.cpp #: editor/animation_track_editor.cpp editor/editor_autoload_settings.cpp @@ -580,9 +558,8 @@ msgstr "Ime" #: core/project_settings.cpp editor/editor_help.cpp #: modules/visual_script/visual_script_nodes.cpp platform/uwp/export/export.cpp #: platform/windows/export/export.cpp -#, fuzzy msgid "Description" -msgstr "Opis:" +msgstr "Opis" #: core/project_settings.cpp editor/editor_node.cpp editor/editor_settings.cpp #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp @@ -594,42 +571,42 @@ msgstr "Zaženi" #: core/project_settings.cpp editor/editor_node.cpp #: editor/run_settings_dialog.cpp main/main.cpp msgid "Main Scene" -msgstr "" +msgstr "Glavna scena" #: core/project_settings.cpp -#, fuzzy msgid "Disable stdout" -msgstr "Onemogočen" +msgstr "Onemogoči stdout" #: core/project_settings.cpp -#, fuzzy msgid "Disable stderr" -msgstr "Onemogočen" +msgstr "Onemogoči stderr" #: core/project_settings.cpp msgid "Use Hidden Project Data Directory" -msgstr "" +msgstr "Uporabi imenik skritih podatkov projekta" #: core/project_settings.cpp +#, fuzzy msgid "Use Custom User Dir" -msgstr "" +msgstr "Uporabi posebno uporabniško (režijo?)" #: core/project_settings.cpp +#, fuzzy msgid "Custom User Dir Name" -msgstr "" +msgstr "Posebno uporabniško ime (režije?)" #: core/project_settings.cpp main/main.cpp #: platform/javascript/export/export.cpp platform/osx/export/export.cpp #: platform/uwp/os_uwp.cpp #, fuzzy msgid "Display" -msgstr "Zamenjaj Vse" +msgstr "Zaslon(glagol ali samostalnik?)" #: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp #: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp #: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp msgid "Width" -msgstr "" +msgstr "Širina" #: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp #: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp @@ -638,21 +615,19 @@ msgstr "" #: scene/resources/font.cpp scene/resources/navigation_mesh.cpp #: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp msgid "Height" -msgstr "" +msgstr "Višina" #: core/project_settings.cpp msgid "Always On Top" -msgstr "" +msgstr "Vedno na vrhu" #: core/project_settings.cpp -#, fuzzy msgid "Test Width" -msgstr "Linearno" +msgstr "Testiraj širino" #: core/project_settings.cpp -#, fuzzy msgid "Test Height" -msgstr "Preskušanje" +msgstr "Testiraj višino" #: core/project_settings.cpp editor/animation_track_editor.cpp #: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp @@ -662,7 +637,7 @@ msgstr "Zvok" #: core/project_settings.cpp #, fuzzy msgid "Default Bus Layout" -msgstr "Naloži prevezeto Postavitev Vodila." +msgstr "Privzeta postavitev (?)" #: core/project_settings.cpp editor/editor_export.cpp #: editor/editor_file_system.cpp editor/editor_node.cpp @@ -673,95 +648,84 @@ msgstr "Urejevalnik" #: core/project_settings.cpp msgid "Main Run Args" -msgstr "" +msgstr "Glavni zagonski argumenti" #: core/project_settings.cpp -#, fuzzy msgid "Scene Naming" -msgstr "Pot Prizora:" +msgstr "Imenovanje scene" #: core/project_settings.cpp msgid "Search In File Extensions" -msgstr "" +msgstr "Išči v razširitvah datotek" #: core/project_settings.cpp msgid "Script Templates Search Path" -msgstr "" +msgstr "Pot iskanja predlogov skript" #: core/project_settings.cpp -#, fuzzy msgid "Version Control Autoload On Startup" -msgstr "Različica:" +msgstr "Samodejno nalaganje nadzora različic ob zagonu" #: core/project_settings.cpp -#, fuzzy msgid "Version Control Plugin Name" -msgstr "Različica:" +msgstr "Ime vtičnika za nadzor različic" #: core/project_settings.cpp scene/2d/collision_object_2d.cpp #: scene/3d/collision_object.cpp scene/gui/control.cpp -#, fuzzy msgid "Input" -msgstr "Dodaj Vnos" +msgstr "Vnos" #: core/project_settings.cpp msgid "UI Accept" -msgstr "" +msgstr "UI Sprejmi" #: core/project_settings.cpp -#, fuzzy msgid "UI Select" -msgstr "Izberi" +msgstr "UI Izberi" #: core/project_settings.cpp -#, fuzzy msgid "UI Cancel" -msgstr "Prekliči" +msgstr "UI Prekini" #: core/project_settings.cpp -#, fuzzy msgid "UI Focus Next" -msgstr "Poudari Pot" +msgstr "UI Osredotoči naslednje" #: core/project_settings.cpp -#, fuzzy msgid "UI Focus Prev" -msgstr "Poudari Pot" +msgstr "UI Osredotoči prejšnje" #: core/project_settings.cpp -#, fuzzy msgid "UI Left" -msgstr "Način Vrtenja" +msgstr "UI Levo" #: core/project_settings.cpp -#, fuzzy msgid "UI Right" -msgstr "Način Vrtenja" +msgstr "UI Desno" #: core/project_settings.cpp msgid "UI Up" -msgstr "" +msgstr "UI Gor" #: core/project_settings.cpp -#, fuzzy msgid "UI Down" -msgstr "Prenesi" +msgstr "UI Dol" #: core/project_settings.cpp msgid "UI Page Up" -msgstr "" +msgstr "UI Page Up" #: core/project_settings.cpp msgid "UI Page Down" -msgstr "" +msgstr "UI Page Down" #: core/project_settings.cpp msgid "UI Home" -msgstr "" +msgstr "UI Home" #: core/project_settings.cpp msgid "UI End" -msgstr "" +msgstr "UI End" #: core/project_settings.cpp main/main.cpp modules/bullet/register_types.cpp #: modules/bullet/space_bullet.cpp scene/2d/physics_body_2d.cpp @@ -773,7 +737,7 @@ msgstr "" #: servers/physics_server.cpp #, fuzzy msgid "Physics" -msgstr "Fizikalni Okvir %" +msgstr "Fizika" #: core/project_settings.cpp editor/editor_settings.cpp #: editor/import/resource_importer_layered_texture.cpp @@ -783,11 +747,11 @@ msgstr "Fizikalni Okvir %" #: scene/3d/physics_body.cpp scene/resources/world.cpp #: servers/physics/space_sw.cpp servers/physics_server.cpp msgid "3D" -msgstr "" +msgstr "3D" #: core/project_settings.cpp msgid "Smooth Trimesh Collision" -msgstr "" +msgstr "Gladko trimeško trčenje" #: core/project_settings.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp #: drivers/gles2/rasterizer_scene_gles2.cpp @@ -799,7 +763,7 @@ msgstr "" #: scene/main/viewport.cpp servers/visual/visual_server_scene.cpp #: servers/visual_server.cpp msgid "Rendering" -msgstr "" +msgstr "Upodabljanje" #: core/project_settings.cpp drivers/gles2/rasterizer_storage_gles2.cpp #: drivers/gles3/rasterizer_scene_gles3.cpp @@ -809,18 +773,17 @@ msgstr "" #: scene/resources/multimesh.cpp servers/visual/visual_server_scene.cpp #: servers/visual_server.cpp msgid "Quality" -msgstr "" +msgstr "Kakovost" #: core/project_settings.cpp scene/gui/file_dialog.cpp #: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp #: servers/visual_server.cpp -#, fuzzy msgid "Filters" -msgstr "Filtri..." +msgstr "Filtri" #: core/project_settings.cpp scene/main/viewport.cpp msgid "Sharpen Intensity" -msgstr "" +msgstr "Izostri intenzivnost" #: core/project_settings.cpp editor/editor_export.cpp editor/editor_node.cpp #: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp @@ -836,28 +799,27 @@ msgstr "Razhroščevalnik" #: core/project_settings.cpp main/main.cpp modules/gdscript/gdscript.cpp #: modules/visual_script/visual_script.cpp scene/resources/dynamic_font.cpp -#, fuzzy msgid "Settings" -msgstr "Nastavitve Zaskočenja" +msgstr "Nastavitve" #: core/project_settings.cpp editor/script_editor_debugger.cpp main/main.cpp #: modules/mono/mono_gd/gd_mono.cpp +#, fuzzy msgid "Profiler" -msgstr "" +msgstr "Zabeležnik(?)" #: core/project_settings.cpp #, fuzzy msgid "Max Functions" -msgstr "Preimenuj Funkcijo" +msgstr "Največja količina funkcij" #: core/project_settings.cpp scene/3d/vehicle_body.cpp -#, fuzzy msgid "Compression" -msgstr "Trenutna Različica:" +msgstr "Kompresija" #: core/project_settings.cpp msgid "Formats" -msgstr "" +msgstr "Formati" #: core/project_settings.cpp msgid "Zstd" @@ -869,11 +831,12 @@ msgstr "" #: core/project_settings.cpp msgid "Compression Level" -msgstr "" +msgstr "Nivo kompresije" #: core/project_settings.cpp +#, fuzzy msgid "Window Log Size" -msgstr "" +msgstr "Velikost beležnega okna" #: core/project_settings.cpp msgid "Zlib" @@ -885,20 +848,19 @@ msgstr "" #: core/project_settings.cpp platform/android/export/export.cpp msgid "Android" -msgstr "" +msgstr "Android" #: core/project_settings.cpp msgid "Modules" -msgstr "" +msgstr "Moduli" #: core/register_core_types.cpp msgid "TCP" msgstr "TCP" #: core/register_core_types.cpp -#, fuzzy msgid "Connect Timeout Seconds" -msgstr "Poveži se z Gradnikom:" +msgstr "Časovna omejitev povezave v sekundah" #: core/register_core_types.cpp msgid "Packet Peer Stream" @@ -906,16 +868,15 @@ msgstr "" #: core/register_core_types.cpp msgid "Max Buffer (Power of 2)" -msgstr "" +msgstr "Največja količina medpomnilnikov (Večkratnik 2)" #: core/register_core_types.cpp editor/editor_settings.cpp main/main.cpp msgid "SSL" msgstr "" #: core/register_core_types.cpp main/main.cpp -#, fuzzy msgid "Certificates" -msgstr "Lastnosti" +msgstr "Certifikati" #: core/resource.cpp editor/dependency_editor.cpp #: editor/editor_resource_picker.cpp @@ -924,9 +885,8 @@ msgid "Resource" msgstr "Viri" #: core/resource.cpp -#, fuzzy msgid "Local To Scene" -msgstr "Zapri Prizor" +msgstr "Lokalno tej sceni" #: core/resource.cpp editor/dependency_editor.cpp #: editor/editor_autoload_settings.cpp editor/plugins/path_editor_plugin.cpp @@ -936,18 +896,16 @@ msgid "Path" msgstr "Pot" #: core/script_language.cpp -#, fuzzy msgid "Source Code" -msgstr "Viri" +msgstr "Izvirna koda" #: core/translation.cpp editor/project_settings_editor.cpp msgid "Locale" msgstr "" #: core/translation.cpp -#, fuzzy msgid "Test" -msgstr "Preskušanje" +msgstr "Test" #: core/translation.cpp scene/resources/font.cpp msgid "Fallback" @@ -987,17 +945,17 @@ msgstr "EiB" #: drivers/gles3/rasterizer_scene_gles3.cpp #: drivers/gles3/rasterizer_storage_gles3.cpp modules/gltf/gltf_state.cpp msgid "Buffers" -msgstr "" +msgstr "Predpomnilnik" #: drivers/gles2/rasterizer_canvas_base_gles2.cpp #: drivers/gles3/rasterizer_canvas_base_gles3.cpp msgid "Canvas Polygon Buffer Size (KB)" -msgstr "" +msgstr "Platno mnogotnik predpomnilnik velikost (KB)" #: drivers/gles2/rasterizer_canvas_base_gles2.cpp #: drivers/gles3/rasterizer_canvas_base_gles3.cpp msgid "Canvas Polygon Index Buffer Size (KB)" -msgstr "" +msgstr "Platno mnogokotnik kazalo predpomnilnik velikost (KB)" #: drivers/gles2/rasterizer_canvas_base_gles2.cpp #: drivers/gles3/rasterizer_canvas_base_gles3.cpp editor/editor_settings.cpp @@ -1009,13 +967,12 @@ msgstr "" #: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp #: servers/visual_server.cpp msgid "2D" -msgstr "" +msgstr "2D" #: drivers/gles2/rasterizer_canvas_base_gles2.cpp #: drivers/gles3/rasterizer_canvas_base_gles3.cpp -#, fuzzy msgid "Snapping" -msgstr "Pametno pripenjanje" +msgstr "Pripenjanje" #: drivers/gles2/rasterizer_canvas_base_gles2.cpp #: drivers/gles3/rasterizer_canvas_base_gles3.cpp @@ -1026,7 +983,7 @@ msgstr "Uporabi Pripenjanje Pikslov" #: drivers/gles2/rasterizer_scene_gles2.cpp #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Immediate Buffer Size (KB)" -msgstr "" +msgstr "Takojšnja velikost predpomnilnika (KB)" #: drivers/gles2/rasterizer_storage_gles2.cpp #: drivers/gles3/rasterizer_storage_gles3.cpp @@ -1036,29 +993,30 @@ msgstr "Zapeči Svetlobne karte" #: drivers/gles2/rasterizer_storage_gles2.cpp #: drivers/gles3/rasterizer_storage_gles3.cpp +#, fuzzy msgid "Use Bicubic Sampling" -msgstr "" +msgstr "Uporabite bikubično vzorčenje" #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Max Renderable Elements" -msgstr "" +msgstr "Največ upodobljivih elementov" #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Max Renderable Lights" -msgstr "" +msgstr "Največ upodobljivih luči" #: drivers/gles3/rasterizer_scene_gles3.cpp -#, fuzzy msgid "Max Renderable Reflections" -msgstr "GridMap Izbriši Izbor" +msgstr "Največ upodobljivih refleksij" #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Max Lights Per Object" -msgstr "" +msgstr "Največ luči na objekt" #: drivers/gles3/rasterizer_scene_gles3.cpp +#, fuzzy msgid "Subsurface Scattering" -msgstr "" +msgstr "Podpovršinsko razprševanje" #: drivers/gles3/rasterizer_scene_gles3.cpp editor/animation_track_editor.cpp #: editor/import/resource_importer_texture.cpp @@ -1070,29 +1028,30 @@ msgstr "" #: scene/animation/animation_blend_tree.cpp scene/gui/control.cpp #: scene/main/canvas_layer.cpp scene/resources/environment.cpp #: scene/resources/material.cpp scene/resources/particles_material.cpp -#, fuzzy msgid "Scale" -msgstr "Prilagodi Velikost:" +msgstr "Velikost" #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Follow Surface" -msgstr "" +msgstr "Sledi površini" #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Weight Samples" -msgstr "" +msgstr "Vzorci teže" #: drivers/gles3/rasterizer_scene_gles3.cpp +#, fuzzy msgid "Voxel Cone Tracing" -msgstr "" +msgstr "Sledenje (voxel?) stožca" #: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp msgid "High Quality" -msgstr "" +msgstr "Visoka kakovost" #: drivers/gles3/rasterizer_storage_gles3.cpp +#, fuzzy msgid "Blend Shape Max Buffer Size (KB)" -msgstr "" +msgstr "Mešanica oblike največja velikost predpomnilnika (KB)" #. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror). #: editor/animation_bezier_editor.cpp @@ -1166,9 +1125,8 @@ msgstr "Animacija Spremeni klic" #: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp #: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Frame" -msgstr "Okvir %" +msgstr "Okvir" #: editor/animation_track_editor.cpp editor/editor_profiler.cpp #: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp @@ -1179,38 +1137,35 @@ msgstr "Čas" #: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp #: platform/osx/export/export.cpp -#, fuzzy msgid "Location" -msgstr "Rotacijski Korak:" +msgstr "Lokacija" #: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp #: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp #: scene/3d/remote_transform.cpp scene/3d/spatial.cpp scene/gui/control.cpp -#, fuzzy msgid "Rotation" -msgstr "Rotacijski Korak:" +msgstr "Rotacija" #: editor/animation_track_editor.cpp editor/script_editor_debugger.cpp #: modules/visual_script/visual_script_nodes.cpp scene/gui/range.cpp msgid "Value" -msgstr "" +msgstr "Vrednost" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Arg Count" -msgstr "Količina:" +msgstr "Količina argumentov" #: editor/animation_track_editor.cpp main/main.cpp #: modules/mono/mono_gd/gd_mono.cpp msgid "Args" -msgstr "" +msgstr "Argumenti" #: editor/animation_track_editor.cpp editor/editor_settings.cpp #: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp #: modules/gltf/gltf_light.cpp modules/visual_script/visual_script_nodes.cpp #: scene/3d/physics_body.cpp scene/resources/visual_shader_nodes.cpp msgid "Type" -msgstr "" +msgstr "Način" #: editor/animation_track_editor.cpp msgid "In Handle" @@ -1225,17 +1180,15 @@ msgstr "" #: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp #: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp msgid "Stream" -msgstr "" +msgstr "Tok" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Start Offset" -msgstr "Mrežni Zamik:" +msgstr "Začetni odmik" #: editor/animation_track_editor.cpp -#, fuzzy msgid "End Offset" -msgstr "Mrežni Zamik:" +msgstr "Končni odmik" #: editor/animation_track_editor.cpp editor/editor_settings.cpp #: editor/import/resource_importer_scene.cpp @@ -1249,7 +1202,7 @@ msgstr "Animacija" #: editor/animation_track_editor.cpp msgid "Easing" -msgstr "" +msgstr "Popuščanje" #: editor/animation_track_editor.cpp #, fuzzy @@ -1313,7 +1266,7 @@ msgstr "Ustavi predvajanje animacije. (S)" #: editor/animation_track_editor.cpp #, fuzzy msgid "Animation length (frames)" -msgstr "Dolžina animacije (v sekundah)." +msgstr "Dolžina animacije (v slikah?)." #: editor/animation_track_editor.cpp #, fuzzy @@ -1326,9 +1279,8 @@ msgid "Add Track" msgstr "Animacija Dodaj sled" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation Looping" -msgstr "Približaj animacijo." +msgstr "Animacija v zanki" #: editor/animation_track_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -1337,7 +1289,7 @@ msgstr "Funkcije:" #: editor/animation_track_editor.cpp msgid "Audio Clips:" -msgstr "" +msgstr "Zvočni posnetki:" #: editor/animation_track_editor.cpp msgid "Anim Clips:" @@ -4694,6 +4646,7 @@ msgstr "Različna projektna ali prizorska orodja." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Projekt" @@ -7627,7 +7580,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15903,18 +15857,19 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Ime Gradnika:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "Ime že uporablja druga funkcija/sprem/signal:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Ime Gradnika:" #: editor/scene_tree_dock.cpp @@ -16121,6 +16076,11 @@ msgstr "Dodaj v Skupino" #: editor/scene_tree_editor.cpp #, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Ime Gradnika:" + +#: editor/scene_tree_editor.cpp +#, fuzzy msgid "(Connecting From)" msgstr "Napaka Pri Povezavi" @@ -16185,6 +16145,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -18118,6 +18082,21 @@ msgstr "Celotna izbira" msgid "Auto Update Project" msgstr "Izvozi Projekt" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Zamenjaj Vse" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Izberi Mapo" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Izberi Mapo" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -19970,6 +19949,11 @@ msgstr "Gradnik Prehod" msgid "Custom BG Color" msgstr "Gradnik Prehod" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Razširi vse" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20820,6 +20804,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid package short name." msgstr "Neveljavno ime." diff --git a/editor/translations/sq.po b/editor/translations/sq.po index af72b686b9..f8ffd0e88d 100644 --- a/editor/translations/sq.po +++ b/editor/translations/sq.po @@ -4632,6 +4632,7 @@ msgstr "Vegla të ndryshme për projektin ose skenën." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Projekti" @@ -7527,7 +7528,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15491,18 +15493,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Emri i Nyjes:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "Emri i Nyjes:" #: editor/scene_tree_dock.cpp @@ -15699,6 +15701,11 @@ msgstr "Shto te Grupi" #: editor/scene_tree_editor.cpp #, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Emri i Nyjes:" + +#: editor/scene_tree_editor.cpp +#, fuzzy msgid "(Connecting From)" msgstr "Gabim në Lidhje" @@ -15763,6 +15770,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -17644,6 +17655,21 @@ msgstr "" msgid "Auto Update Project" msgstr "Eksporto Projektin" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Shfaqi të Gjitha" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Zgjidh një Direktori" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Zgjidh një Direktori" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -19455,6 +19481,11 @@ msgstr "Dyfisho Nyjet" msgid "Custom BG Color" msgstr "Dyfisho Nyjet" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Zgjero të Gjitha" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20297,6 +20328,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid package short name." msgstr "Emër i palejuar." diff --git a/editor/translations/sr_Cyrl.po b/editor/translations/sr_Cyrl.po index 4231d62c6b..f2f6a5bf09 100644 --- a/editor/translations/sr_Cyrl.po +++ b/editor/translations/sr_Cyrl.po @@ -4878,6 +4878,7 @@ msgstr "Разни алати за пројекат или сцену." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Пројекат" @@ -7944,7 +7945,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -17014,18 +17016,19 @@ msgstr "" msgid "Make Local" msgstr "Направи кости" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Име чвора:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "Име је већ у употреби у функ/пром/сигналу:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Име чвора:" #: editor/scene_tree_dock.cpp @@ -17258,6 +17261,11 @@ msgstr "Група Дугмића" #: editor/scene_tree_editor.cpp #, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Име чвора:" + +#: editor/scene_tree_editor.cpp +#, fuzzy msgid "(Connecting From)" msgstr "(Повезивање од)" @@ -17343,6 +17351,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "Неважеће име чвора, следећи карактери нису дозвољени:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp #, fuzzy msgid "Rename Node" msgstr "Преименуј Чвор" @@ -19420,6 +19432,21 @@ msgstr "Испуни одабрано" msgid "Auto Update Project" msgstr "Неименован Пројекат" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Прикажи нормалу" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Одабери директоријум" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Одабери директоријум" + #: modules/mono/mono_gd/gd_mono_utils.cpp #, fuzzy msgid "End of inner exception stack trace" @@ -21351,6 +21378,11 @@ msgstr "Направи чвор" msgid "Custom BG Color" msgstr "Направи чвор" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Прошири све" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -22211,6 +22243,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid package short name." msgstr "Неважеће кратко име паковања." diff --git a/editor/translations/sr_Latn.po b/editor/translations/sr_Latn.po index b898108402..8af5b1daaf 100644 --- a/editor/translations/sr_Latn.po +++ b/editor/translations/sr_Latn.po @@ -4411,6 +4411,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "" @@ -7151,7 +7152,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -14924,18 +14926,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Obriši Selekciju" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "Obriši Selekciju" #: editor/scene_tree_dock.cpp @@ -15128,6 +15130,11 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Obriši Selekciju" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "" @@ -15191,6 +15198,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -17031,6 +17042,19 @@ msgstr "Sve sekcije" msgid "Auto Update Project" msgstr "Izmjeni Selekciju Krivulje" +#: modules/mono/godotsharp_dirs.cpp +msgid "Assembly Name" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "Solution Directory" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Izmjeni Selekciju Krivulje" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -18778,6 +18802,11 @@ msgstr "Animacija Uduplaj Ključeve" msgid "Custom BG Color" msgstr "Animacija Uduplaj Ključeve" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Homogenost Boje." + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -19579,6 +19608,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "" diff --git a/editor/translations/sv.po b/editor/translations/sv.po index 9fd6b9bf67..44b6fcf8b6 100644 --- a/editor/translations/sv.po +++ b/editor/translations/sv.po @@ -32,8 +32,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: 2022-07-23 03:57+0000\n" -"Last-Translator: Kenny Andersson <kenny@ordinary.se>\n" +"PO-Revision-Date: 2022-08-30 03:11+0000\n" +"Last-Translator: Björn Åkesson <bjorn.akesson@gmail.com>\n" "Language-Team: Swedish <https://hosted.weblate.org/projects/godot-engine/" "godot/sv/>\n" "Language: sv\n" @@ -41,7 +41,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.14-dev\n" +"X-Generator: Weblate 4.14.1-dev\n" #: core/bind/core_bind.cpp main/main.cpp #, fuzzy @@ -49,9 +49,8 @@ msgid "Tablet Driver" msgstr "Drivrutin för surfplatta" #: core/bind/core_bind.cpp -#, fuzzy msgid "Clipboard" -msgstr "Klippbordet är tomt!" +msgstr "Urklipp" #: core/bind/core_bind.cpp msgid "Current Screen" @@ -4662,6 +4661,7 @@ msgstr "Diverse projekt eller scenövergripande-verktyg." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Projekt" @@ -7565,7 +7565,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15718,18 +15719,18 @@ msgstr "" msgid "Make Local" msgstr "Gör Patch" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Node Namn:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "Node Namn:" #: editor/scene_tree_dock.cpp @@ -15934,6 +15935,11 @@ msgstr "Lägg till i Grupp" #: editor/scene_tree_editor.cpp #, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Node Namn:" + +#: editor/scene_tree_editor.cpp +#, fuzzy msgid "(Connecting From)" msgstr "Anslutningsfel" @@ -15999,6 +16005,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "Byt namn på Node" @@ -17909,6 +17919,21 @@ msgstr "Alla urval" msgid "Auto Update Project" msgstr "Namnlöst Projekt" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Ersätt Alla" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Välj en Katalog" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Välj en Katalog" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -19734,6 +19759,11 @@ msgstr "Klipp ut Noder" msgid "Custom BG Color" msgstr "Klipp ut Noder" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Expandera alla" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20583,6 +20613,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid package short name." msgstr "Ogiltigt namn." diff --git a/editor/translations/te.po b/editor/translations/te.po index af4c65f062..fe9f95b213 100644 --- a/editor/translations/te.po +++ b/editor/translations/te.po @@ -4330,6 +4330,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "" @@ -7008,7 +7009,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -14677,16 +14679,16 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." +#: editor/scene_tree_dock.cpp +msgid "Enable Scene Unique Name(s)" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Enable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Disable Scene Unique Name" +#: editor/scene_tree_dock.cpp +msgid "Disable Scene Unique Name(s)" msgstr "" #: editor/scene_tree_dock.cpp @@ -14876,6 +14878,10 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Disable Scene Unique Name" +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "" @@ -14939,6 +14945,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -16723,6 +16733,18 @@ msgstr "" msgid "Auto Update Project" msgstr "" +#: modules/mono/godotsharp_dirs.cpp +msgid "Assembly Name" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "Solution Directory" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +msgid "C# Project Directory" +msgstr "" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -18417,6 +18439,10 @@ msgstr "" msgid "Custom BG Color" msgstr "" +#: platform/iphone/export/export.cpp +msgid "Export Icons" +msgstr "" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -19198,6 +19224,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "" diff --git a/editor/translations/th.po b/editor/translations/th.po index f1eb8b716f..6e4b0e578f 100644 --- a/editor/translations/th.po +++ b/editor/translations/th.po @@ -4623,6 +4623,7 @@ msgstr "โปรเจกต์และเครื่องมืออื่ #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "โปรเจกต์" @@ -7560,7 +7561,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15655,18 +15657,19 @@ msgstr "" msgid "Make Local" msgstr "ทำให้เป็นภายใน" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "ชื่อโนด:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "มีฟังก์ชัน/ตัวแปร/สัญญาณอื่นใช้ชื่อนี้แล้ว:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "ชื่อโนด:" #: editor/scene_tree_dock.cpp @@ -15862,6 +15865,11 @@ msgid "Button Group" msgstr "ชุดของปุ่ม" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "ชื่อโนด:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(เชื่อมต่อจาก)" @@ -15937,6 +15945,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "ชื่อโหนดไม่ถูกต้อง ใช้ตัวอักษรต่อไปนี้ไม่ได้:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "เปลี่ยนชื่อโหนด" @@ -17864,6 +17876,21 @@ msgstr "เติมส่วนที่เลือก" msgid "Auto Update Project" msgstr "โปรเจกต์ไม่มีชื่อ" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "แสดงทั้งหมด" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "เลือกโฟลเดอร์" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "เลือกโฟลเดอร์" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "สิ้นสุดสแตคข้อผิดพลาดภายใน" @@ -19716,6 +19743,11 @@ msgstr "ตัดโหนด" msgid "Custom BG Color" msgstr "ตัดโหนด" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "ขยายออก" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20572,6 +20604,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "ชื่อแพ็คเกจแบบสั้นผิดพลาด" diff --git a/editor/translations/tl.po b/editor/translations/tl.po index fec7766383..bf39f11166 100644 --- a/editor/translations/tl.po +++ b/editor/translations/tl.po @@ -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: 2022-04-08 07:29+0000\n" +"PO-Revision-Date: 2022-08-12 17:08+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.12-dev\n" +"X-Generator: Weblate 4.14-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" @@ -523,30 +523,26 @@ msgid "Delta" msgstr "" #: core/os/input_event.cpp -#, fuzzy msgid "Channel" -msgstr "Baguhin" +msgstr "" #: core/os/input_event.cpp main/main.cpp -#, fuzzy msgid "Message" -msgstr "I-commit Lahat ng Pagbabago" +msgstr "Mensahe" #: core/os/input_event.cpp -#, fuzzy msgid "Pitch" -msgstr "Switch" +msgstr "Taas ng Tunog" #: core/os/input_event.cpp scene/2d/cpu_particles_2d.cpp #: scene/2d/physics_body_2d.cpp scene/3d/cpu_particles.cpp #: scene/3d/physics_body.cpp scene/resources/particles_material.cpp -#, fuzzy msgid "Velocity" -msgstr "Simulan" +msgstr "Bilis" #: core/os/input_event.cpp msgid "Instrument" -msgstr "" +msgstr "Instrumento" #: core/os/input_event.cpp #, fuzzy @@ -627,15 +623,14 @@ msgstr "" #: core/project_settings.cpp main/main.cpp #: platform/javascript/export/export.cpp platform/osx/export/export.cpp #: platform/uwp/os_uwp.cpp -#, fuzzy msgid "Display" -msgstr "Ipakita Lahat" +msgstr "" #: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp #: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp #: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp msgid "Width" -msgstr "" +msgstr "Lapad" #: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp #: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp @@ -644,11 +639,11 @@ msgstr "" #: scene/resources/font.cpp scene/resources/navigation_mesh.cpp #: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp msgid "Height" -msgstr "" +msgstr "Taas" #: core/project_settings.cpp msgid "Always On Top" -msgstr "" +msgstr "Parating Nasa Taas" #: core/project_settings.cpp msgid "Test Width" @@ -742,30 +737,27 @@ msgstr "I-urong Pakanan" #: core/project_settings.cpp msgid "UI Up" -msgstr "" +msgstr "UI Taas" #: core/project_settings.cpp -#, fuzzy msgid "UI Down" -msgstr "Baba" +msgstr "UI Baba" #: core/project_settings.cpp -#, fuzzy msgid "UI Page Up" -msgstr "Pahina: " +msgstr "UI Pahinang Taas" #: core/project_settings.cpp msgid "UI Page Down" -msgstr "" +msgstr "UI Pahinang Baba" #: core/project_settings.cpp msgid "UI Home" -msgstr "" +msgstr "UI Panimula" #: core/project_settings.cpp -#, fuzzy msgid "UI End" -msgstr "Sa Huli" +msgstr "UI Wakas" #: core/project_settings.cpp main/main.cpp modules/bullet/register_types.cpp #: modules/bullet/space_bullet.cpp scene/2d/physics_body_2d.cpp @@ -776,7 +768,7 @@ msgstr "Sa Huli" #: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp #: servers/physics_server.cpp msgid "Physics" -msgstr "" +msgstr "Pisika" #: core/project_settings.cpp editor/editor_settings.cpp #: editor/import/resource_importer_layered_texture.cpp @@ -786,7 +778,7 @@ msgstr "" #: scene/3d/physics_body.cpp scene/resources/world.cpp #: servers/physics/space_sw.cpp servers/physics_server.cpp msgid "3D" -msgstr "" +msgstr "3D" #: core/project_settings.cpp msgid "Smooth Trimesh Collision" @@ -802,7 +794,7 @@ msgstr "" #: scene/main/viewport.cpp servers/visual/visual_server_scene.cpp #: servers/visual_server.cpp msgid "Rendering" -msgstr "" +msgstr "Pagre-render" #: core/project_settings.cpp drivers/gles2/rasterizer_storage_gles2.cpp #: drivers/gles3/rasterizer_scene_gles3.cpp @@ -812,18 +804,17 @@ msgstr "" #: scene/resources/multimesh.cpp servers/visual/visual_server_scene.cpp #: servers/visual_server.cpp msgid "Quality" -msgstr "" +msgstr "Kalidad" #: core/project_settings.cpp scene/gui/file_dialog.cpp #: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp #: servers/visual_server.cpp -#, fuzzy msgid "Filters" -msgstr "Salain ang mga node" +msgstr "Mga Pansala" #: core/project_settings.cpp scene/main/viewport.cpp msgid "Sharpen Intensity" -msgstr "" +msgstr "Tindi ng Pagkatulis" #: core/project_settings.cpp editor/editor_export.cpp editor/editor_node.cpp #: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp @@ -839,9 +830,8 @@ msgstr "Debug" #: core/project_settings.cpp main/main.cpp modules/gdscript/gdscript.cpp #: modules/visual_script/visual_script.cpp scene/resources/dynamic_font.cpp -#, fuzzy msgid "Settings" -msgstr "Kaayusan:" +msgstr "Pagsasaayos:" #: core/project_settings.cpp editor/script_editor_debugger.cpp main/main.cpp #: modules/mono/mono_gd/gd_mono.cpp @@ -849,18 +839,16 @@ msgid "Profiler" msgstr "" #: core/project_settings.cpp -#, fuzzy msgid "Max Functions" -msgstr "Gumawa ng Punsyon" +msgstr "Max na Punksyon" #: core/project_settings.cpp scene/3d/vehicle_body.cpp -#, fuzzy msgid "Compression" -msgstr "Ekspresyon" +msgstr "Kompresyon" #: core/project_settings.cpp msgid "Formats" -msgstr "" +msgstr "Mga Format" #: core/project_settings.cpp msgid "Zstd" @@ -868,15 +856,15 @@ msgstr "" #: core/project_settings.cpp msgid "Long Distance Matching" -msgstr "" +msgstr "Pagtugma sa Mahabang Layo" #: core/project_settings.cpp msgid "Compression Level" -msgstr "" +msgstr "Tindi ng Kompresyon" #: core/project_settings.cpp msgid "Window Log Size" -msgstr "" +msgstr "Laki ng Log ng Window" #: core/project_settings.cpp msgid "Zlib" @@ -892,16 +880,15 @@ msgstr "" #: core/project_settings.cpp msgid "Modules" -msgstr "" +msgstr "Mga Modyul" #: core/register_core_types.cpp msgid "TCP" msgstr "" #: core/register_core_types.cpp -#, fuzzy msgid "Connect Timeout Seconds" -msgstr "Ikabit sa Node:" +msgstr "" #: core/register_core_types.cpp msgid "Packet Peer Stream" @@ -917,7 +904,7 @@ msgstr "" #: core/register_core_types.cpp main/main.cpp msgid "Certificates" -msgstr "" +msgstr "Mga Katibayan" #: core/resource.cpp editor/dependency_editor.cpp #: editor/editor_resource_picker.cpp @@ -926,9 +913,8 @@ msgid "Resource" msgstr "" #: core/resource.cpp -#, fuzzy msgid "Local To Scene" -msgstr "Isara ang Eksena" +msgstr "Lokal sa Eksena" #: core/resource.cpp editor/dependency_editor.cpp #: editor/editor_autoload_settings.cpp editor/plugins/path_editor_plugin.cpp @@ -943,7 +929,7 @@ msgstr "" #: core/translation.cpp editor/project_settings_editor.cpp msgid "Locale" -msgstr "" +msgstr "Wika" #: core/translation.cpp #, fuzzy @@ -1019,9 +1005,8 @@ msgstr "" #: drivers/gles2/rasterizer_canvas_base_gles2.cpp #: drivers/gles3/rasterizer_canvas_base_gles3.cpp -#, fuzzy msgid "Use GPU Pixel Snap" -msgstr "Paguurong na Pa-pixel" +msgstr "Gamiting ang GPU Paguurong na Pa-pixel" #: drivers/gles2/rasterizer_scene_gles2.cpp #: drivers/gles3/rasterizer_scene_gles3.cpp @@ -1070,11 +1055,11 @@ msgstr "" #: scene/main/canvas_layer.cpp scene/resources/environment.cpp #: scene/resources/material.cpp scene/resources/particles_material.cpp msgid "Scale" -msgstr "" +msgstr "Iskala" #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Follow Surface" -msgstr "" +msgstr "Sundan ang Ibabaw" #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Weight Samples" @@ -1086,7 +1071,7 @@ msgstr "" #: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp msgid "High Quality" -msgstr "" +msgstr "Mataas na Kalidad" #: drivers/gles3/rasterizer_storage_gles3.cpp msgid "Blend Shape Max Buffer Size (KB)" @@ -1095,7 +1080,7 @@ msgstr "" #. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror). #: editor/animation_bezier_editor.cpp msgid "Free" -msgstr "Walang Bayad" +msgstr "Malaya" #: editor/animation_bezier_editor.cpp msgid "Balanced" @@ -4497,6 +4482,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Proyekto" @@ -7300,7 +7286,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -11524,27 +11511,27 @@ msgstr "Sariwain ang Preview" #: editor/plugins/sprite_editor_plugin.cpp msgid "Settings:" -msgstr "Kaayusan:" +msgstr "Pagsasaayos:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "No Frames Selected" -msgstr "" +msgstr "Walang Pinipiling Frames" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add %d Frame(s)" -msgstr "" +msgstr "Magdagdag ng %d Frame(s)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Frame" -msgstr "" +msgstr "Magdagdag ng Frame" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Unable to load images" -msgstr "" +msgstr "Hindi mai-karga ang mga larawan" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "ERROR: Couldn't load frame resource!" -msgstr "" +msgstr "ERROR: Hindi mai-karga ang frame resource!" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Resource clipboard is empty or not a texture!" @@ -11560,7 +11547,7 @@ msgstr "Magdagdag ng Puwang" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation FPS" -msgstr "" +msgstr "Palitan ang FPS ng Animation" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "(empty)" @@ -11579,9 +11566,8 @@ msgid "New Animation" msgstr "" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Filter animations" -msgstr "Salain ang mga method" +msgstr "Salain ang mga animation" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed:" @@ -11630,16 +11616,16 @@ msgstr "" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Horizontal:" -msgstr "" +msgstr "Pahalang:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Vertical:" -msgstr "" +msgstr "Patayo:" #: editor/plugins/sprite_frames_editor_plugin.cpp #: editor/plugins/texture_region_editor_plugin.cpp msgid "Separation:" -msgstr "" +msgstr "Pagkakahiwalay:" #: editor/plugins/sprite_frames_editor_plugin.cpp #: editor/plugins/texture_region_editor_plugin.cpp @@ -11668,7 +11654,7 @@ msgstr "" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Snap Mode:" -msgstr "Paraan ng Paguurong:" +msgstr "Paraan ng Pag-uurong:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Pixel Snap" @@ -11716,15 +11702,15 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "No fonts found." -msgstr "" +msgstr "Walang font na mahanap." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} icon(s)" -msgstr "" +msgstr "(mga) {num} icon" #: editor/plugins/theme_editor_plugin.cpp msgid "No icons found." -msgstr "" +msgstr "Walang icon na mahanap." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} stylebox(es)" @@ -11732,15 +11718,15 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "No styleboxes found." -msgstr "" +msgstr "Walang stylebox ang nahanap." #: editor/plugins/theme_editor_plugin.cpp msgid "{num} currently selected" -msgstr "" +msgstr "{num} ang kasalukuyang pinipili" #: editor/plugins/theme_editor_plugin.cpp msgid "Nothing was selected for the import." -msgstr "" +msgstr "Walang pinili upang i-import." #: editor/plugins/theme_editor_plugin.cpp msgid "Importing Theme Items" @@ -11764,7 +11750,7 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "With Data" -msgstr "" +msgstr "May Data" #: editor/plugins/theme_editor_plugin.cpp msgid "Select by data type:" @@ -11878,9 +11864,8 @@ msgid "" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove Type" -msgstr "Alisin ang Tile" +msgstr "Alisin ang Type" #: editor/plugins/theme_editor_plugin.cpp msgid "" @@ -15086,18 +15071,19 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Pangalan ng Node:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "Ginagamit na ang pangalan ng ibang punsyon/var/hudyat:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Pangalan ng Node:" #: editor/scene_tree_dock.cpp @@ -15288,6 +15274,11 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Pangalan ng Node:" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "" @@ -15353,6 +15344,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -17219,6 +17214,21 @@ msgstr "" msgid "Auto Update Project" msgstr "Bumalik sa Talaproyektuhan" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Ipakita Lahat" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Pumili ng Lalagyanan" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Pumili ng Lalagyanan" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -19007,6 +19017,11 @@ msgstr "Kopyahin ang mga Node" msgid "Custom BG Color" msgstr "Kopyahin ang mga Node" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Palakihin lahat" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -19847,6 +19862,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "" diff --git a/editor/translations/tr.po b/editor/translations/tr.po index ab58a87c36..e115c4d368 100644 --- a/editor/translations/tr.po +++ b/editor/translations/tr.po @@ -78,13 +78,19 @@ # Emre <mr.inkaya@gmail.com>, 2022. # Deleted User <noreply+46858@weblate.org>, 2022. # Ümid Quliyev <lucifer25x@protonmail.com>, 2022. +# Mustafa Said Ağca <m.said.agca@gmail.com>, 2022. +# Yaşar Anıl Sansak <anilsansak@gmail.com>, 2022. +# Hasan Hüseyin Cihangir <hashusfb@gmail.com>, 2022. +# Volkan Gezer <volkangezer@gmail.com>, 2022. +# bsr <bsndrn16@gmail.com>, 2022. +# Ramazan SANCAR <ramazansancar4545@gmail.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-08-05 01:04+0000\n" -"Last-Translator: Ümid Quliyev <lucifer25x@protonmail.com>\n" +"PO-Revision-Date: 2022-08-30 03:11+0000\n" +"Last-Translator: Ramazan SANCAR <ramazansancar4545@gmail.com>\n" "Language-Team: Turkish <https://hosted.weblate.org/projects/godot-engine/" "godot/tr/>\n" "Language: tr\n" @@ -92,7 +98,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.14-dev\n" +"X-Generator: Weblate 4.14.1-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" @@ -107,6 +113,7 @@ msgid "Current Screen" msgstr "Şu anki Ekran" #: core/bind/core_bind.cpp +#, fuzzy msgid "Exit Code" msgstr "Çıkış Kodu" @@ -136,11 +143,11 @@ msgstr "Ekranı Açık Tut" #: core/bind/core_bind.cpp msgid "Min Window Size" -msgstr "Minimum Pencere Boyutu" +msgstr "Minimum Ekran Boyutu" #: core/bind/core_bind.cpp msgid "Max Window Size" -msgstr "Maksimum Pencere Boyutu" +msgstr "Maksimum Ekran Boyutu" #: core/bind/core_bind.cpp msgid "Screen Orientation" @@ -202,7 +209,7 @@ msgstr "Endian Değişimi" #: core/bind/core_bind.cpp msgid "Editor Hint" -msgstr "Düzenleyici İpucusu" +msgstr "Editör İpucu" #: core/bind/core_bind.cpp msgid "Print Error Messages" @@ -214,7 +221,7 @@ msgstr "Saniye Başına Yineleme" #: core/bind/core_bind.cpp msgid "Target FPS" -msgstr "Hedef FPS" +msgstr "Hedeflenen FPS" #: core/bind/core_bind.cpp msgid "Time Scale" @@ -256,6 +263,7 @@ msgid "Limits" msgstr "Limitler" #: core/command_queue_mt.cpp +#, fuzzy msgid "Command Queue" msgstr "Komut Sırası" @@ -349,7 +357,7 @@ msgstr "Çıkış Arabelleği Maksimum Boyutu" #: core/io/packet_peer.cpp msgid "Stream Peer" -msgstr "" +msgstr "Akış Eşi" #: core/io/stream_peer.cpp msgid "Big Endian" @@ -425,7 +433,7 @@ msgstr "Mesaj Sırası" #: core/message_queue.cpp msgid "Max Size (KB)" -msgstr "En Büyük Boyut (KB)" +msgstr "Maksimum Boyut (KB)" #: core/os/input.cpp msgid "Mouse Mode" @@ -515,7 +523,6 @@ msgid "Pressure" msgstr "Baskı" #: core/os/input_event.cpp -#, fuzzy msgid "Pen Inverted" msgstr "Ters Kalem" @@ -567,9 +574,8 @@ msgid "Message" msgstr "Mesaj" #: core/os/input_event.cpp -#, fuzzy msgid "Pitch" -msgstr "Perde" +msgstr "Eğim" #: core/os/input_event.cpp scene/2d/cpu_particles_2d.cpp #: scene/2d/physics_body_2d.cpp scene/3d/cpu_particles.cpp @@ -644,7 +650,7 @@ msgstr "Stderr'i devre dışı bırak" #: core/project_settings.cpp msgid "Use Hidden Project Data Directory" -msgstr "Gizlenmiş Proje Verileri Dizinini Kullan" +msgstr "Gizli Proje Veri Dizinini Kullan" #: core/project_settings.cpp msgid "Use Custom User Dir" @@ -704,12 +710,10 @@ msgid "Editor" msgstr "Düzenleyici" #: core/project_settings.cpp -#, fuzzy msgid "Main Run Args" -msgstr "Ana Sahne Değiştirgenleri:" +msgstr "Oynatma Argümanları" #: core/project_settings.cpp -#, fuzzy msgid "Scene Naming" msgstr "Sahne Adlandırma" @@ -722,14 +726,12 @@ msgid "Script Templates Search Path" msgstr "Script Dosyalarını Aramak İçin Dosya Yolu" #: core/project_settings.cpp -#, fuzzy msgid "Version Control Autoload On Startup" msgstr "Başlangıçta Otomatik Sürüm Kontrolü" #: core/project_settings.cpp -#, fuzzy msgid "Version Control Plugin Name" -msgstr "Sürüm Denetimi Eklenti Adı" +msgstr "Sürüm Denetim Eklentisi Adı" #: core/project_settings.cpp scene/2d/collision_object_2d.cpp #: scene/3d/collision_object.cpp scene/gui/control.cpp @@ -864,9 +866,8 @@ msgstr "Ayarlar" #: core/project_settings.cpp editor/script_editor_debugger.cpp main/main.cpp #: modules/mono/mono_gd/gd_mono.cpp -#, fuzzy msgid "Profiler" -msgstr "Kesitçi" +msgstr "Profil Oluşturucu" #: core/project_settings.cpp msgid "Max Functions" @@ -921,7 +922,6 @@ msgid "Connect Timeout Seconds" msgstr "Bağlanma Zaman Aşımı Süresi(Saniye)" #: core/register_core_types.cpp -#, fuzzy msgid "Packet Peer Stream" msgstr "Paket Eş Akışı" @@ -963,7 +963,6 @@ msgid "Locale" msgstr "Yerel" #: core/translation.cpp -#, fuzzy msgid "Test" msgstr "Deneme" @@ -1051,9 +1050,8 @@ msgstr "Işık Haritalama" #: drivers/gles2/rasterizer_storage_gles2.cpp #: drivers/gles3/rasterizer_storage_gles3.cpp -#, fuzzy msgid "Use Bicubic Sampling" -msgstr "Bicubic Örneklemeyi Kullanın" +msgstr "Çift Kübik Örneklemeyi Kullan" #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Max Renderable Elements" @@ -1073,7 +1071,7 @@ msgstr "Maks. Objeye düşen Işık Sayısı" #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Subsurface Scattering" -msgstr "" +msgstr "Yüzeyaltı Saçılması" #: drivers/gles3/rasterizer_scene_gles3.cpp editor/animation_track_editor.cpp #: editor/import/resource_importer_texture.cpp @@ -1097,9 +1095,8 @@ msgid "Weight Samples" msgstr "Ağırlık Örnekleri" #: drivers/gles3/rasterizer_scene_gles3.cpp -#, fuzzy msgid "Voxel Cone Tracing" -msgstr "Işın İzleme" +msgstr "Voksel Koni İzleme" #: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp msgid "High Quality" @@ -1112,7 +1109,7 @@ msgstr "Karışım Şekli Maksimum Arabellek Boyutu (KB)" #. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror). #: editor/animation_bezier_editor.cpp msgid "Free" -msgstr "Özgür" +msgstr "Serbest" #: editor/animation_bezier_editor.cpp msgid "Balanced" @@ -1151,16 +1148,19 @@ msgid "Move Bezier Points" msgstr "Bezier Noktalarını Taşı" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp +#, fuzzy msgid "Anim Duplicate Keys" -msgstr "Animasyon Anahtarlarını Çoğalt" +msgstr "Animasyon Anahtarları Çoğalt" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp +#, fuzzy msgid "Anim Delete Keys" msgstr "Animasyon Anahtarları Sil" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Anim Change Keyframe Time" -msgstr "Anim Anahtar-kare Zamanını Değiştir" +msgstr "Animasyon Bağımsız Kare Zamanını Değiştir" #: editor/animation_track_editor.cpp msgid "Anim Change Transition" @@ -1171,8 +1171,9 @@ msgid "Anim Change Transform" msgstr "Animasyon Değişikliği Dönüşümü" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Anim Change Keyframe Value" -msgstr "Anim Anahtar-kare Değerini Değiştir" +msgstr "Animasyon Bağımsız Kare Değerini Değiştir" #: editor/animation_track_editor.cpp msgid "Anim Change Call" @@ -1224,32 +1225,27 @@ msgid "Type" msgstr "Tür" #: editor/animation_track_editor.cpp -#, fuzzy msgid "In Handle" -msgstr "Tutamacı Ayarla" +msgstr "İç Kulp" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Out Handle" -msgstr "Tutamacı Ayarla" +msgstr "Dış Kulp" #: editor/animation_track_editor.cpp #: editor/import/resource_importer_texture.cpp #: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp #: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp -#, fuzzy msgid "Stream" -msgstr "Aktarım" +msgstr "Akış" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Start Offset" -msgstr "Izgarayı Kaydır:" +msgstr "Başlangıç Dengeleme" #: editor/animation_track_editor.cpp -#, fuzzy msgid "End Offset" -msgstr "Kaydırma:" +msgstr "Bitiş Dengeleme" #: editor/animation_track_editor.cpp editor/editor_settings.cpp #: editor/import/resource_importer_scene.cpp @@ -1266,8 +1262,9 @@ msgid "Easing" msgstr "Yumuşatma" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Anim Multi Change Keyframe Time" -msgstr "Animasyon Anahtar-Çerçeve Zamanını Değiştir" +msgstr "Animasyon Çoklu Bağımsız Kare Zamanı Değiştir" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Transition" @@ -1300,7 +1297,7 @@ msgstr "Özellik Parçası" #: editor/animation_track_editor.cpp msgid "3D Transform Track" -msgstr "3D Dönüştürücü İzi" +msgstr "3B Dönüştürücü İzi" #: editor/animation_track_editor.cpp msgid "Call Method Track" @@ -1398,41 +1395,34 @@ msgid "Type:" msgstr "Tür:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "(Invalid, expected type: %s)" -msgstr "(Geçersiz Dışa Aktarım Şablonu: %s)" +msgstr "(Geçersiz, beklenen tür: %s)" #: editor/animation_track_editor.cpp msgid "Easing:" msgstr "Yumuşatma:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "In-Handle:" -msgstr "Tutamacı Ayarla" +msgstr "İç-Kulp:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Out-Handle:" -msgstr "Tutamacı Ayarla" +msgstr "Dış-Kulp:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Stream:" -msgstr "Aktarım:" +msgstr "Akış:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Start (s):" -msgstr "Başlangıç (lar):" +msgstr "Başlangıç (saniye):" #: editor/animation_track_editor.cpp -#, fuzzy msgid "End (s):" -msgstr "Bitiş (ler):" +msgstr "Bitiş (saniye):" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation Clip:" msgstr "Animasyon Klibi:" @@ -1518,12 +1508,10 @@ msgstr "Animasyon İzini Kaldır" #: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp #: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Editors" -msgstr "Düzenleyici" +msgstr "Editörler" #: editor/animation_track_editor.cpp editor/editor_settings.cpp -#, fuzzy msgid "Confirm Insert Track" msgstr "Parça Eklemeyi Onayla" @@ -1650,7 +1638,6 @@ msgid "Add Method Track Key" msgstr "Yöntem İz Anahtarı Ekle" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Method not found in object:" msgstr "Metot, nesne içinde bulunamadı:" @@ -1672,7 +1659,7 @@ msgstr "Metodlar" #: editor/animation_track_editor.cpp msgid "Bezier" -msgstr "" +msgstr "Bezier Eğrisi" #: editor/animation_track_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -1845,7 +1832,7 @@ msgstr "Maks. Eniyileştirilebilir Açı:" #: editor/animation_track_editor.cpp scene/3d/room_manager.cpp #: servers/visual_server.cpp msgid "Optimize" -msgstr "İyileştir" +msgstr "En İyileştir" #: editor/animation_track_editor.cpp msgid "Remove invalid keys" @@ -2262,7 +2249,6 @@ msgid "Open" msgstr "Aç" #: editor/dependency_editor.cpp -#, fuzzy msgid "Owners of: %s (Total: %d)" msgstr "Sahipleri: %s (Toplam: %d)" @@ -2376,7 +2362,6 @@ msgstr "Baş Geliştirici" #. TRANSLATORS: This refers to a job title. #: editor/editor_about.cpp -#, fuzzy msgctxt "Job Title" msgid "Project Manager" msgstr "Proje Yöneticisi" @@ -2621,9 +2606,8 @@ msgid "There is no '%s' file." msgstr "'%s' dosyası bulunamadı." #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Layout:" -msgstr "Yerleşim Düzeni:" +msgstr "Düzen:" #: editor/editor_audio_buses.cpp msgid "Invalid file, not an audio bus layout." @@ -2672,7 +2656,6 @@ msgid "Create a new Bus Layout." msgstr "Yeni bir Bus Yerleşim Düzeni oluştur." #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Audio Bus Layout" msgstr "Ses Veri Yolu Düzeni" @@ -2682,7 +2665,7 @@ msgstr "Geçersiz ad." #: editor/editor_autoload_settings.cpp msgid "Cannot begin with a digit." -msgstr "Basamak ile başlayamaz." +msgstr "Rakamla başlanamaz." #: editor/editor_autoload_settings.cpp msgid "Valid characters:" @@ -2826,22 +2809,18 @@ msgid "Choose" msgstr "Seç" #: editor/editor_export.cpp -#, fuzzy msgid "Project export for platform:" msgstr "Platform için proje dışa aktarımı:" #: editor/editor_export.cpp -#, fuzzy msgid "Completed with warnings." -msgstr "Hatalarla tamamlandı." +msgstr "Uyarılar ile tamamlandı." #: editor/editor_export.cpp -#, fuzzy msgid "Completed successfully." msgstr "Başarıyla tamamlandı." #: editor/editor_export.cpp -#, fuzzy msgid "Failed." msgstr "Başarısız." @@ -2855,32 +2834,27 @@ msgstr "Beklenen adreste dışa aktarım şablonu bulunamadı:" #: editor/editor_export.cpp msgid "Packing" -msgstr "Çıkınla" +msgstr "Paketle" #: editor/editor_export.cpp -#, fuzzy msgid "Save PCK" -msgstr "PCK'yi kaydet" +msgstr "PCK Dosyasına Kaydet" #: editor/editor_export.cpp -#, fuzzy msgid "Cannot create file \"%s\"." msgstr "\"%s\" dosyası oluşturulamıyor." #: editor/editor_export.cpp -#, fuzzy msgid "Failed to export project files." msgstr "Proje dosyaları dışa aktarılamadı." #: editor/editor_export.cpp -#, fuzzy msgid "Can't open file to read from path \"%s\"." msgstr "\"%s\" yolundan okunacak dosya açılamıyor." #: editor/editor_export.cpp -#, fuzzy msgid "Save ZIP" -msgstr "ZIP dosyasını kaydet" +msgstr "ZIP Dosyasına Kaydet" #: editor/editor_export.cpp msgid "" @@ -2941,7 +2915,6 @@ msgstr "" #: editor/editor_export.cpp platform/android/export/export_plugin.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp -#, fuzzy msgid "Custom Template" msgstr "Özel Şablon" @@ -2953,49 +2926,40 @@ msgid "Release" msgstr "Yayınlamak" #: editor/editor_export.cpp -#, fuzzy msgid "Binary Format" -msgstr "Çift Biçim" +msgstr "Binary Biçimi" #: editor/editor_export.cpp -#, fuzzy msgid "64 Bits" msgstr "64 Bit" #: editor/editor_export.cpp -#, fuzzy msgid "Embed PCK" -msgstr "PCK'yı yerleştirin" +msgstr "PCK'yi Yerleştir" #: editor/editor_export.cpp platform/osx/export/export.cpp -#, fuzzy msgid "Texture Format" msgstr "Doku Biçimi" #: editor/editor_export.cpp -#, fuzzy msgid "BPTC" msgstr "BPTC" #: editor/editor_export.cpp platform/osx/export/export.cpp -#, fuzzy msgid "S3TC" msgstr "S3TC" #: editor/editor_export.cpp platform/osx/export/export.cpp -#, fuzzy msgid "ETC" msgstr "ETC" #: editor/editor_export.cpp platform/osx/export/export.cpp -#, fuzzy msgid "ETC2" msgstr "ETC2" #: editor/editor_export.cpp -#, fuzzy msgid "No BPTC Fallbacks" -msgstr "Shader Yedeklerini Zorla" +msgstr "BPTC Gerilemesi Yok" #: editor/editor_export.cpp platform/android/export/export_plugin.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp @@ -3010,39 +2974,33 @@ msgid "Custom release template not found." msgstr "Özel yayınlama şablonu bulunamadı." #: editor/editor_export.cpp -#, fuzzy msgid "Prepare Template" msgstr "Şablon Hazırla" #: editor/editor_export.cpp platform/osx/export/export.cpp -#, fuzzy msgid "The given export path doesn't exist." -msgstr "Belirtilen Dışa aktarım yolu mevcut değil:" +msgstr "Belirtilen dışa aktarım yolu mevcut değil." #: editor/editor_export.cpp platform/javascript/export/export.cpp -#, fuzzy msgid "Template file not found: \"%s\"." msgstr "Şablon dosyası bulunamadı: \"%s\"." #: editor/editor_export.cpp -#, fuzzy msgid "Failed to copy export template." -msgstr "Dışa aktarma şablonu kopyalanamadı." +msgstr "Dışa aktarım şablonu kopyalanamadı." #: editor/editor_export.cpp platform/windows/export/export.cpp #: platform/x11/export/export.cpp -#, fuzzy msgid "PCK Embedding" -msgstr "Dolgulama" +msgstr "PCK Gömme" #: editor/editor_export.cpp msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB." msgstr "32-bit dışa aktarımlarda gömülü PCK 4GiB'tan büyük olamaz." #: editor/editor_export.cpp -#, fuzzy msgid "Convert Text Resources To Binary On Export" -msgstr "Dışa Aktarmada Metin Kaynaklarını İkili Dosyaya Dönüştür" +msgstr "Dışa Aktarım Sırasında Metin Kaynaklarını Binary Formata Dönüştür" #: editor/editor_feature_profile.cpp msgid "3D Editor" @@ -3063,19 +3021,19 @@ msgstr "Sahne Ağacı Düzenleme" #: editor/editor_feature_profile.cpp msgid "Node Dock" -msgstr "Dock Nod" +msgstr "Node Rıhtımı" #: editor/editor_feature_profile.cpp msgid "FileSystem Dock" -msgstr "Dosya Sistemi" +msgstr "Dosya Sistemi Rıhtımı" #: editor/editor_feature_profile.cpp msgid "Import Dock" -msgstr "Dock İçe Aktar" +msgstr "Rıhtım İçe Aktar" #: editor/editor_feature_profile.cpp msgid "Allows to view and edit 3D scenes." -msgstr "3D sahneleri görüntülemeye ve düzenlemeye izin verir." +msgstr "Üç boyutlu sahneleri görüntülemeye ve düzenlemeye izin verir." #: editor/editor_feature_profile.cpp msgid "Allows to edit scripts using the integrated script editor." @@ -3113,7 +3071,7 @@ msgstr "" #: editor/editor_feature_profile.cpp msgid "(current)" -msgstr "(Şu anki)" +msgstr "(mevcut)" #: editor/editor_feature_profile.cpp msgid "(none)" @@ -3251,7 +3209,6 @@ msgid "Manage Editor Feature Profiles" msgstr "Dışa Aktarım Şablonlarını Yönet" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Default Feature Profile" msgstr "Varsayılan Özellik Profili" @@ -3325,14 +3282,12 @@ msgid "Save a File" msgstr "Bir Dosya Kaydet" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Access" msgstr "Erişim" #: editor/editor_file_dialog.cpp editor/editor_settings.cpp -#, fuzzy msgid "Display Mode" -msgstr "Ekran Modu" +msgstr "Görüntüleme Modu" #: editor/editor_file_dialog.cpp #: editor/import/resource_importer_layered_texture.cpp @@ -3345,33 +3300,27 @@ msgstr "Ekran Modu" #: scene/resources/environment.cpp scene/resources/material.cpp #: scene/resources/visual_shader.cpp #: servers/audio/effects/audio_effect_distortion.cpp -#, fuzzy msgid "Mode" msgstr "Mod" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Current Dir" msgstr "Geçerli Dizin" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Current File" msgstr "Geçerli Dosya" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Current Path" msgstr "Geçerli Yol" #: editor/editor_file_dialog.cpp editor/editor_settings.cpp #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Show Hidden Files" msgstr "Gizli Dosyaları Göster" #: editor/editor_file_dialog.cpp -#, fuzzy msgid "Disable Overwrite Warning" msgstr "Üzerine Yazma Uyarısını Devre Dışı Bırak" @@ -3475,9 +3424,8 @@ msgid "(Re)Importing Assets" msgstr "Varlıklar Yeniden-İçe Aktarılıyor" #: editor/editor_file_system.cpp -#, fuzzy msgid "Reimport Missing Imported Files" -msgstr "İçe Aktarılan Eksik Dosyaları Yeniden İçe Aktar" +msgstr "Eksik Dosyaları Yeniden İçe Aktar" #: editor/editor_help.cpp scene/2d/camera_2d.cpp scene/gui/control.cpp #: scene/gui/nine_patch_rect.cpp scene/resources/dynamic_font.cpp @@ -3507,7 +3455,6 @@ msgid "Properties" msgstr "Özellikler" #: editor/editor_help.cpp -#, fuzzy msgid "overrides %s:" msgstr "%s'yi geçersiz kılar:" @@ -3579,9 +3526,8 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #: modules/gdscript/editor/gdscript_highlighter.cpp #: modules/gdscript/gdscript_editor.cpp -#, fuzzy msgid "Text Editor" -msgstr "Metin Düzenleyici" +msgstr "Metin Editörü" #: editor/editor_help.cpp editor/editor_node.cpp editor/editor_settings.cpp #: editor/plugins/shader_editor_plugin.cpp @@ -3589,7 +3535,6 @@ msgid "Help" msgstr "Yardım" #: editor/editor_help.cpp -#, fuzzy msgid "Sort Functions Alphabetically" msgstr "Fonksiyonları Alfabetik Olarak Sırala" @@ -3671,40 +3616,34 @@ msgid "Property:" msgstr "Özellik:" #: editor/editor_inspector.cpp editor/editor_spin_slider.cpp -#, fuzzy msgid "Label" msgstr "Etiket" #: editor/editor_inspector.cpp editor/editor_spin_slider.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Read Only" -msgstr "Sadece Okunur" +msgstr "Salt Okunur" #: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp -#, fuzzy msgid "Checkable" -msgstr "Kontrol edilebilir" +msgstr "Denetlenebilir" #: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Checked" -msgstr "Kontrol edildi" +msgstr "Denetlendi" #: editor/editor_inspector.cpp -#, fuzzy msgid "Draw Red" msgstr "Kırmızı Çiz" #: editor/editor_inspector.cpp -#, fuzzy msgid "Keying" msgstr "Anahtarlama" #: editor/editor_inspector.cpp msgid "Pin value" -msgstr "İğneleme değeri" +msgstr "Sabitleme değeri" #: editor/editor_inspector.cpp msgid "" @@ -3715,7 +3654,7 @@ msgstr "" #: editor/editor_inspector.cpp msgid "Pin value [Disabled because '%s' is editor-only]" msgstr "" -"Değer sabitle [Devre dışı bırakıldı çünkü '%s' sadece editör için aktiftir]" +"Sabitleme değeri [Devre dışı bırakıldı çünkü '%s' sadece editör içindir]" #: editor/editor_inspector.cpp #: editor/plugins/gradient_texture_2d_editor_plugin.cpp @@ -3732,11 +3671,11 @@ msgstr "Çoklu Ayarla:" #: editor/editor_inspector.cpp msgid "Pinned %s" -msgstr "% Sabitlenmişler" +msgstr "%s sabitlendi" #: editor/editor_inspector.cpp msgid "Unpinned %s" -msgstr "%Sabitlenmemişler" +msgstr "%s serbest bırakıldı" #: editor/editor_inspector.cpp msgid "Copy Property" @@ -4063,14 +4002,12 @@ msgid "Quick Open Script..." msgstr "Betiği Hızlı Aç..." #: editor/editor_node.cpp -#, fuzzy msgid "Save & Reload" msgstr "Kaydet ve Yeniden Yükle" #: editor/editor_node.cpp -#, fuzzy msgid "Save changes to '%s' before reloading?" -msgstr "Çıkmadan önce değişiklikler '%s' ‘ye kaydedilsin mi?" +msgstr "Yeniden yüklemeden önce değişiklikler '%s' dosyasına kaydedilsin mi?" #: editor/editor_node.cpp msgid "Save & Close" @@ -4189,9 +4126,9 @@ msgid "Open Project Manager?" msgstr "Proje Yöneticisi Açılsın Mı?" #: editor/editor_node.cpp -#, fuzzy msgid "Save changes to the following scene(s) before reloading?" -msgstr "Çıkmadan önce değişiklikler sahne(ler)e kaydedilsin mi?" +msgstr "" +"Yeniden yüklemeden önce şu sahne(ler)deki değişiklikler kaydedilsin mi?" #: editor/editor_node.cpp msgid "Save & Quit" @@ -4375,7 +4312,6 @@ msgid "%d more files" msgstr "%d daha fazla dosyalar" #: editor/editor_node.cpp -#, fuzzy msgid "" "Unable to write to file '%s', file in use, locked or lacking permissions." msgstr "" @@ -4419,70 +4355,60 @@ msgid "Always Close Output On Stop" msgstr "Durdurulduğunda Çıktıyı Daima Kapat" #: editor/editor_node.cpp -#, fuzzy msgid "Save On Focus Loss" -msgstr "Odak Kaybından Tasarruf Edin" +msgstr "Odak Kaybında Kaydet" #: editor/editor_node.cpp editor/editor_settings.cpp -#, fuzzy msgid "Save Each Scene On Quit" -msgstr "Dalı Sahne olarak Kaydet" +msgstr "Çıkışta Her Sahneyi Kaydet" #: editor/editor_node.cpp editor/editor_settings.cpp -#, fuzzy msgid "Quit Confirmation" -msgstr "Bilgi Göster" +msgstr "Çıkış Onayı" #: editor/editor_node.cpp -#, fuzzy msgid "Show Update Spinner" -msgstr "Güncelleme Topacını Gizle" +msgstr "Güncelleme İkonunu Göster" #: editor/editor_node.cpp msgid "Update Continuously" msgstr "Sürekli Güncelle" #: editor/editor_node.cpp -#, fuzzy msgid "Update Vital Only" -msgstr "Materyal Değişiklikleri:" +msgstr "Sadece Önemli Güncellemeler" #: editor/editor_node.cpp -#, fuzzy msgid "Localize Settings" -msgstr "Yerelleştirme" +msgstr "Yerelleştirme Ayarları" #: editor/editor_node.cpp -#, fuzzy msgid "Restore Scenes On Load" -msgstr "Sahne Düğümünü Al" +msgstr "Açılışta Sahneleri Geri Yükle" #: editor/editor_node.cpp editor/editor_settings.cpp -#, fuzzy msgid "Show Thumbnail On Hover" -msgstr "Fareyle üzerine gelindiğinde küçük resmi göster" +msgstr "Üzerine Gelindiğinde Küçük Resim Göster" #: editor/editor_node.cpp editor/editor_settings.cpp msgid "Inspector" -msgstr "Denetçi" +msgstr "Denetleyici" #: editor/editor_node.cpp -#, fuzzy msgid "Default Property Name Style" -msgstr "Proje Yolu:" +msgstr "Varsayılan Özellik İsim Biçimi" #: editor/editor_node.cpp msgid "Default Float Step" -msgstr "" +msgstr "Varsayılan Ondalık Adımı" #: editor/editor_node.cpp scene/gui/tree.cpp -#, fuzzy msgid "Disable Folding" -msgstr "Pasif Düğme" +msgstr "Katlamayı Devre Dışı Bırak" #: editor/editor_node.cpp msgid "Auto Unfold Foreign Scenes" -msgstr "" +msgstr "Harici Sahneleri Otomatik Olarak Yay" #: editor/editor_node.cpp msgid "Horizontal Vector2 Editing" @@ -4493,19 +4419,16 @@ msgid "Horizontal Vector Types Editing" msgstr "Yatay Vector tipleri düzenleme" #: editor/editor_node.cpp -#, fuzzy msgid "Open Resources In Current Inspector" -msgstr "Gözetmen Bölümünde Aç" +msgstr "Kaynakları Mevcut Denetleyicide Aç" #: editor/editor_node.cpp -#, fuzzy msgid "Resources To Open In New Inspector" -msgstr "Gözetmen Bölümünde Aç" +msgstr "Yeni Denetleyicide Açılacak Kaynaklar" #: editor/editor_node.cpp -#, fuzzy msgid "Default Color Picker Mode" -msgstr "Varsayılan renk seçme modu" +msgstr "Varsayılan Renk Seçme Modu" #: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp msgid "Version Control" @@ -4615,6 +4538,7 @@ msgstr "Çeşitli proje ya da sahne-çapında araçlar." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Proje" @@ -4896,14 +4820,12 @@ msgid "Save & Restart" msgstr "Kaydet ve Baştan Başlat" #: editor/editor_node.cpp -#, fuzzy msgid "Update All Changes" -msgstr "Değişiklik Olduğunda Güncelle" +msgstr "Tüm Değişiklikleri Güncelle" #: editor/editor_node.cpp -#, fuzzy msgid "Update Vital Changes" -msgstr "Materyal Değişiklikleri:" +msgstr "Önemli Değişiklikleri Güncelle" #: editor/editor_node.cpp msgid "Hide Update Spinner" @@ -5164,12 +5086,11 @@ msgstr "Hata Ayıklayıcı" #: editor/editor_profiler.cpp msgid "Profiler Frame History Size" -msgstr "" +msgstr "Profil Oluşturucu Çerçeve Geçmişi Boyutu" #: editor/editor_profiler.cpp -#, fuzzy msgid "Profiler Frame Max Functions" -msgstr "İşlevi Yeniden Adlandır" +msgstr "Profil Oluşturucu Çerçeve Maksimum Fonksiyon Sayısı" #: editor/editor_properties.cpp msgid "Edit Text:" @@ -5302,20 +5223,17 @@ msgstr "Yeni %s" #: modules/visual_script/visual_script_func_nodes.cpp #: modules/visual_script/visual_script_nodes.cpp #: modules/visual_script/visual_script_yield_nodes.cpp -#, fuzzy msgid "Base Type" -msgstr "Temel Tipi Değiştir" +msgstr "Temel Tür" #: editor/editor_resource_picker.cpp -#, fuzzy msgid "Edited Resource" -msgstr "Kaynak Ekle" +msgstr "Değiştirilmiş Kaynak" #: editor/editor_resource_picker.cpp scene/gui/line_edit.cpp #: scene/gui/slider.cpp scene/gui/spin_box.cpp -#, fuzzy msgid "Editable" -msgstr "Düzenlenebilir Öge" +msgstr "Düzenlenebilir" #: editor/editor_resource_picker.cpp editor/property_editor.cpp msgid "New Script" @@ -5326,9 +5244,8 @@ msgid "Extend Script" msgstr "Betik Aç" #: editor/editor_resource_picker.cpp -#, fuzzy msgid "Script Owner" -msgstr "Betik Adı:" +msgstr "Senaryo Sahibi" #: editor/editor_run_native.cpp msgid "" @@ -5341,9 +5258,8 @@ msgstr "" "bir ön ayarı çalıştırılabilir olarak tanımlayın." #: editor/editor_run_native.cpp -#, fuzzy msgid "Project Run" -msgstr "Proje" +msgstr "Proje Koşusu" #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." @@ -5370,14 +5286,12 @@ msgid "Did you forget the '_run' method?" msgstr "'_run()' metodunu unuttunuz mu?" #: editor/editor_settings.cpp -#, fuzzy msgid "Editor Language" -msgstr "Düzenleyici Yerleşim Düzeni" +msgstr "Editör Dili" #: editor/editor_settings.cpp -#, fuzzy msgid "Display Scale" -msgstr "Hepsini Görüntüle" +msgstr "Ölçeği Görüntüle" #: editor/editor_settings.cpp msgid "Custom Display Scale" @@ -5397,48 +5311,43 @@ msgstr "Kenarı yumuşatılmış font" #: editor/editor_settings.cpp msgid "Font Hinting" -msgstr "" +msgstr "Yazıtipi İpucusu" #: editor/editor_settings.cpp -#, fuzzy msgid "Main Font" -msgstr "Ana Sahne" +msgstr "Ana Yazı Tipi" #: editor/editor_settings.cpp msgid "Main Font Bold" msgstr "Ana font kalınlığı" #: editor/editor_settings.cpp -#, fuzzy msgid "Code Font" -msgstr "Düğüm Noktası Ekle" +msgstr "Kod Yazı Tipi" #: editor/editor_settings.cpp -#, fuzzy msgid "Dim Editor On Dialog Popup" -msgstr "İletişim penceresinde Dim Editörü" +msgstr "Popup Diyalog Çıktığında Editörü Karart" #: editor/editor_settings.cpp main/main.cpp msgid "Low Processor Mode Sleep (µsec)" -msgstr "" +msgstr "Düşük İşlemci Modu Uykusu (mikrosaniye)" #: editor/editor_settings.cpp msgid "Unfocused Low Processor Mode Sleep (µsec)" -msgstr "" +msgstr "Odaklanılmamış Düşük İşlemci Modu Uykusu (mikrosaniye)" #: editor/editor_settings.cpp -#, fuzzy msgid "Separate Distraction Mode" -msgstr "Dikkat Dağıtmayan Kip" +msgstr "Ayrık Dikkat Modu" #: editor/editor_settings.cpp msgid "Automatically Open Screenshots" msgstr "Otomatik olarak ekran görüntülerini aç" #: editor/editor_settings.cpp -#, fuzzy msgid "Max Array Dictionary Items Per Page" -msgstr "Her sayfada maks dizi sözlüğü öğesi" +msgstr "Sayfa Başına Maksimum Dizi Sözlüğü Öğesi" #: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp scene/gui/control.cpp @@ -5455,14 +5364,12 @@ msgid "Icon And Font Color" msgstr "Simge ve Font rengi" #: editor/editor_settings.cpp -#, fuzzy msgid "Base Color" -msgstr "Renkler" +msgstr "Temel Renk" #: editor/editor_settings.cpp -#, fuzzy msgid "Accent Color" -msgstr "Renk Seç" +msgstr "Vurgu Rengi" #: editor/editor_settings.cpp scene/resources/environment.cpp msgid "Contrast" @@ -5470,113 +5377,96 @@ msgstr "Kontrast" #: editor/editor_settings.cpp msgid "Relationship Line Opacity" -msgstr "" +msgstr "İlişki Hattı Opaklığı" #: editor/editor_settings.cpp -#, fuzzy msgid "Highlight Tabs" -msgstr "Işık-haritaları kaydediliyor" +msgstr "Tab Karakterlerini Vurgula" #: editor/editor_settings.cpp -#, fuzzy msgid "Border Size" -msgstr "Kenar Pikselleri" +msgstr "Kenarlık Boyutu" #: editor/editor_settings.cpp msgid "Use Graph Node Headers" -msgstr "" +msgstr "Grafik Node Üstbilgilerini Kullan" #: editor/editor_settings.cpp -#, fuzzy msgid "Additional Spacing" -msgstr "Animasyon Döngüsü" +msgstr "Ek Boşluk" #: editor/editor_settings.cpp -#, fuzzy msgid "Custom Theme" -msgstr "Editör Teması" +msgstr "Özel Tema" #: editor/editor_settings.cpp -#, fuzzy msgid "Show Script Button" -msgstr "Tekerlek Sağ Düğme" +msgstr "Senaryo Düğmesini Göster" #: editor/editor_settings.cpp -#, fuzzy msgid "Directories" -msgstr "Yönler" +msgstr "Klasörler" #: editor/editor_settings.cpp -#, fuzzy msgid "Autoscan Project Path" -msgstr "Proje Yolu:" +msgstr "Proje Yolunu Otomatik Tara" #: editor/editor_settings.cpp -#, fuzzy msgid "Default Project Path" -msgstr "Proje Yolu:" +msgstr "Varsayılan Proje Yolu" #: editor/editor_settings.cpp -#, fuzzy msgid "On Save" -msgstr "Kaydet" +msgstr "Kayıtta" #: editor/editor_settings.cpp -#, fuzzy msgid "Compress Binary Resources" -msgstr "Kaynağı Tıpkıla" +msgstr "Binary Kaynakları Sıkıştır" #: editor/editor_settings.cpp +#, fuzzy msgid "Safe Save On Backup Then Rename" -msgstr "" +msgstr "İsimlendirdikten Sonra Yedeğe Güvenli Kaydet" #: editor/editor_settings.cpp -#, fuzzy msgid "File Dialog" -msgstr "XForm İletişim Kutusu" +msgstr "Dosya Diyaloğu" #: editor/editor_settings.cpp -#, fuzzy msgid "Thumbnail Size" -msgstr "Küçük Resim..." +msgstr "Küçük Resim Boyutu" #: editor/editor_settings.cpp msgid "Docks" -msgstr "Eklentiler" +msgstr "Rıhtımlar" #: editor/editor_settings.cpp -#, fuzzy msgid "Scene Tree" -msgstr "Sahne Ağacını Al" +msgstr "Sahne Ağacı" #: editor/editor_settings.cpp msgid "Start Create Dialog Fully Expanded" -msgstr "" +msgstr "Oluştur Diyaloğunu Tam Boy Başlat" #: editor/editor_settings.cpp -#, fuzzy msgid "Always Show Folders" -msgstr "Daima Izgarayı Göster" +msgstr "Klasörleri Daima Göster" #: editor/editor_settings.cpp -#, fuzzy msgid "Property Editor" -msgstr "Grup Düzenleyici" +msgstr "Özellik Editörü" #: editor/editor_settings.cpp -#, fuzzy msgid "Auto Refresh Interval" -msgstr "Otomatik yenileme intervalı" +msgstr "Otomatik Yenileme Aralığı" #: editor/editor_settings.cpp -#, fuzzy msgid "Subresource Hue Tint" -msgstr "Alt Kaynaklar" +msgstr "Alt Kaynak Renk Tonu" #: editor/editor_settings.cpp -#, fuzzy msgid "Color Theme" -msgstr "Editör Teması" +msgstr "Renk Teması" #: editor/editor_settings.cpp scene/3d/label_3d.cpp #: scene/resources/default_theme/default_theme.cpp @@ -5585,50 +5475,44 @@ msgstr "Satır aralığı" #: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp #: modules/gdscript/editor/gdscript_highlighter.cpp -#, fuzzy msgid "Highlighting" -msgstr "Doğrudan aydınlatma" +msgstr "Vurgulama" #: editor/editor_settings.cpp scene/gui/text_edit.cpp -#, fuzzy msgid "Syntax Highlighting" -msgstr "Yazım Vurgulama" +msgstr "Sözdizim Vurgulama" #: editor/editor_settings.cpp scene/gui/text_edit.cpp msgid "Highlight All Occurrences" -msgstr "" +msgstr "Tüm Olayları Vurgula" #: editor/editor_settings.cpp scene/gui/text_edit.cpp msgid "Highlight Current Line" -msgstr "Geçerli satırı vurgula" +msgstr "Mevcut Satırı Vurgula" #: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp msgid "Highlight Type Safe Lines" -msgstr "" +msgstr "Tip Güvenliğine Tabi Satırları Vurgula" #: editor/editor_settings.cpp -#, fuzzy msgid "Indent" -msgstr "Sola Girintile" +msgstr "Girintile" #: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp msgid "Auto Indent" msgstr "Kendinden Girintili" #: editor/editor_settings.cpp -#, fuzzy msgid "Convert Indent On Save" -msgstr "Girintiyi Boşluklara Dönüştür" +msgstr "Kayıt Sırasında Girintileri Dönüştür" #: editor/editor_settings.cpp scene/gui/text_edit.cpp -#, fuzzy msgid "Draw Tabs" -msgstr "Çizim Çağrıları:" +msgstr "Tab Karakterlerini Çiz" #: editor/editor_settings.cpp scene/gui/text_edit.cpp -#, fuzzy msgid "Draw Spaces" -msgstr "Çizim Çağrıları:" +msgstr "Boşluk Karakterlerini Çiz" #: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp @@ -5646,9 +5530,8 @@ msgid "V Scroll Speed" msgstr "V kaydırma hızı" #: editor/editor_settings.cpp -#, fuzzy msgid "Show Minimap" -msgstr "Başlatımı Göster" +msgstr "Mini Haritayı Göster" #: editor/editor_settings.cpp msgid "Minimap Width" @@ -5656,113 +5539,102 @@ msgstr "Küçük Harita Genişliği" #: editor/editor_settings.cpp msgid "Mouse Extra Buttons Navigate History" -msgstr "" +msgstr "Ek Fare Butonları Geçmişte Gezinmek İçin Kullanılsın" #: editor/editor_settings.cpp -#, fuzzy msgid "Drag And Drop Selection" -msgstr "GridMap Seçimi" +msgstr "Sürükle ve Bırak Seçimi" #: editor/editor_settings.cpp -#, fuzzy msgid "Stay In Script Editor On Node Selected" -msgstr "Seçilmiş Düğümde Script Editöründe Kal" +msgstr "Node Seçiminde Senaryo Editöründe Kal" #: editor/editor_settings.cpp msgid "Appearance" msgstr "Dış görünüş" #: editor/editor_settings.cpp scene/gui/text_edit.cpp -#, fuzzy msgid "Show Line Numbers" -msgstr "Satır Numarası:" +msgstr "Satır Numaralarını Göster" #: editor/editor_settings.cpp -#, fuzzy msgid "Line Numbers Zero Padded" -msgstr "Satır Numarası:" +msgstr "Satır Numaralarının Başına Sıfır Ekle" #: editor/editor_settings.cpp msgid "Show Bookmark Gutter" -msgstr "" +msgstr "Yer İmi Boşluğunu Göster" #: editor/editor_settings.cpp -#, fuzzy msgid "Show Breakpoint Gutter" -msgstr "İşaret Noktalarını Atla" +msgstr "Breakpoint Boşluğunu Göster" #: editor/editor_settings.cpp msgid "Show Info Gutter" -msgstr "" +msgstr "Bilgi Boşluğunu Göster" #: editor/editor_settings.cpp -#, fuzzy msgid "Code Folding" -msgstr "Kod katlama" +msgstr "Kod Katlama" #: editor/editor_settings.cpp -#, fuzzy msgid "Word Wrap" -msgstr "Kelime Paketle" +msgstr "Sözcük Kaydırma" #: editor/editor_settings.cpp msgid "Show Line Length Guidelines" -msgstr "" +msgstr "Satır Uzunluğu Yönergelerini Göster" #: editor/editor_settings.cpp msgid "Line Length Guideline Soft Column" -msgstr "" +msgstr "Satır Uzunluğu Yönergesi Yumuşak Sütun" #: editor/editor_settings.cpp msgid "Line Length Guideline Hard Column" -msgstr "" +msgstr "Satır Uzunluğu Yönergesi Sert Sütun" #: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Script List" -msgstr "Kod Düzenleyici" +msgstr "Senaryo Listesi" #: editor/editor_settings.cpp msgid "Show Members Overview" msgstr "Üyelerin Genel Bakışını Göster" #: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Files" -msgstr "Dosya" +msgstr "Dosyalar" #: editor/editor_settings.cpp -#, fuzzy msgid "Trim Trailing Whitespace On Save" -msgstr "İzleyenin Boşluklarını Kırp" +msgstr "Kaydederken Satır Sonundaki Boşlukları Sil" #: editor/editor_settings.cpp msgid "Autosave Interval Secs" -msgstr "" +msgstr "Otomatik Kayıt Aralığı Saniye" #: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Restore Scripts On Load" -msgstr "Script'leri Yüklemede Eski Haline Getir" +msgstr "Yükleme Sırasında Komut Dizilerini Eski Hallerine Getir" #: editor/editor_settings.cpp -#, fuzzy msgid "Auto Reload And Parse Scripts On Save" -msgstr "Kaydederken Script'leri Otomatik Tekrar yükle ve Ayrıştır" +msgstr "" +"Kayıt Sırasında Komut Dizilerini Otomatik Olarak Tekrar Yükle ve Çözümle" #: editor/editor_settings.cpp -#, fuzzy msgid "Auto Reload Scripts On External Change" -msgstr "Dış Değişiklikte Otomatik Olarak Script'i Geri Yükle" +msgstr "" +"Dışarıdan Bir Değişiklik Yapıldığında Komut Dizilerini Otomatik Olarak " +"Yeniden Yükle" #: editor/editor_settings.cpp -#, fuzzy msgid "Create Signal Callbacks" -msgstr "Shader Yedeklerini Zorla" +msgstr "Sinyal Geri Çağırması Oluştur" #: editor/editor_settings.cpp msgid "Sort Members Outline Alphabetically" -msgstr "" +msgstr "Fonksiyonları Alfabetik Sırala" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Cursor" @@ -5774,35 +5646,33 @@ msgstr "Dosyanın Sonunu Kaydır" #: editor/editor_settings.cpp msgid "Block Caret" -msgstr "" +msgstr "Blok İmleç" #: editor/editor_settings.cpp msgid "Caret Blink" -msgstr "" +msgstr "Karet Yansön" #: editor/editor_settings.cpp msgid "Caret Blink Speed" -msgstr "" +msgstr "Karet Yansön Hızı" #: editor/editor_settings.cpp -#, fuzzy msgid "Right Click Moves Caret" -msgstr "Nokta eklemek için sağ tıkla" +msgstr "Sağ Tık Kareti Hareket Ettirsin" #: editor/editor_settings.cpp modules/gdscript/gdscript.cpp #: modules/gdscript/gdscript_editor.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Completion" -msgstr "Seçimi Kopyala" +msgstr "Tamamlanma" #: editor/editor_settings.cpp msgid "Idle Parse Delay" -msgstr "" +msgstr "Boşta Çözümleme Gecikmesi" #: editor/editor_settings.cpp msgid "Auto Brace Complete" -msgstr "" +msgstr "Süslü Ayraçları Otomatik Eşle" #: editor/editor_settings.cpp msgid "Code Complete Delay" @@ -5810,84 +5680,73 @@ msgstr "Kod Tamamlama Gecikme Süresi" #: editor/editor_settings.cpp msgid "Put Callhint Tooltip Below Current Line" -msgstr "" +msgstr "Çağırma Araç İpucunu Mavcut Satırın Altında Tut" #: editor/editor_settings.cpp msgid "Callhint Tooltip Offset" -msgstr "" +msgstr "Çağırma Araç İpucu Göreli Konumu" #: editor/editor_settings.cpp -#, fuzzy msgid "Complete File Paths" -msgstr "Düğüm Yolunu Kopyala" +msgstr "Dosya Yollarını Tamamla" #: editor/editor_settings.cpp modules/gdscript/gdscript_editor.cpp -#, fuzzy msgid "Add Type Hints" -msgstr "Tür Ekle" +msgstr "Tür İpuçlarını Ekle" #: editor/editor_settings.cpp -#, fuzzy msgid "Use Single Quotes" -msgstr "Yeni Döşeme Parçacığı" +msgstr "Tek Tırnak İşareti Kullan" #: editor/editor_settings.cpp -#, fuzzy msgid "Show Help Index" -msgstr "Yardımcıları Göster" +msgstr "Yardım İndeksini Göster" #: editor/editor_settings.cpp msgid "Help Font Size" -msgstr "" +msgstr "Yardım Yazı Tipi Boyutu" #: editor/editor_settings.cpp msgid "Help Source Font Size" -msgstr "" +msgstr "Yardım Kaynak Yazı Tipi Boyutu" #: editor/editor_settings.cpp msgid "Help Title Font Size" -msgstr "" +msgstr "Yardım Başlık Yazı Tipi Boyutu" #: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" msgstr "Izgara Haritası" #: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Pick Distance" -msgstr "Uzaklık Seç:" +msgstr "Mesafe Seç" #: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Preview Size" -msgstr "Önizleme" +msgstr "Önizleme Boyutu" #: editor/editor_settings.cpp -#, fuzzy msgid "Primary Grid Color" msgstr "Birincil Izgara Rengi" #: editor/editor_settings.cpp -#, fuzzy msgid "Secondary Grid Color" msgstr "İkincil Izgara Rengi" #: editor/editor_settings.cpp -#, fuzzy msgid "Selection Box Color" -msgstr "Yalnızca Seçim" +msgstr "Seçim Kutusu Rengi" #: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp #: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp -#, fuzzy msgid "3D Gizmos" -msgstr "Gizmolar" +msgstr "Üç Boyutlu Gizmolar" #: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp #: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp -#, fuzzy msgid "Gizmo Colors" -msgstr "Emisyon Renkleri" +msgstr "Gizmo Renkleri" #: editor/editor_settings.cpp #, fuzzy @@ -5896,9 +5755,8 @@ msgstr "Örnek" #: editor/editor_settings.cpp modules/gltf/gltf_node.cpp #: scene/3d/physics_body.cpp -#, fuzzy msgid "Joint" -msgstr "Nokta" +msgstr "Eklem" #: editor/editor_settings.cpp scene/2d/collision_shape_2d.cpp #: scene/2d/cpu_particles_2d.cpp scene/2d/touch_screen_button.cpp @@ -5910,112 +5768,96 @@ msgid "Shape" msgstr "Şekil" #: editor/editor_settings.cpp -#, fuzzy msgid "Primary Grid Steps" -msgstr "Izgara Adımı:" +msgstr "Birincil Izgara Adımları" #: editor/editor_settings.cpp -#, fuzzy msgid "Grid Size" -msgstr "Izgara Adımı:" +msgstr "Izgara Boyutu" #: editor/editor_settings.cpp msgid "Grid Division Level Max" -msgstr "" +msgstr "Maksimum Izgara Bölme Seviyesi" #: editor/editor_settings.cpp msgid "Grid Division Level Min" -msgstr "" +msgstr "Minimum Izgara Bölme Seviyesi" #: editor/editor_settings.cpp msgid "Grid Division Level Bias" -msgstr "" +msgstr "Izgara Bölme Seviyesi Sapması" #: editor/editor_settings.cpp -#, fuzzy msgid "Grid XZ Plane" -msgstr "IzgaraHaritası Boyama" +msgstr "Izgara XZ Düzlemi" #: editor/editor_settings.cpp -#, fuzzy msgid "Grid XY Plane" -msgstr "IzgaraHaritası Boyama" +msgstr "Izgara XY Düzlemi" #: editor/editor_settings.cpp -#, fuzzy msgid "Grid YZ Plane" -msgstr "IzgaraHaritası Boyama" +msgstr "Izgara YZ Düzlemi" #: editor/editor_settings.cpp -#, fuzzy msgid "Default FOV" -msgstr "Varsayılan" +msgstr "Varsayılan Görüş Alanı" #: editor/editor_settings.cpp -#, fuzzy msgid "Default Z Near" -msgstr "Varsayılan tema" +msgstr "Varsayılan Z Yakın" #: editor/editor_settings.cpp -#, fuzzy msgid "Default Z Far" -msgstr "Varsayılan" +msgstr "Varsayılan Z Uzak" #: editor/editor_settings.cpp msgid "Lightmap Baking Number Of CPU Threads" -msgstr "" +msgstr "Işık Haritası Pişirme İş Parçacığı Sayısı" #: editor/editor_settings.cpp -#, fuzzy msgid "Navigation Scheme" -msgstr "Gezinim Kipi" +msgstr "Navigasyon Düzeni" #: editor/editor_settings.cpp -#, fuzzy msgid "Invert Y Axis" -msgstr "Y Eksenini Düzenle" +msgstr "Y Eksenini Çevir" #: editor/editor_settings.cpp -#, fuzzy msgid "Invert X Axis" -msgstr "X Eksenini Düzenle" +msgstr "X Eksenini Çevir" #: editor/editor_settings.cpp -#, fuzzy msgid "Zoom Style" -msgstr "Uzaklaştır" +msgstr "Zoom Biçimi" #: editor/editor_settings.cpp msgid "Emulate Numpad" -msgstr "" +msgstr "Sayı Tuşlarını Emüle Et" #: editor/editor_settings.cpp msgid "Emulate 3 Button Mouse" -msgstr "" +msgstr "3 Butonlu Fareyi Emüle Et" #: editor/editor_settings.cpp -#, fuzzy msgid "Orbit Modifier" -msgstr "İlk Değişiklik Tarihi'ne göre sırala" +msgstr "Yörünge Değiştirici" #: editor/editor_settings.cpp -#, fuzzy msgid "Pan Modifier" -msgstr "Kaydırma Biçimi" +msgstr "Kaydırma Değiştirici" #: editor/editor_settings.cpp -#, fuzzy msgid "Zoom Modifier" -msgstr "Değişti" +msgstr "Zoom Değiştirici" #: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp msgid "Warped Mouse Panning" -msgstr "" +msgstr "Çarpık Fare Kaydırması" #: editor/editor_settings.cpp -#, fuzzy msgid "Navigation Feel" -msgstr "Gezinim Kipi" +msgstr "Navigasyon Hissi" #: editor/editor_settings.cpp msgid "Orbit Sensitivity" @@ -6023,47 +5865,39 @@ msgstr "Yörünge Hassasiyeti" #: editor/editor_settings.cpp msgid "Orbit Inertia" -msgstr "" +msgstr "Yörünge Ataleti" #: editor/editor_settings.cpp -#, fuzzy msgid "Translation Inertia" -msgstr "Çeviriler" +msgstr "Öteleme Ataleti" #: editor/editor_settings.cpp -#, fuzzy msgid "Zoom Inertia" -msgstr "Yaklaştır" +msgstr "Zoom Ataleti" #: editor/editor_settings.cpp -#, fuzzy msgid "Freelook" -msgstr "Yukarı Serbest Bakış" +msgstr "Serbest Bakış" #: editor/editor_settings.cpp -#, fuzzy msgid "Freelook Navigation Scheme" -msgstr "Yönlendirici Örüntüsü Oluştur" +msgstr "Serbest Bakış Navigasyon Düzeni" #: editor/editor_settings.cpp -#, fuzzy msgid "Freelook Sensitivity" -msgstr "Sola Serbest Bakış" +msgstr "Serbest Bakış Hassasiyeti" #: editor/editor_settings.cpp -#, fuzzy msgid "Freelook Inertia" -msgstr "Sola Serbest Bakış" +msgstr "Serbest Bakış Ataleti" #: editor/editor_settings.cpp -#, fuzzy msgid "Freelook Base Speed" -msgstr "Serbest Bakış Hız Değiştirici" +msgstr "Serbest Bakış Baz Hızı" #: editor/editor_settings.cpp -#, fuzzy msgid "Freelook Activation Modifier" -msgstr "Serbest Bakış Hız Değiştirici" +msgstr "Serbest Bakış Aktivasyon Değiştirici" #: editor/editor_settings.cpp #, fuzzy @@ -6071,72 +5905,64 @@ msgid "Freelook Speed Zoom Link" msgstr "Serbest Bakış Hız Değiştirici" #: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Grid Color" -msgstr "Renk Seç" +msgstr "Izgara Rengi" #: editor/editor_settings.cpp -#, fuzzy msgid "Guides Color" -msgstr "Renk Seç" +msgstr "Kılavuz Çizgi Rengi" #: editor/editor_settings.cpp -#, fuzzy msgid "Smart Snapping Line Color" -msgstr "Akıllı Hizalama" +msgstr "Akıllı Yapışma Satır Rengi" #: editor/editor_settings.cpp msgid "Bone Width" -msgstr "" +msgstr "Kemik Genişliği" #: editor/editor_settings.cpp -#, fuzzy msgid "Bone Color 1" -msgstr "Renk Öğesini Yeniden Adlandır" +msgstr "Kemik Rengi 1" #: editor/editor_settings.cpp -#, fuzzy msgid "Bone Color 2" -msgstr "Renk Öğesini Yeniden Adlandır" +msgstr "Kemik Rengi 2" #: editor/editor_settings.cpp -#, fuzzy msgid "Bone Selected Color" -msgstr "Seçilen Profili Yapılandır:" +msgstr "Seçilmiş Kemik Rengi" #: editor/editor_settings.cpp msgid "Bone IK Color" -msgstr "" +msgstr "Kemik TK Rengi" #: editor/editor_settings.cpp msgid "Bone Outline Color" -msgstr "" +msgstr "Kemik Kontur Rengi" #: editor/editor_settings.cpp -#, fuzzy msgid "Bone Outline Size" -msgstr "Kontur Boyutu:" +msgstr "Kemik Kontur Boyutu" #: editor/editor_settings.cpp msgid "Viewport Border Color" -msgstr "" +msgstr "Çerçeve Sınır Rengi" #: editor/editor_settings.cpp msgid "Constrain Editor View" -msgstr "" +msgstr "Düzenleyici Görünümünü Kısıtla" #: editor/editor_settings.cpp msgid "Simple Panning" -msgstr "" +msgstr "Basit Kaydırma" #: editor/editor_settings.cpp msgid "Scroll To Pan" -msgstr "" +msgstr "Kaydırmak İçin Tut" #: editor/editor_settings.cpp -#, fuzzy msgid "Pan Speed" -msgstr "Hız:" +msgstr "Pan Yapma Hızı" #: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy @@ -6145,109 +5971,103 @@ msgstr "Çokgen 2B UV Düzenleyicisi" #: editor/editor_settings.cpp msgid "Point Grab Radius" -msgstr "" +msgstr "Nokta Yakalama Yarıçapı" #: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Show Previous Outline" -msgstr "Önceki sekme" +msgstr "Önceki Konturu Göster" #: editor/editor_settings.cpp editor/scene_tree_dock.cpp #, fuzzy msgid "Autorename Animation Tracks" -msgstr "Animasyonu Yeniden Adlandır" +msgstr "Animasyon İzlerini Otomatik Yeniden Adlandır" #: editor/editor_settings.cpp +#, fuzzy msgid "Default Create Bezier Tracks" -msgstr "" +msgstr "Varsayılan Bezier İz Oluştur" #: editor/editor_settings.cpp #, fuzzy msgid "Default Create Reset Tracks" -msgstr "RESET İz(ler)i oluşturun" +msgstr "Varsayılan İzleri Sıfırla ve Oluştur" #: editor/editor_settings.cpp +#, fuzzy msgid "Onion Layers Past Color" -msgstr "" +msgstr "Eski Soğan Katman Rengi" #: editor/editor_settings.cpp +#, fuzzy msgid "Onion Layers Future Color" -msgstr "" +msgstr "Yeni Soğan Katmanı Rengi" #: editor/editor_settings.cpp #, fuzzy msgid "Visual Editors" -msgstr "Grup Düzenleyici" +msgstr "Görsel Editörler" #: editor/editor_settings.cpp msgid "Minimap Opacity" -msgstr "" +msgstr "Mini Harita Şeffaflığı" #: editor/editor_settings.cpp msgid "Window Placement" -msgstr "" +msgstr "Pencere Yerleşimi" #: editor/editor_settings.cpp scene/2d/back_buffer_copy.cpp scene/2d/sprite.cpp #: scene/2d/visibility_notifier_2d.cpp scene/3d/sprite_3d.cpp #: scene/gui/control.cpp -#, fuzzy msgid "Rect" -msgstr "Tam Kare" +msgstr "Dikdörtgen" #: editor/editor_settings.cpp -#, fuzzy msgid "Rect Custom Position" -msgstr "Eğri Çıkış Konumunu Ayarla" +msgstr "Dikdörtgen Özel Konumu" #: editor/editor_settings.cpp platform/android/export/export_plugin.cpp msgid "Screen" -msgstr "" +msgstr "Ekran" #: editor/editor_settings.cpp -#, fuzzy msgid "Auto Save" -msgstr "Otomatik Dilimle" +msgstr "Otomatik Kaydet" #: editor/editor_settings.cpp -#, fuzzy msgid "Save Before Running" -msgstr "Çalıştırmadan önce sahneyi kaydedin..." +msgstr "Çalıştırmadan Önce Kaydet" #: editor/editor_settings.cpp -#, fuzzy msgid "Font Size" -msgstr "Önden Görünüm" +msgstr "Yazı Tipi Boyutu" #: editor/editor_settings.cpp #: modules/gdscript/language_server/gdscript_language_server.cpp -#, fuzzy msgid "Remote Host" msgstr "Uzak Ana Bilgisayar" #: editor/editor_settings.cpp #: modules/gdscript/language_server/gdscript_language_server.cpp -#, fuzzy msgid "Remote Port" -msgstr "Noktayı kaldır" +msgstr "Uzak Port" #: editor/editor_settings.cpp -#, fuzzy msgid "Editor SSL Certificates" -msgstr "Düzenleyici Ayarları" +msgstr "Düzenleyicinin SSL Sertifikası" #: editor/editor_settings.cpp msgid "HTTP Proxy" -msgstr "" +msgstr "HTTP Proxy" #: editor/editor_settings.cpp msgid "Host" -msgstr "" +msgstr "Ana Bilgisayar" #: editor/editor_settings.cpp editor/fileserver/editor_file_server.cpp #: main/main.cpp modules/mono/mono_gd/gd_mono.cpp #: scene/resources/default_theme/default_theme.cpp msgid "Port" -msgstr "" +msgstr "Port" #. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp @@ -6256,171 +6076,150 @@ msgstr "Proje Yöneticisi" #. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp -#, fuzzy msgid "Sorting Order" -msgstr "Klasör yeniden adlandırma:" +msgstr "Sıralama Yöntemi" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Symbol Color" -msgstr "" +msgstr "Simge Rengi" #: editor/editor_settings.cpp msgid "Keyword Color" -msgstr "" +msgstr "Anahtar Sözcük Rengi" #: editor/editor_settings.cpp msgid "Control Flow Keyword Color" -msgstr "" +msgstr "Akış Kontrolü Anahtar Sözcüğü Rengi" #: editor/editor_settings.cpp -#, fuzzy msgid "Base Type Color" -msgstr "Temel Tipi Değiştir" +msgstr "Temel Tür Rengi" #: editor/editor_settings.cpp msgid "Engine Type Color" -msgstr "" +msgstr "Motor Tür Rengi" #: editor/editor_settings.cpp msgid "User Type Color" -msgstr "" +msgstr "Üye Tür Rengi" #: editor/editor_settings.cpp msgid "Comment Color" -msgstr "" +msgstr "Yorum Rengi" #: editor/editor_settings.cpp -#, fuzzy msgid "String Color" -msgstr "Dosya Depolama:" +msgstr "String Rengi" #: editor/editor_settings.cpp platform/javascript/export/export.cpp #: platform/uwp/export/export.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Background Color" -msgstr "Geçersiz arkaplan rengi." +msgstr "Arkaplan Rengi" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Completion Background Color" -msgstr "Geçersiz arkaplan rengi." +msgstr "Tamamlanma Arkaplan Rengi" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Completion Selected Color" -msgstr "Seçileni İçe Aktar" +msgstr "Tamamlayıcı Seçim Rengi" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Completion Existing Color" -msgstr "" +msgstr "Tamamlayıcı Rengi" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Completion Scroll Color" -msgstr "" +msgstr "Tamamlayıcı Kaydırma Çubuğu Rengi" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Completion Font Color" -msgstr "" +msgstr "Tamamlayıcı Yazı Tipi Rengi" #: editor/editor_settings.cpp -#, fuzzy msgid "Text Color" -msgstr "Sonraki Zemin" +msgstr "Metin Rengi" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Line Number Color" -msgstr "Satır Numarası:" +msgstr "Satır Numarası Rengi" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Safe Line Number Color" -msgstr "Satır Numarası:" +msgstr "Güvenli Satır Numarası Rengi" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Caret Color" -msgstr "" +msgstr "İmleç Rengi" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Caret Background Color" -msgstr "Geçersiz arkaplan rengi." +msgstr "Karet Arkaplan Rengi" #: editor/editor_settings.cpp -#, fuzzy msgid "Text Selected Color" -msgstr "Seçilenleri Sil" +msgstr "Seçili Metin Rengi" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Selection Color" -msgstr "Yalnızca Seçim" +msgstr "Seçim Rengi" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Brace Mismatch Color" -msgstr "" +msgstr "Ayraç Uyumsuz Rengi" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Current Line Color" -msgstr "Şu anki Sahne" +msgstr "Geçerli Satır Rengi" #: editor/editor_settings.cpp msgid "Line Length Guideline Color" -msgstr "" +msgstr "Satır Uzunluğu Sınır Çizgisi Rengi" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Word Highlighted Color" -msgstr "Yazım Vurgulama" +msgstr "Vurgulu Kelime Rengi" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Number Color" -msgstr "" +msgstr "Sayı Rengi" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Function Color" -msgstr "Fonksiyon" +msgstr "Fonksiyon Rengi" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Member Variable Color" -msgstr "Değişkeni Yeniden Adlandır" +msgstr "Üye Değişken Rengi" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Mark Color" -msgstr "Renk Seç" +msgstr "İşaret Rengi" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Bookmark Color" -msgstr "Yer imleri" +msgstr "Yer İmi Rengi" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Breakpoint Color" -msgstr "Hata ayıklama noktaları" +msgstr "Kesme Noktası Rengi" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Executing Line Color" -msgstr "" +msgstr "Yürütülen Satır Rengi" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Code Folding Color" -msgstr "" +msgstr "Kod Katlama Rengi" #: editor/editor_settings.cpp -#, fuzzy msgid "Search Result Color" -msgstr "Arama Sonuçları" +msgstr "Arama Sonuç Rengi" #: editor/editor_settings.cpp -#, fuzzy msgid "Search Result Border Color" -msgstr "Arama Sonuçları" +msgstr "Arama Sonuç Sınır Rengi" #: editor/editor_spin_slider.cpp msgid "Hold %s to round to integers. Hold Shift for more precise changes." @@ -6429,14 +6228,12 @@ msgstr "" "Shift tuşuna basılı tutun." #: editor/editor_spin_slider.cpp scene/gui/button.cpp -#, fuzzy msgid "Flat" -msgstr "Sade 0" +msgstr "Düz" #: editor/editor_spin_slider.cpp -#, fuzzy msgid "Hide Slider" -msgstr "Temas Kipi" +msgstr "Kaydırıcıyı Gizle" #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" @@ -6729,7 +6526,7 @@ msgstr "" #: editor/fileserver/editor_file_server.cpp msgid "File Server" -msgstr "" +msgstr "Dosya Sunucusu" #: editor/fileserver/editor_file_server.cpp #: editor/plugins/version_control_editor_plugin.cpp @@ -6797,6 +6594,11 @@ msgid "" "After renaming to an unknown extension, the file won't be shown in the " "editor anymore." msgstr "" +"Bu dosya uzantısı editör tarafından tanınmadı.\n" +"Yine de isimlendirmek istiyorsanız, işletim sisteminizin dosya yöneticisini " +"kullanın.\n" +"Bilinmeyen bir uzantı isimlendirildikten sonra dosya artık editörde " +"görüntülenmeyecek." #: editor/filesystem_dock.cpp msgid "" @@ -7097,43 +6899,41 @@ msgstr "Grupları Düzenle" #: editor/import/editor_import_collada.cpp msgid "Collada" -msgstr "" +msgstr "Collada" #: editor/import/editor_import_collada.cpp msgid "Use Ambient" -msgstr "" +msgstr "Çevreyi Kullan" #: editor/import/resource_importer_bitmask.cpp -#, fuzzy msgid "Create From" -msgstr "Klasör Oluştur" +msgstr "Şuradan Oluştur" #: editor/import/resource_importer_bitmask.cpp #: servers/audio/effects/audio_effect_compressor.cpp msgid "Threshold" -msgstr "" +msgstr "Eşik" #: editor/import/resource_importer_csv_translation.cpp #: editor/import/resource_importer_layered_texture.cpp #: editor/import/resource_importer_scene.cpp #: editor/import/resource_importer_texture.cpp #: editor/import/resource_importer_wav.cpp scene/3d/gi_probe.cpp -#, fuzzy msgid "Compress" -msgstr "Bileşenler" +msgstr "Sıkıştırma" #: editor/import/resource_importer_csv_translation.cpp msgid "Delimiter" -msgstr "" +msgstr "Sınırlayıcı" #: editor/import/resource_importer_layered_texture.cpp -#, fuzzy msgid "ColorCorrect" -msgstr "Renk işlevi." +msgstr "ColorCorrect" #: editor/import/resource_importer_layered_texture.cpp +#, fuzzy msgid "No BPTC If RGB" -msgstr "" +msgstr "RGB ise BPTC Yok" #: editor/import/resource_importer_layered_texture.cpp #: editor/import/resource_importer_texture.cpp scene/2d/cpu_particles_2d.cpp @@ -7141,31 +6941,29 @@ msgstr "" #: scene/resources/material.cpp scene/resources/particles_material.cpp #: scene/resources/texture.cpp scene/resources/visual_shader.cpp msgid "Flags" -msgstr "" +msgstr "Bayraklar" #: editor/import/resource_importer_layered_texture.cpp #: editor/import/resource_importer_texture.cpp scene/animation/tween.cpp #: scene/resources/texture.cpp msgid "Repeat" -msgstr "" +msgstr "Tekrar Et" #: editor/import/resource_importer_layered_texture.cpp #: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp #: scene/gui/control.cpp -#, fuzzy msgid "Filter" -msgstr "Süzgeçler:" +msgstr "Filtre" #: editor/import/resource_importer_layered_texture.cpp #: editor/import/resource_importer_texture.cpp -#, fuzzy msgid "Mipmaps" -msgstr "sinyaller" +msgstr "Mipmap'ler" #: editor/import/resource_importer_layered_texture.cpp #: editor/import/resource_importer_texture.cpp msgid "Anisotropic" -msgstr "" +msgstr "Eşyönsüz" #: editor/import/resource_importer_layered_texture.cpp #: editor/import/resource_importer_texture.cpp @@ -7173,51 +6971,43 @@ msgid "sRGB" msgstr "sRGB" #: editor/import/resource_importer_layered_texture.cpp -#, fuzzy msgid "Slices" -msgstr "Otomatik Dilimle" +msgstr "Dilimler" #: editor/import/resource_importer_layered_texture.cpp #: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp #: scene/gui/nine_patch_rect.cpp scene/gui/scroll_container.cpp #: scene/resources/style_box.cpp -#, fuzzy msgid "Horizontal" -msgstr "Yatay:" +msgstr "Yatay" #: editor/import/resource_importer_layered_texture.cpp #: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp #: scene/gui/nine_patch_rect.cpp scene/gui/scroll_container.cpp #: scene/resources/style_box.cpp -#, fuzzy msgid "Vertical" -msgstr "Dikey:" +msgstr "Dikey" #: editor/import/resource_importer_obj.cpp -#, fuzzy msgid "Generate Tangents" -msgstr "Noktalar Oluştur" +msgstr "Teğetler Oluştur" #: editor/import/resource_importer_obj.cpp -#, fuzzy msgid "Scale Mesh" -msgstr "Esnetme Şekli" +msgstr "Mesh Ölçeği" #: editor/import/resource_importer_obj.cpp -#, fuzzy msgid "Offset Mesh" -msgstr "Kaydırma:" +msgstr "Mesh Kaydırma" #: editor/import/resource_importer_obj.cpp #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Octahedral Compression" -msgstr "İfade" +msgstr "Octahedral Sıkıştırma" #: editor/import/resource_importer_obj.cpp -#, fuzzy msgid "Optimize Mesh Flags" -msgstr "Boyut:" +msgstr "Örüntü Bayraklarını En İyileştir" #: editor/import/resource_importer_scene.cpp msgid "Import as Single Scene" @@ -7261,53 +7051,44 @@ msgstr "Çoklu Sahneler+Materyaller olarak İçe Aktar" #: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp #: scene/3d/physics_joint.cpp -#, fuzzy msgid "Nodes" -msgstr "Düğüm" +msgstr "Düğümler" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Root Type" -msgstr "Dön" +msgstr "Kök Türü" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Root Name" -msgstr "Uzak Depo Adı" +msgstr "Kök İsmi" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Root Scale" -msgstr "Ölçekle" +msgstr "Kök Ölçeği" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Custom Script" -msgstr "ÖzelSınıf" +msgstr "Özel Betik" #: editor/import/resource_importer_scene.cpp scene/resources/texture.cpp -#, fuzzy msgid "Storage" -msgstr "Dosya Depolama:" +msgstr "Depolama" #: editor/import/resource_importer_scene.cpp msgid "Use Legacy Names" -msgstr "" +msgstr "Eski İsimleri Kullan" #: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp -#, fuzzy msgid "Materials" -msgstr "Materyal Değişiklikleri:" +msgstr "Materyaller" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Keep On Reimport" -msgstr "Yeniden İçe Aktar" +msgstr "Yeniden İçe Aktarmaya Devam Et" #: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp -#, fuzzy msgid "Meshes" -msgstr "Örgü" +msgstr "Örgüler" #: editor/import/resource_importer_scene.cpp #, fuzzy @@ -7320,42 +7101,36 @@ msgid "Light Baking" msgstr "Işık-Haritalarını Pişir" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Lightmap Texel Size" -msgstr "Işık-Haritalarını Pişir" +msgstr "Işık Haritası Texel Boyutu" #: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp msgid "Skins" -msgstr "" +msgstr "Kaplamalar" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Use Named Skins" -msgstr "Esnetme Hizalaması Kullan" +msgstr "İsimlendirilmiş Kaplamaları Kullan" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "External Files" -msgstr "Bir Dosya Aç" +msgstr "Harici Dosyalar" #: editor/import/resource_importer_scene.cpp msgid "Store In Subdir" -msgstr "" +msgstr "Alt Dizine Depola" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Filter Script" -msgstr "Betikleri Süz" +msgstr "Betik Süz" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Keep Custom Tracks" -msgstr "Dönüşüm" +msgstr "Özel İzleri Tut" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Optimizer" -msgstr "İyileştir" +msgstr "En İyileştirici" #: editor/import/resource_importer_scene.cpp #: editor/plugins/item_list_editor_plugin.cpp main/main.cpp @@ -7374,36 +7149,30 @@ msgid "Enabled" msgstr "Etkin" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Max Linear Error" -msgstr "Maks. Doğrusal Hata:" +msgstr "Maksimum Doğrusal Hata" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Max Angular Error" -msgstr "Maks. Açısal Hata:" +msgstr "Maksimum Açısal Hata" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Max Angle" -msgstr "Değer" +msgstr "Maksimum Açı" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Remove Unused Tracks" -msgstr "Animasyon İzini Kaldır" +msgstr "Kullanılmayan İzleri Kaldır" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Clips" -msgstr "Animasyon Klipleri" +msgstr "Klipler" #: editor/import/resource_importer_scene.cpp scene/2d/cpu_particles_2d.cpp #: scene/2d/particles_2d.cpp scene/3d/area.cpp scene/3d/cpu_particles.cpp #: scene/3d/particles.cpp scene/resources/environment.cpp -#, fuzzy msgid "Amount" -msgstr "Değer:" +msgstr "Miktar" #: editor/import/resource_importer_scene.cpp #: editor/plugins/mesh_library_editor_plugin.cpp @@ -7456,28 +7225,30 @@ msgid "" msgstr "" #: editor/import/resource_importer_texture.cpp +#, fuzzy msgid "" "%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap " "generation and VRAM texture compression." msgstr "" +"%s: Dokunun 3B olarak kullanıldığı tespit edildi. Filtreleme, tekrarlama, " +"mipmap oluşturma ve VRAM doku sıkıştırma etkileştiriliyor." #: editor/import/resource_importer_texture.cpp msgid "2D, Detect 3D" -msgstr "" +msgstr "2D, 3D Algıla" #: editor/import/resource_importer_texture.cpp -#, fuzzy msgid "2D Pixel" -msgstr "Şekil Pikselleri" +msgstr "2D Pixel" #: editor/import/resource_importer_texture.cpp scene/resources/texture.cpp +#, fuzzy msgid "Lossy Quality" -msgstr "" +msgstr "Kayıplı Kalite" #: editor/import/resource_importer_texture.cpp -#, fuzzy msgid "HDR Mode" -msgstr "Kip Seç" +msgstr "HDR Modu" #: editor/import/resource_importer_texture.cpp msgid "BPTC LDR" @@ -7487,8 +7258,9 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp #: scene/2d/mesh_instance_2d.cpp scene/2d/multimesh_instance_2d.cpp #: scene/2d/particles_2d.cpp scene/2d/sprite.cpp scene/resources/style_box.cpp +#, fuzzy msgid "Normal Map" -msgstr "" +msgstr "Normal Haritası" #: editor/import/resource_importer_texture.cpp #, fuzzy @@ -7496,27 +7268,28 @@ msgid "Process" msgstr "Rötuş" #: editor/import/resource_importer_texture.cpp +#, fuzzy msgid "Fix Alpha Border" -msgstr "" +msgstr "Alfa Sınırını Düzelt" #: editor/import/resource_importer_texture.cpp #, fuzzy msgid "Premult Alpha" -msgstr "Çokluyu Düzenleyin" +msgstr "İlk Alfa" #: editor/import/resource_importer_texture.cpp +#, fuzzy msgid "Hdr As Srgb" -msgstr "" +msgstr "SRGB Olarak HDR" #: editor/import/resource_importer_texture.cpp #, fuzzy msgid "Invert Color" -msgstr "Köşe" +msgstr "Rengi Ters Çevir" #: editor/import/resource_importer_texture.cpp -#, fuzzy msgid "Normal Map Invert Y" -msgstr "Rastgele Ölçek:" +msgstr "Normal Haritası Y Eksenini Ters Çevir" #: editor/import/resource_importer_texture.cpp #, fuzzy @@ -7524,89 +7297,89 @@ msgid "Size Limit" msgstr "Boyut Limiti" #: editor/import/resource_importer_texture.cpp +#, fuzzy msgid "Detect 3D" -msgstr "" +msgstr "3D Algıla" #: editor/import/resource_importer_texture.cpp #, fuzzy msgid "SVG" -msgstr "HSV" +msgstr "SVG" #: editor/import/resource_importer_texture.cpp +#, fuzzy msgid "" "Warning, no suitable PC VRAM compression enabled in Project Settings. This " "texture will not display correctly on PC." msgstr "" +"Uyarı, proje ayarlarında uygun PC VRAM sıkıştırması etkin değil. Bu doku " +"PC'de düzgün görüntülenmez." #: editor/import/resource_importer_texture_atlas.cpp -#, fuzzy msgid "Atlas File" -msgstr "Kontur Boyutu:" +msgstr "Atlas Dosyası" #: editor/import/resource_importer_texture_atlas.cpp -#, fuzzy msgid "Import Mode" -msgstr "Dışa Aktarma Biçimi:" +msgstr "İçe Aktarım Modu" #: editor/import/resource_importer_texture_atlas.cpp #, fuzzy msgid "Crop To Region" -msgstr "Döşeme Bölgesi Ata" +msgstr "Bölgeye Kırp" #: editor/import/resource_importer_texture_atlas.cpp msgid "Trim Alpha Border From Region" -msgstr "" +msgstr "Alfa Sınırını Bölgeden Kırp" #: editor/import/resource_importer_wav.cpp scene/2d/physics_body_2d.cpp #, fuzzy msgid "Force" -msgstr "Zorla Gönder" +msgstr "Zorla" #: editor/import/resource_importer_wav.cpp msgid "8 Bit" -msgstr "" +msgstr "8 Bit" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp +#, fuzzy msgid "Mono" -msgstr "" +msgstr "Tek" #: editor/import/resource_importer_wav.cpp #, fuzzy msgid "Max Rate" -msgstr "Düğümü Çırp" +msgstr "Maximum Oran" #: editor/import/resource_importer_wav.cpp #, fuzzy msgid "Max Rate Hz" -msgstr "Düğümü Çırp" +msgstr "Maximum Hz Oranı" #: editor/import/resource_importer_wav.cpp msgid "Trim" msgstr "" #: editor/import/resource_importer_wav.cpp -#, fuzzy msgid "Normalize" -msgstr "Biçem" +msgstr "Normalleştir" #: editor/import/resource_importer_wav.cpp #: scene/resources/audio_stream_sample.cpp -#, fuzzy msgid "Loop Mode" -msgstr "Biçimi Taşı" +msgstr "Döngü Modu" #: editor/import/resource_importer_wav.cpp #: scene/resources/audio_stream_sample.cpp -#, fuzzy msgid "Loop Begin" -msgstr "Biçimi Taşı" +msgstr "Döngü Başlangıcı" #: editor/import/resource_importer_wav.cpp #: scene/resources/audio_stream_sample.cpp -#, fuzzy msgid "Loop End" -msgstr "Biçimi Taşı" +msgstr "Döngü Sonu" #: editor/import_defaults_editor.cpp msgid "Select Importer" @@ -7686,27 +7459,24 @@ msgid "Failed to load resource." msgstr "Kaynak yükleme başarısız oldu." #: editor/inspector_dock.cpp -#, fuzzy msgid "Property Name Style" -msgstr "Proje Adı:" +msgstr "Özellik İsim Biçimi" #: editor/inspector_dock.cpp scene/gui/color_picker.cpp msgid "Raw" msgstr "Ham" #: editor/inspector_dock.cpp -#, fuzzy msgid "Capitalized" -msgstr "Büyük harfe çevirme" +msgstr "Büyük Harfe Çevrilmiş" #: editor/inspector_dock.cpp -#, fuzzy msgid "Localized" -msgstr "Yerel" +msgstr "Yerelleştirilmiş" #: editor/inspector_dock.cpp msgid "Localization not available for current language." -msgstr "" +msgstr "Geçerli dil için yerelleştirme mevcut değil." #: editor/inspector_dock.cpp msgid "Copy Properties" @@ -8247,9 +8017,8 @@ msgid "New" msgstr "Yeni" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Paste As Reference" -msgstr "%s Class referansı" +msgstr "Referans. Olarak Yapıştır" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Edit Transitions..." @@ -8581,7 +8350,7 @@ msgstr "Süzgeçler..." #: editor/plugins/asset_library_editor_plugin.cpp scene/main/http_request.cpp msgid "Use Threads" -msgstr "" +msgstr "Thread'leri Kullan" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Contents:" @@ -8708,9 +8477,8 @@ msgid "Download Error" msgstr "İndirme Hatası" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Available URLs" -msgstr "Kullanılabilir Profiller:" +msgstr "Uygun URL'ler" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download for this asset is already in progress!" @@ -8745,25 +8513,21 @@ msgid "Loading..." msgstr "Yükle..." #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgctxt "Pagination" msgid "First" msgstr "İlk" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgctxt "Pagination" msgid "Previous" msgstr "Önceki" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgctxt "Pagination" msgid "Next" msgstr "Sonraki" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgctxt "Pagination" msgid "Last" msgstr "Son" @@ -8813,8 +8577,9 @@ msgid "Testing" msgstr "Deneme" #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "Failed to get repository configuration." -msgstr "" +msgstr "Depo yapılandırması alınamadı." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Assets ZIP File" @@ -8871,8 +8636,9 @@ msgid "Bake Lightmaps" msgstr "Işık-Haritalarını Pişir" #: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy msgid "LightMap Bake" -msgstr "" +msgstr "Işık Haritasını Pişir" #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "Select lightmap bake file:" @@ -9378,23 +9144,21 @@ msgid "View" msgstr "Görüş" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Show" -msgstr "Izgarayı Göster" +msgstr "Göster" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Show When Snapping" -msgstr "Akıllı Hizalama" +msgstr "Yapışırken Göster" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Hide" -msgstr "" +msgstr "Gizle" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Toggle Grid" -msgstr "Aç / Kapat Biçimi" +msgstr "Izgarayı Aç/Kapat" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -9745,16 +9509,15 @@ msgstr "Renk Geçişi Düzenlendi" #: editor/plugins/gradient_texture_2d_editor_plugin.cpp msgid "Swap GradientTexture2D Fill Points" -msgstr "" +msgstr "GradientTexture2D Dolgu Noktalarını Değiştir" #: editor/plugins/gradient_texture_2d_editor_plugin.cpp msgid "Swap Gradient Fill Points" -msgstr "" +msgstr "Gradient Doldurma Noktalarını Değiştir" #: editor/plugins/gradient_texture_2d_editor_plugin.cpp -#, fuzzy msgid "Toggle Grid Snap" -msgstr "Aç / Kapat Biçimi" +msgstr "Snap Aç/Kapat" #: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp #: scene/3d/label_3d.cpp scene/gui/button.cpp scene/gui/dialogs.cpp @@ -9777,9 +9540,8 @@ msgstr "" #: editor/plugins/item_list_editor_plugin.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Separator" -msgstr "Ayrım:" +msgstr "Ayraç" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" @@ -10013,9 +9775,8 @@ msgstr "" "%s" #: editor/plugins/mesh_library_editor_plugin.cpp -#, fuzzy msgid "MeshLibrary" -msgstr "Model Kütüphanesi" +msgstr "" #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Add Item" @@ -10038,14 +9799,12 @@ msgid "Update from Scene" msgstr "Sahneden Güncelle" #: editor/plugins/mesh_library_editor_plugin.cpp -#, fuzzy msgid "Apply without Transforms" -msgstr "MeshInstance dönüşümlerini uygula" +msgstr "Dönüşümler olmadan uygula" #: editor/plugins/mesh_library_editor_plugin.cpp -#, fuzzy msgid "Apply with Transforms" -msgstr "MeshInstance dönüşümlerini uygula" +msgstr "Dönüşümlerle uygula" #: editor/plugins/multimesh_editor_plugin.cpp msgid "No mesh source specified (and no MultiMesh set in node)." @@ -10211,9 +9970,8 @@ msgid "Volume" msgstr "Oylum" #: editor/plugins/particles_editor_plugin.cpp -#, fuzzy msgid "Emission Source:" -msgstr "Emisyon Kaynağı:" +msgstr "Emission Kaynağı:" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -10569,7 +10327,7 @@ msgstr "Kemikleri Çokgene Eşleştir" #: editor/plugins/ray_cast_2d_editor_plugin.cpp msgid "Set cast_to" -msgstr "" +msgstr "cast_to ayarla" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "ERROR: Couldn't load resource!" @@ -10899,12 +10657,13 @@ msgid "Search Results" msgstr "Arama Sonuçları" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy msgid "Open Dominant Script On Scene Change" -msgstr "" +msgstr "Sahne Değişiminde Baskın Betiği Aç" #: editor/plugins/script_editor_plugin.cpp msgid "External" -msgstr "" +msgstr "Harici" #: editor/plugins/script_editor_plugin.cpp #, fuzzy @@ -10922,17 +10681,17 @@ msgid "Script Temperature Enabled" msgstr "Şablon Dosyası Seç" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy msgid "Highlight Current Script" -msgstr "" +msgstr "Geçerli Betiği Vurgula" #: editor/plugins/script_editor_plugin.cpp msgid "Script Temperature History Size" msgstr "" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Current Script Background Color" -msgstr "Geçersiz arkaplan rengi." +msgstr "Mevcut Komut Dizisi Arkaplan Rengi" #: editor/plugins/script_editor_plugin.cpp #, fuzzy @@ -10945,9 +10704,8 @@ msgid "Sort Scripts By" msgstr "Betik Oluştur" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "List Script Names As" -msgstr "Betik Adı:" +msgstr "Script İsimlerini Listele" #: editor/plugins/script_editor_plugin.cpp msgid "Exec Flags" @@ -11210,7 +10968,7 @@ msgstr "Oynat IK" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orthogonal" -msgstr "Dikey" +msgstr "Dik Açılı" #: editor/plugins/spatial_editor_plugin.cpp modules/gltf/gltf_camera.cpp msgid "Perspective" @@ -11764,12 +11522,14 @@ msgid "Post" msgstr "Sonrası" #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy msgid "Manipulator Gizmo Size" -msgstr "" +msgstr "Gizmo Boyutu Ayarlayıcı" #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy msgid "Manipulator Gizmo Opacity" -msgstr "" +msgstr "Gizmo Şeffaflığı Ayarlayıcı" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy @@ -11932,9 +11692,8 @@ msgid "New Animation" msgstr "Yeni Animasyon" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Filter animations" -msgstr "Metotları filtrele" +msgstr "Animasyonları filtrele" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed:" @@ -12416,7 +12175,7 @@ msgstr "Tür Ekle" #: editor/plugins/theme_editor_plugin.cpp msgid "Filter the list of types or create a new custom type:" -msgstr "Tip listesini süz veya yeni bir özel tip oluştur." +msgstr "Tip listesini filtrele veya yeni bir özel tip oluştur:" #: editor/plugins/theme_editor_plugin.cpp msgid "Available Node-based types:" @@ -12485,14 +12244,18 @@ msgid "Override all default type items." msgstr "Tüm varsayılan tür öğelerini geçersiz kıl." #: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Select the variation base type from a list of available types." -msgstr "" +msgstr "Kullanılabilir tipler listesinden temel varyasyon tipini seçin." #: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "" "A type associated with a built-in class cannot be marked as a variation of " "another type." msgstr "" +"Yerleşik sınıfla ilişkili bir tür başka bir türün varyasyonu olarak " +"belirlenemez." #: editor/plugins/theme_editor_plugin.cpp msgid "Theme:" @@ -12738,7 +12501,7 @@ msgstr "TileMap'i Boya" #: editor/plugins/tile_map_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Palette Min Width" -msgstr "" +msgstr "Palet Minimum Genişliği" #: editor/plugins/tile_map_editor_plugin.cpp #, fuzzy @@ -13132,9 +12895,8 @@ msgstr "Hizalama Ayarları" #: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp #: scene/main/canvas_layer.cpp scene/resources/material.cpp #: scene/resources/particles_material.cpp scene/resources/style_box.cpp -#, fuzzy msgid "Offset" -msgstr "Kaydırma:" +msgstr "Kaydırma" #: editor/plugins/tile_set_editor_plugin.cpp editor/rename_dialog.cpp #: scene/gui/range.cpp scene/resources/animation.cpp @@ -13145,9 +12907,8 @@ msgstr "Adım" #: editor/plugins/tile_set_editor_plugin.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Separation" -msgstr "Ayrım:" +msgstr "Ayrım" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -13168,14 +12929,13 @@ msgstr "Yazı" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Tex Offset" -msgstr "Izgarayı Kaydır:" +msgstr "Izgarayı Kaydır" #: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp #: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp #: scene/3d/mesh_instance.cpp scene/resources/primitive_meshes.cpp -#, fuzzy msgid "Material" -msgstr "Materyal Değişiklikleri:" +msgstr "Materyal" #: editor/plugins/tile_set_editor_plugin.cpp scene/2d/canvas_item.cpp #: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/style_box.cpp @@ -13194,9 +12954,8 @@ msgid "Autotile Bitmask Mode" msgstr "Bitmask Kipi" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Subtile Size" -msgstr "Kontur Boyutu:" +msgstr "Alt Döşeme Boyutu" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -13214,9 +12973,8 @@ msgid "Navigation Offset" msgstr "Gezinim Kipi" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Shape Offset" -msgstr "Kaydırma:" +msgstr "Şekil Kaydırması" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -14332,11 +14090,14 @@ msgstr "Koşturulabilir" #: editor/project_export.cpp msgid "Export the project for all the presets defined." -msgstr "" +msgstr "Tanımlanan tüm ön ayarlar için projeyi dışa aktarın." #: editor/project_export.cpp +#, fuzzy msgid "All presets must have an export path defined for Export All to work." msgstr "" +"Bütün ön ayarlar Hepsini Dışa Aktar işlemi için bir dışa aktarım dizinine " +"sahip olmalıdır." #: editor/project_export.cpp msgid "Delete preset '%s'?" @@ -14446,10 +14207,13 @@ msgid "GDScript Encryption Key (256-bits as hexadecimal):" msgstr "GDScript Şifreleme Anahtarı (On altılı sayı sisteminde 256-bit):" #: editor/project_export.cpp +#, fuzzy msgid "" "Note: Encryption key needs to be stored in the binary,\n" "you need to build the export templates from source." msgstr "" +"Not: Şifreleme anahtarının iki sayı sistemi olarak saklanması gerekir,\n" +"kaynaktan dışa aktarım şablonlarınızı derlemelisiniz." #: editor/project_export.cpp #, fuzzy @@ -14457,28 +14221,24 @@ msgid "More Info..." msgstr "Şuraya Taşı..." #: editor/project_export.cpp -#, fuzzy msgid "Export PCK/Zip..." -msgstr "PCK/Zip Dışa Aktar" +msgstr "PCK/Zip Dışa Aktar..." #: editor/project_export.cpp -#, fuzzy msgid "Export Project..." -msgstr "Projeyi Dışa Aktar" +msgstr "Projeyi Dışa Aktar..." #: editor/project_export.cpp msgid "Export All" msgstr "Tümünü Dışa Aktar" #: editor/project_export.cpp -#, fuzzy msgid "Choose an export mode:" -msgstr "Lütfen boş bir klasör seçin." +msgstr "Bir dışa aktarım modu seç:" #: editor/project_export.cpp -#, fuzzy msgid "Export All..." -msgstr "Tümünü Dışa Aktar" +msgstr "Tümünü Dışa Aktar..." #: editor/project_export.cpp editor/project_manager.cpp msgid "ZIP File" @@ -15600,19 +15360,20 @@ msgstr "" msgid "Make Local" msgstr "Yerelleştir" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Enable Scene Unique Name(s)" +msgstr "Sahne Benzersiz İsmini Etkin Kıl" #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" -msgstr "Düğüm adı:" +msgid "Unique names already used by another node in the scene:" +msgstr "Başka bir düğüm sahnede bu benzersiz adı zaten kullanıyor." -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" -msgstr "Düğüm adı:" +msgid "Disable Scene Unique Name(s)" +msgstr "Sahne Benzersiz İsmini Etkisiz Kıl" #: editor/scene_tree_dock.cpp msgid "New Scene Root" @@ -15790,8 +15551,9 @@ msgid "Show Scene Tree Root Selection" msgstr "Merkez Seçimi" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Derive Script Globals By Name" -msgstr "" +msgstr "Ada Göre Betik Globallerini Türet" #: editor/scene_tree_dock.cpp #, fuzzy @@ -15811,6 +15573,10 @@ msgid "Button Group" msgstr "Düğme Grubu" #: editor/scene_tree_editor.cpp +msgid "Disable Scene Unique Name" +msgstr "Sahne Benzersiz İsmini Etkisiz Kıl" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(Gelen Bağlantı)" @@ -15819,11 +15585,15 @@ msgid "Node configuration warning:" msgstr "Düğüm yapılandırma uyarısı:" #: editor/scene_tree_editor.cpp +#, fuzzy msgid "" "This node can be accessed from within anywhere in the scene by preceding it " "with the '%s' prefix in a node path.\n" "Click to disable this." msgstr "" +"Bu düğüme, bir düğüm adresinde önüne '%s' ön eki koyarak sahnenin herhangi " +"bir yerinden erişilebilir.\n" +"Bunu devre dışı bırakmak için tıklayın." #: editor/scene_tree_editor.cpp msgid "" @@ -15886,6 +15656,11 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "Geçersiz düğüm adı, aşağıdaki karakterlere izin verilmiyor:" #: editor/scene_tree_editor.cpp +#, fuzzy +msgid "Another node already uses this unique name in the scene." +msgstr "Başka bir düğüm sahnede bu benzersiz adı zaten kullanıyor." + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "Düğümü Yeniden Adlandır" @@ -16115,16 +15890,19 @@ msgid "Filter stack variables" msgstr "Döşemelerde Bul" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Auto Switch To Remote Scene Tree" -msgstr "" +msgstr "Uzak Sahne Ağacına Otomatik Geçiş" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Remote Scene Tree Refresh Interval" -msgstr "" +msgstr "Uzak Sahne Ağacı Yenileme Sıklığı" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Remote Inspect Refresh Interval" -msgstr "" +msgstr "Uzaktan İnceleme Yenileme Aralığı" #: editor/script_editor_debugger.cpp msgid "Network Profiler" @@ -16232,7 +16010,7 @@ msgstr "AudioStreamPlayer3D Emisyon Açısı Değişimi" #: platform/osx/export/export.cpp #: scene/resources/default_theme/default_theme.cpp msgid "Camera" -msgstr "" +msgstr "Kamera" #: editor/spatial_editor_gizmos.cpp msgid "Change Camera FOV" @@ -16243,8 +16021,9 @@ msgid "Change Camera Size" msgstr "Kamera Boyutunu Değiştir" #: editor/spatial_editor_gizmos.cpp +#, fuzzy msgid "Visibility Notifier" -msgstr "" +msgstr "Görünürlük Bildiricisi" #: editor/spatial_editor_gizmos.cpp msgid "Change Notifier AABB" @@ -16374,8 +16153,9 @@ msgid "Occluder" msgstr "Örtü Kipi" #: editor/spatial_editor_gizmos.cpp +#, fuzzy msgid "Set Occluder Sphere Radius" -msgstr "Engelleyici Silindir Yarıçapını Ayarla" +msgstr "Engelleyici Küre Yarıçapını Ayarla" #: editor/spatial_editor_gizmos.cpp msgid "Set Occluder Sphere Position" @@ -16407,8 +16187,9 @@ msgid "Occluder Hole" msgstr "Engelleyici Çokgeni Oluştur" #: main/main.cpp +#, fuzzy msgid "Godot Physics" -msgstr "" +msgstr "Godot Fiziği" #: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp #: servers/visual/visual_server_scene.cpp @@ -16441,32 +16222,35 @@ msgid "Debugger stdout" msgstr "Hata Ayıklayıcı" #: main/main.cpp +#, fuzzy msgid "Max Chars Per Second" -msgstr "" +msgstr "Saniye başı maksimum karakter sayısı" #: main/main.cpp msgid "Max Messages Per Frame" -msgstr "" +msgstr "Kare Başına Maksimum Mesaj" #: main/main.cpp msgid "Max Errors Per Second" -msgstr "" +msgstr "Saniye Başına Maksimum Hata" #: main/main.cpp msgid "Max Warnings Per Second" -msgstr "" +msgstr "Saniye Başına Maksimum Uyarı" #: main/main.cpp msgid "Flush stdout On Print" msgstr "" #: main/main.cpp servers/visual_server.cpp +#, fuzzy msgid "Logging" -msgstr "" +msgstr "Kayıt tutma" #: main/main.cpp +#, fuzzy msgid "File Logging" -msgstr "" +msgstr "Dosya Kaaydı Tutma" #: main/main.cpp #, fuzzy @@ -16480,16 +16264,15 @@ msgstr "Dosya Yolunu Kopyala" #: main/main.cpp msgid "Max Log Files" -msgstr "" +msgstr "Maksimum Kayıt Dosyası" #: main/main.cpp msgid "Driver" -msgstr "" +msgstr "Sürücü" #: main/main.cpp -#, fuzzy msgid "Driver Name" -msgstr "Betik Adı:" +msgstr "Sürücü Adı" #: main/main.cpp msgid "Fallback To GLES2" @@ -16500,8 +16283,9 @@ msgid "Use Nvidia Rect Flicker Workaround" msgstr "" #: main/main.cpp +#, fuzzy msgid "DPI" -msgstr "" +msgstr "DPI" #: main/main.cpp msgid "Allow hiDPI" @@ -16518,16 +16302,18 @@ msgid "Use V-Sync" msgstr "Yapışma Kullan" #: main/main.cpp +#, fuzzy msgid "Per Pixel Transparency" -msgstr "" +msgstr "Piksel Başına Şeffaflık" #: main/main.cpp +#, fuzzy msgid "Allowed" -msgstr "" +msgstr "İzin Verildi" #: main/main.cpp msgid "Intended Usage" -msgstr "" +msgstr "Kullanım Amacı" #: main/main.cpp #, fuzzy @@ -16541,7 +16327,7 @@ msgstr "Kaydedilirken hata" #: main/main.cpp msgid "Threads" -msgstr "" +msgstr "İş parçacıkları" #: main/main.cpp servers/physics_2d/physics_2d_server_wrap_mt.h #, fuzzy @@ -16585,8 +16371,9 @@ msgstr "" #: main/main.cpp scene/gui/item_list.cpp scene/gui/popup_menu.cpp #: scene/gui/scroll_container.cpp scene/gui/text_edit.cpp scene/gui/tree.cpp #: scene/main/viewport.cpp scene/register_scene_types.cpp +#, fuzzy msgid "GUI" -msgstr "" +msgstr "Grafiksel Kullanıcı Arayüzü" #: main/main.cpp msgid "Drop Mouse On GUI Input Disabled" @@ -16597,8 +16384,9 @@ msgid "stdout" msgstr "" #: main/main.cpp +#, fuzzy msgid "Print FPS" -msgstr "" +msgstr "Saniyedeki kare sayısını(FPS) yazdır" #: main/main.cpp msgid "Verbose stdout" @@ -16620,8 +16408,9 @@ msgid "Frame Delay Msec" msgstr "Çerçeve Seçimi" #: main/main.cpp +#, fuzzy msgid "Low Processor Mode" -msgstr "" +msgstr "Düşük İşlemci Modu" #: main/main.cpp msgid "Delta Sync After Draw" @@ -16646,8 +16435,9 @@ msgid "Pointing" msgstr "Nokta" #: main/main.cpp +#, fuzzy msgid "Touch Delay" -msgstr "" +msgstr "Dokunma Gecikmesi" #: main/main.cpp servers/visual_server.cpp msgid "GLES3" @@ -16671,8 +16461,9 @@ msgid "Environment" msgstr "Ortamı Göster" #: main/main.cpp +#, fuzzy msgid "Default Clear Color" -msgstr "" +msgstr "Varsayılan Temizleme Rengi" #: main/main.cpp msgid "Boot Splash" @@ -16685,16 +16476,15 @@ msgstr "Kemikleri Göster" #: main/main.cpp msgid "Image" -msgstr "" +msgstr "Görüntü" #: main/main.cpp msgid "Fullsize" -msgstr "" +msgstr "Tam boyut" #: main/main.cpp scene/resources/dynamic_font.cpp -#, fuzzy msgid "Use Filter" -msgstr "Süzgeç:" +msgstr "Filtre Kullan" #: main/main.cpp scene/resources/style_box.cpp #, fuzzy @@ -16741,9 +16531,8 @@ msgid "Custom Image Hotspot" msgstr "" #: main/main.cpp -#, fuzzy msgid "Tooltip Position Offset" -msgstr "Dönme Kayması:" +msgstr "Araç İpucu Pozisyon Kaydırması" #: main/main.cpp modules/mono/mono_gd/gd_mono.cpp #, fuzzy @@ -16756,9 +16545,8 @@ msgid "Wait For Debugger" msgstr "Hata Ayıklayıcı" #: main/main.cpp modules/mono/mono_gd/gd_mono.cpp -#, fuzzy msgid "Wait Timeout" -msgstr "Zaman aşımı." +msgstr "Bekleme Zaman Aşımı" #: main/main.cpp msgid "Runtime" @@ -16873,14 +16661,12 @@ msgstr "Büyük/Küçük Harf Dönüştür" #: scene/resources/cylinder_shape.cpp scene/resources/environment.cpp #: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp #: scene/resources/sphere_shape.cpp -#, fuzzy msgid "Radius" -msgstr "Yarıçap:" +msgstr "Yarıçap" #: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp -#, fuzzy msgid "Radial Segments" -msgstr "Ana Sahne Değiştirgenleri:" +msgstr "Radyal Dilimler" #: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp #, fuzzy @@ -16949,9 +16735,8 @@ msgid "Path Simplify Angle" msgstr "" #: modules/csg/csg_shape.cpp -#, fuzzy msgid "Path Rotation" -msgstr "Rastgele Döndürme:" +msgstr "Yol Rotasyonu" #: modules/csg/csg_shape.cpp #, fuzzy @@ -16964,9 +16749,8 @@ msgid "Path Continuous U" msgstr "Sürekli" #: modules/csg/csg_shape.cpp -#, fuzzy msgid "Path U Distance" -msgstr "Uzaklık Seç:" +msgstr "Yol U Mesafesi" #: modules/csg/csg_shape.cpp #, fuzzy @@ -17019,9 +16803,8 @@ msgid "Use FBX" msgstr "" #: modules/gdnative/gdnative.cpp -#, fuzzy msgid "Config File" -msgstr "Dosya Depolama:" +msgstr "Konfigürasyon Dosyası" #: modules/gdnative/gdnative.cpp #, fuzzy @@ -17037,7 +16820,7 @@ msgstr "İskelet" #: modules/gdnative/gdnative.cpp #, fuzzy msgid "Symbol Prefix" -msgstr "Ön Ek:" +msgstr "Sembol Ön Eki" #: modules/gdnative/gdnative.cpp #, fuzzy @@ -17099,14 +16882,12 @@ msgid "Libraries:" msgstr "Kütüphaneler:" #: modules/gdnative/nativescript/nativescript.cpp -#, fuzzy msgid "Class Name" -msgstr "Sınıf İsmi:" +msgstr "Sınıf İsmi" #: modules/gdnative/nativescript/nativescript.cpp -#, fuzzy msgid "Script Class" -msgstr "Betik Adı:" +msgstr "Betik Sınıfı" #: modules/gdnative/nativescript/nativescript.cpp #, fuzzy @@ -17185,9 +16966,8 @@ msgid "Object can't provide a length." msgstr "Nesne bir uzunluk sağlayamaz." #: modules/gdscript/language_server/gdscript_language_server.cpp -#, fuzzy msgid "Language Server" -msgstr "Dil:" +msgstr "Dil Sunucusu" #: modules/gdscript/language_server/gdscript_language_server.cpp #, fuzzy @@ -17216,9 +16996,8 @@ msgid "Buffer View" msgstr "Arkadan Görünüm" #: modules/gltf/gltf_accessor.cpp modules/gltf/gltf_buffer_view.cpp -#, fuzzy msgid "Byte Offset" -msgstr "Izgarayı Kaydır:" +msgstr "" #: modules/gltf/gltf_accessor.cpp #, fuzzy @@ -17259,9 +17038,8 @@ msgid "Sparse Indices Byte Offset" msgstr "" #: modules/gltf/gltf_accessor.cpp -#, fuzzy msgid "Sparse Indices Component Type" -msgstr "Geometri Ayrıştırılıyor..." +msgstr "Seyrek Dizinler Bileşen Tipi" #: modules/gltf/gltf_accessor.cpp msgid "Sparse Values Buffer View" @@ -17291,9 +17069,8 @@ msgid "Indices" msgstr "Tüm Aygıtlar" #: modules/gltf/gltf_camera.cpp -#, fuzzy msgid "FOV Size" -msgstr "Boyut:" +msgstr "Görüş Alanı Boyutu" #: modules/gltf/gltf_camera.cpp msgid "Zfar" @@ -17342,7 +17119,7 @@ msgstr "Işık-Haritalarını Pişir" #: modules/gltf/gltf_mesh.cpp #, fuzzy msgid "Instance Materials" -msgstr "Materyal Değişiklikleri:" +msgstr "Örnek Malzemeler" #: modules/gltf/gltf_node.cpp scene/3d/skeleton.cpp #, fuzzy @@ -17430,9 +17207,8 @@ msgid "Gloss Factor" msgstr "" #: modules/gltf/gltf_spec_gloss.cpp -#, fuzzy msgid "Specular Factor" -msgstr "Katsayı operatörü." +msgstr "Yansıtıcı Etkeni" #: modules/gltf/gltf_spec_gloss.cpp msgid "Spec Gloss Img" @@ -17471,9 +17247,8 @@ msgid "Accessors" msgstr "" #: modules/gltf/gltf_state.cpp -#, fuzzy msgid "Scene Name" -msgstr "Sahne Yolu:" +msgstr "Sahne Adı" #: modules/gltf/gltf_state.cpp #, fuzzy @@ -17502,7 +17277,7 @@ msgstr "Işık" #: modules/gltf/gltf_state.cpp #, fuzzy msgid "Unique Animation Names" -msgstr "Yeni Animasyon İsmi:" +msgstr "Benzersiz Animasyon Adları" #: modules/gltf/gltf_state.cpp #, fuzzy @@ -17515,9 +17290,8 @@ msgid "Skeleton To Node" msgstr "Bir Düğüm Seç" #: modules/gltf/gltf_state.cpp -#, fuzzy msgid "Animations" -msgstr "Animasyonlar:" +msgstr "Animasyonlar" #: modules/gltf/gltf_texture.cpp #, fuzzy @@ -17764,7 +17538,7 @@ msgstr "" #: modules/stb_vorbis/resource_importer_ogg_vorbis.cpp #, fuzzy msgid "Loop Offset" -msgstr "Kaydırma:" +msgstr "Döngü Kaydırma" #: modules/mobile_vr/mobile_vr_interface.cpp msgid "Eye Height" @@ -17809,6 +17583,21 @@ msgstr "Solüsyonu İnşa Et" msgid "Auto Update Project" msgstr "Adsız Proje" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Hepsini Görüntüle" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Bir Dizin Seç" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Bir Dizin Seç" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "İç özel durum yığını izlemesinin sonu" @@ -17887,7 +17676,7 @@ msgstr "" #: modules/opensimplex/noise_texture.cpp #, fuzzy msgid "As Normal Map" -msgstr "Rastgele Ölçek:" +msgstr "Normal Haritalama Olarak" #: modules/opensimplex/noise_texture.cpp msgid "Bump Strength" @@ -17900,7 +17689,7 @@ msgstr "" #: modules/opensimplex/noise_texture.cpp #, fuzzy msgid "Noise Offset" -msgstr "Izgarayı Kaydır:" +msgstr "Gürültü Kaydırma" #: modules/opensimplex/open_simplex_noise.cpp msgid "Octaves" @@ -17929,9 +17718,8 @@ msgid "Names" msgstr "İsim" #: modules/regex/regex.cpp -#, fuzzy msgid "Strings" -msgstr "Ayarlar:" +msgstr "Dizgiler" #: modules/upnp/upnp.cpp msgid "Discover Multicast If" @@ -18009,7 +17797,7 @@ msgstr "Bit dizisi bulundu fakat yığındaki düğüm değil, kusuru bildir!" #: modules/visual_script/visual_script.cpp #, fuzzy msgid "Stack overflow with stack depth:" -msgstr "Şu derinlikte yığın taşması: " +msgstr "Şu derinlikte yığın taşması:" #: modules/visual_script/visual_script.cpp #, fuzzy @@ -18381,7 +18169,7 @@ msgstr "" #: modules/visual_script/visual_script_flow_control.cpp #, fuzzy msgid "Input type not iterable:" -msgstr "Girdi türü yinelenebilir değil: " +msgstr "Girdi türü yinelenebilir değil:" #: modules/visual_script/visual_script_flow_control.cpp msgid "Iterator became invalid" @@ -18390,7 +18178,7 @@ msgstr "Yineleyici geçersiz durumda" #: modules/visual_script/visual_script_flow_control.cpp #, fuzzy msgid "Iterator became invalid:" -msgstr "Yineleyici geçersiz durumda: " +msgstr "Yineleyici geçersiz durumda:" #: modules/visual_script/visual_script_flow_control.cpp msgid "Sequence" @@ -18462,9 +18250,8 @@ msgid "Use Default Args" msgstr "Varsayılanlara dön" #: modules/visual_script/visual_script_func_nodes.cpp -#, fuzzy msgid "Validate" -msgstr "Geçerli karakterler:" +msgstr "Doğrula" #: modules/visual_script/visual_script_func_nodes.cpp #, fuzzy @@ -18553,19 +18340,18 @@ msgstr "Diziyi Yeniden Boyutlandır" #: modules/visual_script/visual_script_nodes.cpp scene/resources/material.cpp #: scene/resources/visual_shader_nodes.cpp -#, fuzzy msgid "Operator" -msgstr "Kaplama opeartörü." +msgstr "Operatör" #: modules/visual_script/visual_script_nodes.cpp #, fuzzy msgid "Invalid argument of type:" -msgstr ": Şu tür için geçersiz değiştirgen: " +msgstr ": Şu tür için geçersiz değiştirgen:" #: modules/visual_script/visual_script_nodes.cpp #, fuzzy msgid "Invalid arguments:" -msgstr ": Geçersiz değiştirgenler: " +msgstr ": Geçersiz değiştirgenler:" #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -18579,12 +18365,12 @@ msgstr "İsim" #: modules/visual_script/visual_script_nodes.cpp #, fuzzy msgid "VariableGet not found in script:" -msgstr "VariableGet betikte bulunamadı: " +msgstr "VariableGet betikte bulunamadı:" #: modules/visual_script/visual_script_nodes.cpp #, fuzzy msgid "VariableSet not found in script:" -msgstr "VariableSet betikte bulunamadı: " +msgstr "VariableSet betikte bulunamadı:" #: modules/visual_script/visual_script_nodes.cpp msgid "Preload" @@ -18683,7 +18469,7 @@ msgstr "Görsel Betikte Ara" #: modules/visual_script/visual_script_yield_nodes.cpp msgid "Yield" -msgstr "Yield" +msgstr "Verim" #: modules/visual_script/visual_script_yield_nodes.cpp msgid "Wait" @@ -18785,9 +18571,8 @@ msgid "CA Chain" msgstr "IK Zincirini Temizle" #: modules/websocket/websocket_server.cpp -#, fuzzy msgid "Handshake Timeout" -msgstr "Zaman aşımı." +msgstr "Tokalaşma Zaman Aşımı" #: modules/webxr/webxr_interface.cpp #, fuzzy @@ -18795,14 +18580,12 @@ msgid "Session Mode" msgstr "Bölge Kipi" #: modules/webxr/webxr_interface.cpp -#, fuzzy msgid "Required Features" -msgstr "Ana Özellikler:" +msgstr "Gerekli Özellikler" #: modules/webxr/webxr_interface.cpp -#, fuzzy msgid "Optional Features" -msgstr "Ana Özellikler:" +msgstr "İsteğe Bağlı Özellikler" #: modules/webxr/webxr_interface.cpp msgid "Requested Reference Space Types" @@ -18907,9 +18690,8 @@ msgid "Export Format" msgstr "Dışa aktarım Yolu" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Min SDK" -msgstr "Kontur Boyutu:" +msgstr "Minimum SDK" #: platform/android/export/export_plugin.cpp #, fuzzy @@ -18960,14 +18742,12 @@ msgid "Code" msgstr "" #: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp -#, fuzzy msgid "Package" -msgstr "Çıkınla" +msgstr "Paket" #: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp -#, fuzzy msgid "Unique Name" -msgstr "Düğüm adı:" +msgstr "Benzersiz Ad" #: platform/android/export/export_plugin.cpp #, fuzzy @@ -18975,9 +18755,8 @@ msgid "Signed" msgstr "Sinyal" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Classify As Game" -msgstr "Sınıf İsmi:" +msgstr "Oyun Olarak Sınıflandır" #: platform/android/export/export_plugin.cpp msgid "Retain Data On Uninstall" @@ -18989,9 +18768,8 @@ msgid "Exclude From Recents" msgstr "Düğümleri Sil" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Graphics" -msgstr "Izgarayı Kaydır:" +msgstr "Grafikler" #: platform/android/export/export_plugin.cpp #, fuzzy @@ -19063,7 +18841,7 @@ msgstr "Topluluk" #: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp #, fuzzy msgid "Extra Args" -msgstr "Ekstra Çağrı Argümanları:" +msgstr "Ek Çağrı Argümanları" #: platform/android/export/export_plugin.cpp #, fuzzy @@ -19282,10 +19060,8 @@ msgid "" "'apksigner' could not be found. Please check that the command is available " "in the Android SDK build-tools directory. The resulting %s is unsigned." msgstr "" -"'apksigner' bulunamadı.\n" -"Lütfen komutun Android SDK build-tools dizininde bulunup bulunmadığını " -"kontrol edin.\n" -"Elde edilen %s imzasız." +"'apksigner' bulunamadı. Lütfen komutun Android SDK build-tools dizininde " +"bulunup bulunmadığını kontrol edin. Elde edilen %s imzasız." #: platform/android/export/export_plugin.cpp msgid "Signing debug %s..." @@ -19300,9 +19076,8 @@ msgid "Could not find keystore, unable to export." msgstr "Anahtar deposu bulunamadı, dışa aktarılamadı." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Could not start apksigner executable." -msgstr "Alt işlem başlatılamadı!" +msgstr "apksigner uygulaması başlatılamadı." #: platform/android/export/export_plugin.cpp msgid "'apksigner' returned with error #%d" @@ -19333,9 +19108,8 @@ msgid "Invalid filename! Android APK requires the *.apk extension." msgstr "Geçersiz dosya adı! Android APK, * .apk uzantısını gerektirir." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Unsupported export format!" -msgstr "Desteklenmeyen dışa aktarma biçimi!\n" +msgstr "Desteklenmeyen dışa aktarım biçimi!" #: platform/android/export/export_plugin.cpp msgid "" @@ -19346,27 +19120,22 @@ msgstr "" "için sürüm bilgisi yok. Lütfen 'Proje' menüsünden yeniden yükleyin." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "" "Android build version mismatch: Template installed: %s, Godot version: %s. " "Please reinstall Android build template from 'Project' menu." msgstr "" -"Android derlemesi sürüm uyumsuzluğu:\n" -" Yüklü Şablon: %s\n" -" Godot Versiyonu: %s\n" +"Android derlemesi sürüm uyumsuzluğu: Yüklü Şablon: %s, Godot versiyonu: %s. " "Lütfen 'Proje' menüsünden Android derleme şablonunu yeniden yükleyin." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "" "Unable to overwrite res://android/build/res/*.xml files with project name." msgstr "" -"Proje adıyla res://android/build/res/*.xml dosyalarının üzerine yazılamıyor" +"Proje adıyla res://android/build/res/*.xml dosyalarının üzerine yazılamıyor." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Could not export project files to gradle project." -msgstr "Proje dosyaları gradle projesine aktarılamadı\n" +msgstr "Proje dosyaları gradle projesine aktarılamadı." #: platform/android/export/export_plugin.cpp msgid "Could not write expansion package file!" @@ -19382,10 +19151,9 @@ msgid "" "Building of Android project failed, check output for the error. " "Alternatively visit docs.godotengine.org for Android build documentation." msgstr "" -"Android projesinin oluşturulması başarısız oldu, hatayı çıktı için kontrol " -"edin.\n" -"Alternatif olarak, Android derleme dokümantasyonu için docs.godotengine.org " -"adresini ziyaret edin.." +"Android projesinin oluşturulması başarısız oldu, hata. için çıktıyı kontrol " +"edin. Alternatif olarak, Android derleme dokümantasyonu için docs." +"godotengine.org adresini ziyaret edin." #: platform/android/export/export_plugin.cpp msgid "Moving output" @@ -19400,40 +19168,34 @@ msgstr "" "için gradle proje dizinini kontrol edin." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Package not found: \"%s\"." -msgstr "Paket bulunamadı: %s" +msgstr "Paket bulunamadı: \"%s\"." #: platform/android/export/export_plugin.cpp msgid "Creating APK..." msgstr "APK oluşturuluyor..." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Could not find template APK to export: \"%s\"." -msgstr "" -"Dışa aktarılacak şablon APK bulunamadı:\n" -"%s" +msgstr "Dışa aktarılacak şablon APK bulunamadı: \"%s\"." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "" "Missing libraries in the export template for the selected architectures: %s. " "Please build a template with all required libraries, or uncheck the missing " "architectures in the export preset." msgstr "" -"Seçili mimariler için dışa aktarma şablonunda eksik kitaplıklar: %s.\n" -"Lütfen tüm gerekli kitaplıkları içeren bir şablon oluşturun veya dışa " -"aktarma ön ayarındaki eksik mimarilerin işaretini kaldırın." +"Seçili mimariler için dışa aktarma şablonunda eksik kitaplıklar: %s. Lütfen " +"tüm gerekli kitaplıkları içeren bir şablon oluşturun veya dışa aktarma ön " +"ayarındaki eksik mimarilerin işaretini kaldırın." #: platform/android/export/export_plugin.cpp msgid "Adding files..." msgstr "Dosyalar ekleniyor..." #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Could not export project files." -msgstr "Proje dosyaları dışa aktarılamadı" +msgstr "Proje dosyaları dışa aktarılamadı." #: platform/android/export/export_plugin.cpp msgid "Aligning APK..." @@ -19529,9 +19291,8 @@ msgid "Code Sign Identity Release" msgstr "" #: platform/iphone/export/export.cpp -#, fuzzy msgid "Export Method Release" -msgstr "Dışa Aktarma Biçimi:" +msgstr "Dışa Aktarma Yöntemi Sürümü" #: platform/iphone/export/export.cpp msgid "Targeted Device Family" @@ -19542,9 +19303,8 @@ msgid "Info" msgstr "" #: platform/iphone/export/export.cpp platform/osx/export/export.cpp -#, fuzzy msgid "Identifier" -msgstr "Geçersiz Tanımlayıcı:" +msgstr "Tanımlayıcı" #: platform/iphone/export/export.cpp platform/osx/export/export.cpp #, fuzzy @@ -19570,12 +19330,12 @@ msgstr "Özellikleri Yapıştır" #: platform/iphone/export/export.cpp #, fuzzy msgid "Access Wi-Fi" -msgstr "Başarılı!" +msgstr "Wi-Fi'ye Eriş" #: platform/iphone/export/export.cpp #, fuzzy msgid "Push Notifications" -msgstr "Rastgele Döndürme:" +msgstr "Rastgele Döndürme" #: platform/iphone/export/export.cpp #, fuzzy @@ -19675,6 +19435,11 @@ msgstr "ÖzelSınıf" msgid "Custom BG Color" msgstr "ÖzelSınıf" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Hepsini Genişlet" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -19707,19 +19472,16 @@ msgid "Run exported HTML in the system's default browser." msgstr "Dışa aktarılmış HTML'yi sistemin varsayılan tarayıcısında çalıştır." #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not open template for export: \"%s\"." -msgstr "Dışa aktarma için şablon açılamadı:" +msgstr "Dışa aktarım için şablon açılamadı: \"%s\"." #: platform/javascript/export/export.cpp -#, fuzzy msgid "Invalid export template: \"%s\"." -msgstr "Geçersiz Dışa Aktarım Şablonu:" +msgstr "Geçersiz dışa aktarım şablonu: \"%s\"." #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not write file: \"%s\"." -msgstr "Dosya yazılamadı:" +msgstr "Dosya yazılamadı: \"%s\"." #: platform/javascript/export/export.cpp platform/osx/export/export.cpp #, fuzzy @@ -19727,18 +19489,16 @@ msgid "Icon Creation" msgstr "Kenar Boşluk Belirle" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read file: \"%s\"." -msgstr "Dosya okunamadı:" +msgstr "Dosya okunamadı: \"%s\"." #: platform/javascript/export/export.cpp msgid "PWA" msgstr "" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Variant" -msgstr "Ayrım:" +msgstr "Varyant" #: platform/javascript/export/export.cpp #, fuzzy @@ -19810,19 +19570,16 @@ msgid "Icon 512 X 512" msgstr "" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read HTML shell: \"%s\"." -msgstr "HTML kabuğu okunamadı:" +msgstr "HTML kabuğu okunamadı: \"%s\"." #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not create HTTP server directory: %s." -msgstr "HTTP sunucu klasörü oluşturulamadı:" +msgstr "HTTP sunucu klasörü oluşturulamadı: \"%s\"." #: platform/javascript/export/export.cpp -#, fuzzy msgid "Error starting HTTP server: %d." -msgstr "HTTP sunucusu başlatılırken hata:" +msgstr "HTTP sunucusu başlatılırken hata: %d." #: platform/javascript/export/export.cpp msgid "Web" @@ -19926,9 +19683,8 @@ msgid "Unknown object type." msgstr "" #: platform/osx/export/export.cpp -#, fuzzy msgid "App Category" -msgstr "Kategori:" +msgstr "Uygulama Kategorisi" #: platform/osx/export/export.cpp msgid "High Res" @@ -20122,19 +19878,16 @@ msgid "Apple Team ID" msgstr "" #: platform/osx/export/export.cpp -#, fuzzy msgid "Could not open icon file \"%s\"." -msgstr "Proje dosyaları dışa aktarılamadı" +msgstr "İkon dosyası \"%s\" açılamadı." #: platform/osx/export/export.cpp -#, fuzzy msgid "Could not start xcrun executable." -msgstr "Alt işlem başlatılamadı!" +msgstr "xcrun uygulaması başlatılamadı." #: platform/osx/export/export.cpp -#, fuzzy msgid "Notarization failed." -msgstr "Yerelleştirme" +msgstr "Noter tasdiki başarısız oldu." #: platform/osx/export/export.cpp msgid "Notarization request UUID: \"%s\"" @@ -20187,9 +19940,8 @@ msgid "No identity found." msgstr "Simge bulunamadı." #: platform/osx/export/export.cpp -#, fuzzy msgid "Cannot sign file %s." -msgstr "%s dosyası kaydedilirken hata" +msgstr "%s dosyası imzalanamadı." #: platform/osx/export/export.cpp msgid "Relative symlinks are not supported, exported \"%s\" might be broken!" @@ -20201,9 +19953,8 @@ msgid "DMG Creation" msgstr "Yönler" #: platform/osx/export/export.cpp -#, fuzzy msgid "Could not start hdiutil executable." -msgstr "Alt işlem başlatılamadı!" +msgstr "hdiutil uygulaması başlatılamadı." #: platform/osx/export/export.cpp msgid "`hdiutil create` failed - file exists." @@ -20219,16 +19970,12 @@ msgid "Creating app bundle" msgstr "Küçük Bediz Oluşturuluyor" #: platform/osx/export/export.cpp -#, fuzzy msgid "Could not find template app to export: \"%s\"." -msgstr "" -"Dışa aktarılacak şablon APK bulunamadı:\n" -"%s" +msgstr "Dışa aktarım için şablon uygulaması bulunamadı: \"%s\"." #: platform/osx/export/export.cpp -#, fuzzy msgid "Invalid export format." -msgstr "Geçersiz Dışa Aktarım Şablonu:" +msgstr "Geçersiz dışa aktarım biçimi." #: platform/osx/export/export.cpp msgid "" @@ -20284,9 +20031,8 @@ msgid "ZIP Creation" msgstr "Proje" #: platform/osx/export/export.cpp -#, fuzzy msgid "Could not open file to read from path \"%s\"." -msgstr "Proje dosyaları gradle projesine aktarılamadı\n" +msgstr "\"%s\" yolundan okunacak dosya açılamadı." #: platform/osx/export/export.cpp msgid "Invalid bundle identifier:" @@ -20413,23 +20159,20 @@ msgid "Display Name" msgstr "Hepsini Görüntüle" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Short Name" -msgstr "Betik Adı:" +msgstr "Kısa Ad" #: platform/uwp/export/export.cpp msgid "Publisher" msgstr "" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Publisher Display Name" -msgstr "Geçersiz paket yayıncı görünen adı." +msgstr "Görünen Yayıncı Adı" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Product GUID" -msgstr "Geçersiz ürün GUID'i." +msgstr "Ürün GUID" #: platform/uwp/export/export.cpp #, fuzzy @@ -20444,7 +20187,7 @@ msgstr "Sinyal" #: platform/uwp/export/export.cpp #, fuzzy msgid "Certificate" -msgstr "Köşenoktalar:" +msgstr "Sertifika" #: platform/uwp/export/export.cpp #, fuzzy @@ -20512,9 +20255,8 @@ msgid "Wide 310 X 150 Logo" msgstr "" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Splash Screen" -msgstr "Çizim Çağrıları:" +msgstr "Başlangıç Ekranı" #: platform/uwp/export/export.cpp #, fuzzy @@ -20534,6 +20276,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "Geçersiz paket kısa ismi." @@ -20604,9 +20352,8 @@ msgid "Debug Algorithm" msgstr "Hata Ayıklayıcı" #: platform/windows/export/export.cpp -#, fuzzy msgid "Failed to rename temporary file \"%s\"." -msgstr "Geçici dosya kaldırılamıyor:" +msgstr "\"%s\" geçici dosyasının yeniden adlandırılması başarısız oldu." #: platform/windows/export/export.cpp msgid "Identity Type" @@ -20632,19 +20379,16 @@ msgid "File Version" msgstr "Sürüm" #: platform/windows/export/export.cpp -#, fuzzy msgid "Product Version" -msgstr "Geçersiz ürün GUID'i." +msgstr "Ürün Sürümü" #: platform/windows/export/export.cpp -#, fuzzy msgid "Company Name" -msgstr "Düğüm adı:" +msgstr "Şirket Adı" #: platform/windows/export/export.cpp -#, fuzzy msgid "Product Name" -msgstr "Proje Adı:" +msgstr "Ürün Adı" #: platform/windows/export/export.cpp #, fuzzy @@ -20693,9 +20437,8 @@ msgid "Could not find osslsigncode executable at \"%s\"." msgstr "Anahtar deposu bulunamadı, dışa aktarılamadı." #: platform/windows/export/export.cpp -#, fuzzy msgid "Invalid identity type." -msgstr "Geçersiz Tanımlayıcı:" +msgstr "Geçersiz kimlik türü." #: platform/windows/export/export.cpp #, fuzzy @@ -20715,9 +20458,8 @@ msgid "Signtool failed to sign executable: %s." msgstr "Geçersiz uzantı." #: platform/windows/export/export.cpp -#, fuzzy msgid "Failed to remove temporary file \"%s\"." -msgstr "Geçici dosya kaldırılamıyor:" +msgstr "\"%s\" geçici dosyasının silinme işlemi başarısız oldu." #: platform/windows/export/export.cpp msgid "" @@ -20726,19 +20468,16 @@ msgid "" msgstr "" #: platform/windows/export/export.cpp -#, fuzzy msgid "Invalid icon path:" -msgstr "Geçersiz yol." +msgstr "Geçersiz ikon yolu:" #: platform/windows/export/export.cpp -#, fuzzy msgid "Invalid file version:" -msgstr "Geçersiz uzantı." +msgstr "Geçersiz dosya sürümü:" #: platform/windows/export/export.cpp -#, fuzzy msgid "Invalid product version:" -msgstr "Geçersiz ürün GUID'i." +msgstr "Geçersiz ürün sürümü:" #: platform/windows/export/export.cpp msgid "Windows executables cannot be >= 4 GiB." @@ -20875,7 +20614,6 @@ msgid "Audio Bus" msgstr "Audio Bus Ekle" #: scene/2d/area_2d.cpp scene/3d/area.cpp -#, fuzzy msgid "Override" msgstr "Üzerine Yaz" @@ -20907,9 +20645,8 @@ msgstr "" #: scene/3d/light.cpp scene/3d/reflection_probe.cpp #: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp #: scene/resources/material.cpp -#, fuzzy msgid "Max Distance" -msgstr "Uzaklık Seç:" +msgstr "Maksimum Uzaklık" #: scene/2d/audio_stream_player_2d.cpp scene/3d/light.cpp #, fuzzy @@ -20937,15 +20674,14 @@ msgid "Anchor Mode" msgstr "Simge Kipi" #: scene/2d/camera_2d.cpp -#, fuzzy msgid "Rotating" -msgstr "Dönme Adımı:" +msgstr "Döndürme" #: scene/2d/camera_2d.cpp scene/2d/listener_2d.cpp scene/3d/camera.cpp #: scene/3d/listener.cpp scene/animation/animation_blend_tree.cpp #, fuzzy msgid "Current" -msgstr "Geçerli:" +msgstr "Geçerli" #: scene/2d/camera_2d.cpp scene/gui/graph_edit.cpp #, fuzzy @@ -21027,14 +20763,12 @@ msgid "Drag Margin" msgstr "Kenar Boşluk Belirle" #: scene/2d/camera_2d.cpp -#, fuzzy msgid "Draw Screen" -msgstr "Çizim Çağrıları:" +msgstr "Çizim Ekranı" #: scene/2d/camera_2d.cpp -#, fuzzy msgid "Draw Limits" -msgstr "Çizim Çağrıları:" +msgstr "Çizim Sınırları" #: scene/2d/camera_2d.cpp #, fuzzy @@ -21248,9 +20982,8 @@ msgstr "" #: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp #: scene/3d/cpu_particles.cpp scene/3d/particles.cpp -#, fuzzy msgid "Randomness" -msgstr "Rastgele Yeniden Başlama (sn):" +msgstr "Rastgelelik" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp @@ -21292,9 +21025,8 @@ msgstr "Emisyon Maskesi" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp -#, fuzzy msgid "Sphere Radius" -msgstr "Emisyon Kaynağı: " +msgstr "Küre Yarıçapı" #: scene/2d/cpu_particles_2d.cpp #, fuzzy @@ -21364,7 +21096,7 @@ msgstr "Doğrusal" #: scene/resources/particles_material.cpp #, fuzzy msgid "Accel" -msgstr "Başarılı!" +msgstr "Hızlanma" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp @@ -21423,9 +21155,8 @@ msgid "Angle Curve" msgstr "Eğriyi Kapat" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp -#, fuzzy msgid "Scale Amount" -msgstr "Değer:" +msgstr "Ölçek Miktarı" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp msgid "Scale Amount Random" @@ -21451,13 +21182,12 @@ msgstr "" #: scene/resources/particles_material.cpp #, fuzzy msgid "Hue Variation" -msgstr "Ayrım:" +msgstr "Renk Tonu Varyasyonu" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp -#, fuzzy msgid "Variation" -msgstr "Ayrım:" +msgstr "Varyasyon" #: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp #: scene/resources/particles_material.cpp @@ -21687,9 +21417,8 @@ msgid "End Cap Mode" msgstr "Yapışma Kipi:" #: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp scene/resources/style_box.cpp -#, fuzzy msgid "Border" -msgstr "Klasör yeniden adlandırma:" +msgstr "Kenar" #: scene/2d/line_2d.cpp msgid "Sharp Limit" @@ -21743,9 +21472,8 @@ msgid "Target Desired Distance" msgstr "" #: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp -#, fuzzy msgid "Path Max Distance" -msgstr "Uzaklık Seç:" +msgstr "Yol Maksimum Mesafesi" #: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp #, fuzzy @@ -21771,9 +21499,8 @@ msgid "Time Horizon" msgstr "Yatay Yansıt" #: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp -#, fuzzy msgid "Max Speed" -msgstr "Hız:" +msgstr "Maksimum Hız" #: scene/2d/navigation_agent_2d.cpp #, fuzzy @@ -21817,9 +21544,8 @@ msgstr "Seyahat" #: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp #: scene/main/canvas_layer.cpp -#, fuzzy msgid "Rotation Degrees" -msgstr "%s Düzey Dönüyor." +msgstr "Dönüş Açıları" #: scene/2d/node_2d.cpp scene/3d/spatial.cpp #, fuzzy @@ -21827,14 +21553,12 @@ msgid "Global Rotation" msgstr "Genel Sabit" #: scene/2d/node_2d.cpp -#, fuzzy msgid "Global Rotation Degrees" -msgstr "%s Düzey Dönüyor." +msgstr "Genel Dönüş Açıları" #: scene/2d/node_2d.cpp -#, fuzzy msgid "Global Scale" -msgstr "Rastgele Ölçek:" +msgstr "Küresel Ölçek" #: scene/2d/node_2d.cpp scene/3d/spatial.cpp #, fuzzy @@ -22022,9 +21746,8 @@ msgid "Mass" msgstr "" #: scene/2d/physics_body_2d.cpp -#, fuzzy msgid "Inertia" -msgstr "Dikey:" +msgstr "Eylemsizlik" #: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp #, fuzzy @@ -22308,9 +22031,8 @@ msgid "Compatibility Mode" msgstr "Öncelik Kipi" #: scene/2d/tile_map.cpp -#, fuzzy msgid "Centered Textures" -msgstr "Ana Özellikler:" +msgstr "Merkezlenmiş Dokular" #: scene/2d/tile_map.cpp msgid "Cell Clip UV" @@ -22434,9 +22156,8 @@ msgid "ARVROrigin requires an ARVRCamera child node." msgstr "ARVROrigin bir ARVRCamera alt düğümü gerektirir." #: scene/3d/arvr_nodes.cpp servers/arvr_server.cpp -#, fuzzy msgid "World Scale" -msgstr "Rastgele Ölçek:" +msgstr "Dünya Ölçeği" #: scene/3d/audio_stream_player_3d.cpp #, fuzzy @@ -22465,9 +22186,8 @@ msgid "Emission Angle" msgstr "Emisyon Renkleri" #: scene/3d/audio_stream_player_3d.cpp -#, fuzzy msgid "Degrees" -msgstr "%s Düzey Dönüyor." +msgstr "Açılar" #: scene/3d/audio_stream_player_3d.cpp #, fuzzy @@ -22578,9 +22298,8 @@ msgid "Generate" msgstr "Genel" #: scene/3d/baked_lightmap.cpp -#, fuzzy msgid "Max Size" -msgstr "Boyut:" +msgstr "Maksimum Boyut" #: scene/3d/baked_lightmap.cpp #, fuzzy @@ -22588,9 +22307,8 @@ msgid "Custom Sky" msgstr "ÖzelSınıf" #: scene/3d/baked_lightmap.cpp -#, fuzzy msgid "Custom Sky Rotation Degrees" -msgstr "%s Düzey Dönüyor." +msgstr "Özel Gökyüzü Dönüş Açıları" #: scene/3d/baked_lightmap.cpp scene/3d/ray_cast.cpp #, fuzzy @@ -22909,14 +22627,12 @@ msgstr "Beyaz Modüle Etme Kuvveti" #: scene/3d/label_3d.cpp scene/resources/default_theme/default_theme.cpp #: scene/resources/dynamic_font.cpp scene/resources/primitive_meshes.cpp -#, fuzzy msgid "Font" -msgstr "Yazı Tipleri" +msgstr "Yazı Tipi" #: scene/3d/label_3d.cpp scene/resources/primitive_meshes.cpp -#, fuzzy msgid "Horizontal Alignment" -msgstr "Yatay:" +msgstr "Yatay Hizalama" #: scene/3d/label_3d.cpp #, fuzzy @@ -23026,9 +22742,8 @@ msgid "Software Skinning" msgstr "" #: scene/3d/mesh_instance.cpp -#, fuzzy msgid "Transform Normals" -msgstr "Dönüşüm Durduruldu." +msgstr "Dönüşüm Normalleri" #: scene/3d/navigation.cpp msgid "" @@ -23239,9 +22954,8 @@ msgid "Angular Limit Upper" msgstr "Doğrusal" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Limit Lower" -msgstr "Maks. Açısal Hata:" +msgstr "Açısal Limit Alt" #: scene/3d/physics_body.cpp #, fuzzy @@ -23406,9 +23120,8 @@ msgid "Exclude Nodes" msgstr "Düğümleri Sil" #: scene/3d/physics_joint.cpp -#, fuzzy msgid "Params" -msgstr "Parametre Değiştirildi:" +msgstr "Parametreler" #: scene/3d/physics_joint.cpp msgid "Angular Limit" @@ -23436,7 +23149,7 @@ msgstr "Yörünge Görünümü Sağ" #: scene/3d/physics_joint.cpp #, fuzzy msgid "Max Impulse" -msgstr "Hız:" +msgstr "Maksimum İtme" #: scene/3d/physics_joint.cpp #, fuzzy @@ -23444,14 +23157,12 @@ msgid "Linear Limit" msgstr "Doğrusal" #: scene/3d/physics_joint.cpp -#, fuzzy msgid "Upper Distance" -msgstr "Uzaklık Seç:" +msgstr "Üst Mesafe" #: scene/3d/physics_joint.cpp -#, fuzzy msgid "Lower Distance" -msgstr "Uzaklık Seç:" +msgstr "Alt Mesafe" #: scene/3d/physics_joint.cpp #, fuzzy @@ -23499,9 +23210,8 @@ msgid "Linear Motor X" msgstr "Etkinleştir" #: scene/3d/physics_joint.cpp -#, fuzzy msgid "Force Limit" -msgstr "Çizim Çağrıları:" +msgstr "Kuvvet Sınırı" #: scene/3d/physics_joint.cpp #, fuzzy @@ -23619,9 +23329,8 @@ msgid "Dispatch Mode" msgstr "" #: scene/3d/proximity_group.cpp -#, fuzzy msgid "Grid Radius" -msgstr "Yarıçap:" +msgstr "Izgara Yarıçapı" #: scene/3d/ray_cast.cpp #, fuzzy @@ -23908,14 +23617,12 @@ msgid "Parent Collision Ignore" msgstr "Temas Çokgeni Oluştur" #: scene/3d/soft_body.cpp -#, fuzzy msgid "Simulation Precision" -msgstr "Animasyon ağacı geçersizdir." +msgstr "Simülasyon Hassasiyeti" #: scene/3d/soft_body.cpp -#, fuzzy msgid "Total Mass" -msgstr "Toplam:" +msgstr "Toplam Kütle" #: scene/3d/soft_body.cpp msgid "Linear Stiffness" @@ -23984,7 +23691,7 @@ msgstr "" #: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp msgid "Opacity" -msgstr "" +msgstr "Şeffaflık" #: scene/3d/sprite_3d.cpp scene/resources/material.cpp #, fuzzy @@ -24039,9 +23746,8 @@ msgid "Use As Steering" msgstr "" #: scene/3d/vehicle_body.cpp -#, fuzzy msgid "Wheel" -msgstr "Tekerlek Yukarı." +msgstr "Tekerlek" #: scene/3d/vehicle_body.cpp msgid "Roll Influence" @@ -24111,9 +23817,8 @@ msgstr "" #: scene/3d/visual_instance.cpp scene/animation/skeleton_ik.cpp #: scene/resources/material.cpp -#, fuzzy msgid "Min Distance" -msgstr "Uzaklık Seç:" +msgstr "Minimum Mesafe" #: scene/3d/visual_instance.cpp msgid "Min Hysteresis" @@ -24162,31 +23867,30 @@ msgstr "Düğümü Çırp" #: scene/animation/animation_blend_tree.cpp #, fuzzy msgid "Fadein Time" -msgstr "X-Sönülme Süresi (sn):" +msgstr "Solma Süresi" #: scene/animation/animation_blend_tree.cpp #, fuzzy msgid "Fadeout Time" -msgstr "X-Sönülme Süresi (sn):" +msgstr "Kararma Süresi" #: scene/animation/animation_blend_tree.cpp #, fuzzy msgid "Auto Restart" -msgstr "Kendiliğinden Yeniden Başlat:" +msgstr "Otomatik Yeniden Başlat" #: scene/animation/animation_blend_tree.cpp #, fuzzy msgid "Autorestart" -msgstr "Kendiliğinden Yeniden Başlat:" +msgstr "Otomatik Yeniden Başlatma" #: scene/animation/animation_blend_tree.cpp msgid "Delay" msgstr "" #: scene/animation/animation_blend_tree.cpp -#, fuzzy msgid "Random Delay" -msgstr "Rastgele Eğilme:" +msgstr "Rastgele Gecikme" #: scene/animation/animation_blend_tree.cpp #, fuzzy @@ -24196,7 +23900,7 @@ msgstr "Değer:" #: scene/animation/animation_blend_tree.cpp #, fuzzy msgid "Blend Amount" -msgstr "Değer:" +msgstr "Karıştırma Miktarı" #: scene/animation/animation_blend_tree.cpp #, fuzzy @@ -24212,7 +23916,7 @@ msgstr "Giriş Portu Ekle" #: scene/animation/animation_node_state_machine.cpp #, fuzzy msgid "Xfade Time" -msgstr "X-Sönülme Süresi (sn):" +msgstr "X-Sönülme Süresi" #: scene/animation/animation_node_state_machine.cpp #, fuzzy @@ -24258,9 +23962,8 @@ msgid "Current Animation Position" msgstr "Animasyon Noktası Ekle" #: scene/animation/animation_player.cpp -#, fuzzy msgid "Playback Options" -msgstr "Sınıf Seçenekleri:" +msgstr "Oynatma Seçenekleri" #: scene/animation/animation_player.cpp #, fuzzy @@ -24304,7 +24007,7 @@ msgstr "AnimationOynatıcı kök düğümü geçerli bir düğüm değil." #: scene/animation/animation_tree.cpp #, fuzzy msgid "Tree Root" -msgstr "Kök Düğüm Oluştur:" +msgstr "Ağaç Kökü" #: scene/animation/animation_tree.cpp #, fuzzy @@ -24562,9 +24265,8 @@ msgid "Grow Direction" msgstr "Yönler" #: scene/gui/control.cpp scene/resources/navigation_mesh.cpp -#, fuzzy msgid "Min Size" -msgstr "Kontur Boyutu:" +msgstr "Minimum Boyut" #: scene/gui/control.cpp #, fuzzy @@ -24620,18 +24322,16 @@ msgid "Mouse" msgstr "" #: scene/gui/control.cpp -#, fuzzy msgid "Default Cursor Shape" -msgstr "Varsayılan Bus Yerleşim Düzenini Yükle." +msgstr "Varsayılan İmleç Şekli" #: scene/gui/control.cpp msgid "Pass On Modal Close Click" msgstr "" #: scene/gui/control.cpp -#, fuzzy msgid "Size Flags" -msgstr "Boyut: " +msgstr "Boyut Etiketleri" #: scene/gui/control.cpp #, fuzzy @@ -24784,9 +24484,8 @@ msgid "Fixed Column Width" msgstr "" #: scene/gui/item_list.cpp -#, fuzzy msgid "Icon Scale" -msgstr "Rastgele Ölçek:" +msgstr "Simge Ölçeği" #: scene/gui/item_list.cpp #, fuzzy @@ -24799,9 +24498,8 @@ msgid "V Align" msgstr "Ata" #: scene/gui/label.cpp scene/gui/rich_text_label.cpp -#, fuzzy msgid "Visible Characters" -msgstr "Geçerli karakterler:" +msgstr "Görünür Karakterler" #: scene/gui/label.cpp scene/gui/rich_text_label.cpp #, fuzzy @@ -24825,9 +24523,8 @@ msgid "Secret" msgstr "" #: scene/gui/line_edit.cpp -#, fuzzy msgid "Secret Character" -msgstr "Geçerli karakterler:" +msgstr "Gizli Karakter" #: scene/gui/line_edit.cpp msgid "Expand To Text Length" @@ -24884,16 +24581,15 @@ msgstr "" #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Caret" -msgstr "Karet" +msgstr "İmleç" #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Blink" msgstr "" #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp -#, fuzzy msgid "Blink Speed" -msgstr "Hız:" +msgstr "Yanıp Sönme Hızı" #: scene/gui/link_button.cpp msgid "Underline" @@ -24980,9 +24676,8 @@ msgid "Allow Search" msgstr "Ara" #: scene/gui/progress_bar.cpp -#, fuzzy msgid "Percent" -msgstr "Yakın zamanda:" +msgstr "Yüzde" #: scene/gui/range.cpp msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0." @@ -24999,9 +24694,8 @@ msgid "Max Value" msgstr "Değer" #: scene/gui/range.cpp -#, fuzzy msgid "Page" -msgstr "Sayfa: " +msgstr "Sayfa" #: scene/gui/range.cpp #, fuzzy @@ -25042,9 +24736,8 @@ msgid "Absolute Index" msgstr "Kendinden Girintili" #: scene/gui/rich_text_effect.cpp -#, fuzzy msgid "Elapsed Time" -msgstr "Süreleri Karıştır:" +msgstr "Geçen Süre" #: scene/gui/rich_text_effect.cpp #, fuzzy @@ -25052,9 +24745,8 @@ msgid "Env" msgstr "Bitiş" #: scene/gui/rich_text_effect.cpp -#, fuzzy msgid "Character" -msgstr "Geçerli karakterler:" +msgstr "Karakter" #: scene/gui/rich_text_label.cpp msgid "BBCode" @@ -25065,9 +24757,8 @@ msgid "Meta Underlined" msgstr "" #: scene/gui/rich_text_label.cpp -#, fuzzy msgid "Tab Size" -msgstr "Boyut:" +msgstr "Sekme Boyutu" #: scene/gui/rich_text_label.cpp #, fuzzy @@ -25143,17 +24834,15 @@ msgstr "Renk Seç" #: scene/gui/slider.cpp #, fuzzy msgid "Ticks On Borders" -msgstr "Klasör yeniden adlandırma:" +msgstr "Kenarlar Üzerindeki İşaretler" #: scene/gui/spin_box.cpp -#, fuzzy msgid "Prefix" -msgstr "Ön Ek:" +msgstr "Ön Ek" #: scene/gui/spin_box.cpp -#, fuzzy msgid "Suffix" -msgstr "Son Ek (Suffix) :" +msgstr "Son Ek" #: scene/gui/split_container.cpp #, fuzzy @@ -25175,9 +24864,8 @@ msgid "Tab Align" msgstr "" #: scene/gui/tab_container.cpp scene/gui/tabs.cpp -#, fuzzy msgid "Current Tab" -msgstr "Geçerli:" +msgstr "Geçerli Sekme" #: scene/gui/tab_container.cpp #, fuzzy @@ -25189,9 +24877,8 @@ msgid "All Tabs In Front" msgstr "" #: scene/gui/tab_container.cpp scene/gui/tabs.cpp -#, fuzzy msgid "Drag To Rearrange Enabled" -msgstr "Düzenlemek için Sürükle-Bırak." +msgstr "Sürükleyerek Yeniden Düzenleme Aktifleştirildi" #: scene/gui/tab_container.cpp msgid "Use Hidden Tabs For Min Size" @@ -25240,19 +24927,17 @@ msgid "Wrap Enabled" msgstr "Etkin" #: scene/gui/text_edit.cpp -#, fuzzy msgid "Scroll Vertical" -msgstr "Dikey:" +msgstr "Dikey Kaydırma" #: scene/gui/text_edit.cpp -#, fuzzy msgid "Scroll Horizontal" -msgstr "Yatay:" +msgstr "Yatay Kaydırma" #: scene/gui/text_edit.cpp #, fuzzy msgid "Draw" -msgstr "Çizim Çağrıları:" +msgstr "Çiz" #: scene/gui/text_edit.cpp #, fuzzy @@ -25312,7 +24997,7 @@ msgstr "" #: scene/gui/texture_progress.cpp #, fuzzy msgid "Fill Mode" -msgstr "Oynatma Modu:" +msgstr "Doldurma Modu" #: scene/gui/texture_progress.cpp scene/resources/material.cpp msgid "Tint" @@ -25328,9 +25013,8 @@ msgid "Initial Angle" msgstr "Etkinleştir" #: scene/gui/texture_progress.cpp -#, fuzzy msgid "Fill Degrees" -msgstr "%s Düzey Dönüyor." +msgstr "Dolgu Aşamaları" #: scene/gui/texture_progress.cpp scene/resources/primitive_meshes.cpp #, fuzzy @@ -25381,9 +25065,8 @@ msgid "Hide Folding" msgstr "Pasif Düğme" #: scene/gui/tree.cpp -#, fuzzy msgid "Hide Root" -msgstr "Kök Düğüm Oluştur:" +msgstr "Kökü Gizle" #: scene/gui/tree.cpp msgid "Drop Mode Flags" @@ -25437,9 +25120,8 @@ msgid "Max Redirects" msgstr "" #: scene/main/http_request.cpp -#, fuzzy msgid "Timeout" -msgstr "Zaman aşımı." +msgstr "Zaman Aşımı" #: scene/main/node.cpp msgid "" @@ -25567,9 +25249,8 @@ msgid "Draw 2D Outlines" msgstr "Anahat Oluştur" #: scene/main/scene_tree.cpp servers/visual_server.cpp -#, fuzzy msgid "Reflections" -msgstr "Yönler" +msgstr "Yansımalar" #: scene/main/scene_tree.cpp #, fuzzy @@ -25631,9 +25312,8 @@ msgstr "" "döngüsünü kullanmayı tercih edin." #: scene/main/timer.cpp -#, fuzzy msgid "Autostart" -msgstr "Kendiliğinden Yeniden Başlat:" +msgstr "Otomatik başlatma" #: scene/main/viewport.cpp #, fuzzy @@ -25961,9 +25641,8 @@ msgid "On Disabled" msgstr "Pasif Öge" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Off" -msgstr "Kaydırma:" +msgstr "Kapat" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -26046,9 +25725,8 @@ msgid "Space" msgstr "Ana Sahne" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Folded" -msgstr "Dosya:" +msgstr "Katlanmış" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -26207,9 +25885,8 @@ msgid "Labeled Separator Right" msgstr "İsimli Ayraç" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Font Separator" -msgstr "Renk operatörü." +msgstr "Yazı Tipi Ayracı" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -26217,9 +25894,8 @@ msgid "Font Color Accel" msgstr "Renk Öğesini Yeniden Adlandır" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Font Color Separator" -msgstr "Renk operatörü." +msgstr "Yazı Tipi Rengi Ayracı" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -26389,14 +26065,12 @@ msgid "Draw Guides" msgstr "Kılavuz çizgilerini göster" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Scroll Border" -msgstr "Dikey:" +msgstr "Kaydırma Kenarlığı" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Scroll Speed" -msgstr "Izgarayı Kaydır:" +msgstr "Kaydırma Hızı" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -26466,9 +26140,8 @@ msgid "Large" msgstr "Hedef" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Folder" -msgstr "Dosya:" +msgstr "Klasör" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -26506,9 +26179,8 @@ msgid "Label Width" msgstr "Soldan Görünüm" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Screen Picker" -msgstr "Screen Etkisi operatörü." +msgstr "Ekran Seçici" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -26671,7 +26343,7 @@ msgstr "Yola Odaklan" #: scene/resources/dynamic_font.cpp #, fuzzy msgid "Outline Size" -msgstr "Kontur Boyutu:" +msgstr "Kontur Boyutu" #: scene/resources/dynamic_font.cpp #, fuzzy @@ -26684,14 +26356,12 @@ msgid "Use Mipmaps" msgstr "sinyaller" #: scene/resources/dynamic_font.cpp -#, fuzzy msgid "Extra Spacing" -msgstr "İlave Seçenekler:" +msgstr "Ekstra Boşluk" #: scene/resources/dynamic_font.cpp -#, fuzzy msgid "Char" -msgstr "Geçerli karakterler:" +msgstr "karakter" #: scene/resources/dynamic_font.cpp #, fuzzy @@ -26722,9 +26392,8 @@ msgid "Sky Rotation" msgstr "Dönme Adımı:" #: scene/resources/environment.cpp -#, fuzzy msgid "Sky Rotation Degrees" -msgstr "%s Düzey Dönüyor." +msgstr "Gökyüzü Dönüş Açıları" #: scene/resources/environment.cpp msgid "Canvas Max Layer" @@ -26749,14 +26418,13 @@ msgid "Fog" msgstr "" #: scene/resources/environment.cpp -#, fuzzy msgid "Sun Color" -msgstr "Dosya Depolama:" +msgstr "Güneş Rengi" #: scene/resources/environment.cpp #, fuzzy msgid "Sun Amount" -msgstr "Değer:" +msgstr "Güneş Miktarı" #: scene/resources/environment.cpp #, fuzzy @@ -26845,14 +26513,13 @@ msgid "Max Steps" msgstr "Adım" #: scene/resources/environment.cpp -#, fuzzy msgid "Fade In" -msgstr "Açılma (sn):" +msgstr "Solma" #: scene/resources/environment.cpp #, fuzzy msgid "Fade Out" -msgstr "Karartma (sn):" +msgstr "Kararma" #: scene/resources/environment.cpp #, fuzzy @@ -26870,7 +26537,7 @@ msgstr "" #: scene/resources/environment.cpp #, fuzzy msgid "Radius 2" -msgstr "Yarıçap:" +msgstr "Yarıçap 2" #: scene/resources/environment.cpp msgid "Intensity 2" @@ -26899,14 +26566,12 @@ msgid "DOF Far Blur" msgstr "" #: scene/resources/environment.cpp scene/resources/material.cpp -#, fuzzy msgid "Distance" -msgstr "Uzaklık Seç:" +msgstr "Mesafe" #: scene/resources/environment.cpp -#, fuzzy msgid "Transition" -msgstr "Geçiş: " +msgstr "Geçiş" #: scene/resources/environment.cpp msgid "DOF Near Blur" @@ -26984,14 +26649,12 @@ msgid "Brightness" msgstr "Işık" #: scene/resources/environment.cpp -#, fuzzy msgid "Saturation" -msgstr "Ayrım:" +msgstr "Doygunluk" #: scene/resources/environment.cpp -#, fuzzy msgid "Color Correction" -msgstr "Renk işlevi." +msgstr "Renk Düzeltme" #: scene/resources/font.cpp #, fuzzy @@ -27073,9 +26736,8 @@ msgid "Disable Ambient Light" msgstr "Sağa Girintile" #: scene/resources/material.cpp -#, fuzzy msgid "Ensure Correct Normals" -msgstr "Dönüşüm Durduruldu." +msgstr "Doğru Normalleri Sağla" #: scene/resources/material.cpp msgid "Albedo Tex MSDF" @@ -27095,9 +26757,8 @@ msgid "Is sRGB" msgstr "" #: scene/resources/material.cpp servers/visual_server.cpp -#, fuzzy msgid "Parameters" -msgstr "Parametre Değiştirildi:" +msgstr "Parametreler" #: scene/resources/material.cpp #, fuzzy @@ -27139,9 +26800,8 @@ msgid "Grow" msgstr "" #: scene/resources/material.cpp -#, fuzzy msgid "Grow Amount" -msgstr "Değer:" +msgstr "Büyüme Miktarı" #: scene/resources/material.cpp msgid "Use Alpha Scissor" @@ -27244,7 +26904,7 @@ msgstr "" #: scene/resources/material.cpp #, fuzzy msgid "Transmission" -msgstr "Geçiş: " +msgstr "Aktarma" #: scene/resources/material.cpp #, fuzzy @@ -27312,14 +26972,12 @@ msgid "NavMesh Transform" msgstr "Dönüşümü Temizle" #: scene/resources/multimesh.cpp -#, fuzzy msgid "Color Format" -msgstr "Renk operatörü." +msgstr "Renk Biçimi" #: scene/resources/multimesh.cpp -#, fuzzy msgid "Transform Format" -msgstr "Dönüşüm Durduruldu." +msgstr "Dönüşüm Biçimi" #: scene/resources/multimesh.cpp msgid "Custom Data Format" @@ -27335,9 +26993,8 @@ msgid "Visible Instance Count" msgstr "" #: scene/resources/navigation_mesh.cpp -#, fuzzy msgid "Sampling" -msgstr "Ölçekleniyor: " +msgstr "Örnekleme" #: scene/resources/navigation_mesh.cpp #, fuzzy @@ -27345,9 +27002,8 @@ msgid "Partition Type" msgstr "Değişken Tipini Ayarla" #: scene/resources/navigation_mesh.cpp -#, fuzzy msgid "Parsed Geometry Type" -msgstr "Geometri Ayrıştırılıyor..." +msgstr "Çözümlenmiş Geometri Tipi" #: scene/resources/navigation_mesh.cpp msgid "Source Geometry Mode" @@ -27363,9 +27019,8 @@ msgid "Cells" msgstr "" #: scene/resources/navigation_mesh.cpp -#, fuzzy msgid "Agents" -msgstr "Ana Sahne Değiştirgenleri:" +msgstr "Ajanlar" #: scene/resources/navigation_mesh.cpp msgid "Max Climb" @@ -27404,9 +27059,8 @@ msgid "Details" msgstr "Varsayılanı Göster" #: scene/resources/navigation_mesh.cpp -#, fuzzy msgid "Sample Distance" -msgstr "Uzaklık Seç:" +msgstr "Örnek Mesafe" #: scene/resources/navigation_mesh.cpp #, fuzzy @@ -27437,7 +27091,7 @@ msgstr "Kaydırma:" #: scene/resources/occluder_shape.cpp msgid "Spheres" -msgstr "" +msgstr "Küreler" #: scene/resources/occluder_shape.cpp msgid "OccluderShapeSphere Set Spheres" @@ -27477,14 +27131,12 @@ msgid "Color Modifier" msgstr "Serbest Bakış Hız Değiştirici" #: scene/resources/particles_material.cpp -#, fuzzy msgid "Point Texture" -msgstr "Emisyon Noktaları:" +msgstr "Nokta Dokusu" #: scene/resources/particles_material.cpp -#, fuzzy msgid "Normal Texture" -msgstr "Emisyon Kaynağı: " +msgstr "Normal Doku" #: scene/resources/particles_material.cpp #, fuzzy @@ -27497,9 +27149,8 @@ msgid "Point Count" msgstr "Giriş Portu Ekle" #: scene/resources/particles_material.cpp -#, fuzzy msgid "Scale Random" -msgstr "Ölçek Oranı:" +msgstr "Rastgele Ölçeklendir" #: scene/resources/particles_material.cpp #, fuzzy @@ -27515,9 +27166,8 @@ msgid "Absorbent" msgstr "" #: scene/resources/plane_shape.cpp -#, fuzzy msgid "Plane" -msgstr "Sekme:" +msgstr "Uçak" #: scene/resources/primitive_meshes.cpp #, fuzzy @@ -27541,9 +27191,8 @@ msgid "Subdivide Depth" msgstr "" #: scene/resources/primitive_meshes.cpp -#, fuzzy msgid "Top Radius" -msgstr "Yarıçap:" +msgstr "Üst Yarıçap" #: scene/resources/primitive_meshes.cpp #, fuzzy @@ -27556,8 +27205,9 @@ msgid "Left To Right" msgstr "Sağ Üst" #: scene/resources/primitive_meshes.cpp +#, fuzzy msgid "Is Hemisphere" -msgstr "" +msgstr "Yarım Küre Mi" #: scene/resources/primitive_meshes.cpp #, fuzzy @@ -27606,9 +27256,8 @@ msgid "Top Color" msgstr "Sonraki Zemin" #: scene/resources/sky.cpp -#, fuzzy msgid "Horizon Color" -msgstr "Dosya Depolama:" +msgstr "Horizon Renk" #: scene/resources/sky.cpp #, fuzzy @@ -27688,9 +27337,8 @@ msgid "Base Texture" msgstr "Dokuyu Kaldır" #: scene/resources/texture.cpp -#, fuzzy msgid "Image Size" -msgstr "Sayfa: " +msgstr "Görüntü Boyutu" #: scene/resources/texture.cpp #, fuzzy @@ -27718,9 +27366,8 @@ msgid "Lossy Storage Quality" msgstr "Yakala" #: scene/resources/texture.cpp -#, fuzzy msgid "From" -msgstr "Oynatma Modu:" +msgstr "Kimden" #: scene/resources/texture.cpp #, fuzzy @@ -27890,7 +27537,7 @@ msgstr "Deneme" #: scene/resources/world.cpp scene/resources/world_2d.cpp #, fuzzy msgid "Default Edge Connection Margin" -msgstr "Bağlantıyı Düzenle:" +msgstr "Varsayılan Kenar Bağlantı Marjı" #: scene/resources/world_2d.cpp msgid "Canvas" @@ -28076,7 +27723,7 @@ msgstr "" #: servers/audio/effects/audio_effect_spectrum_analyzer.cpp #, fuzzy msgid "FFT Size" -msgstr "Boyut:" +msgstr "FFT Boyutu" #: servers/audio/effects/audio_effect_reverb.cpp msgid "Predelay" @@ -28104,9 +27751,8 @@ msgid "Pan Pullout" msgstr "" #: servers/audio/effects/audio_effect_stereo_enhance.cpp -#, fuzzy msgid "Time Pullout (ms)" -msgstr "Zaman aşımı." +msgstr "Zaman Çıkışı (ms)" #: servers/audio/effects/audio_effect_stereo_enhance.cpp msgid "Surround" @@ -28292,9 +27938,8 @@ msgid "Constants cannot be modified." msgstr "Sabit değerler değiştirilemez." #: servers/visual/visual_server_scene.cpp -#, fuzzy msgid "Spatial Partitioning" -msgstr "Bölümleniyor..." +msgstr "Uzaysal Ayırma" #: servers/visual_server.cpp #, fuzzy @@ -28458,7 +28103,7 @@ msgstr "Ara Değerleme Kipi" #: servers/visual_server.cpp #, fuzzy msgid "OpenGL" -msgstr "Aç" +msgstr "OpenGL" #: servers/visual_server.cpp msgid "Batching Send Null" @@ -28467,7 +28112,7 @@ msgstr "" #: servers/visual_server.cpp #, fuzzy msgid "Batching Stream" -msgstr "Tümden Yeniden Adlandır" +msgstr "Yığınlama Akışı" #: servers/visual_server.cpp msgid "Legacy Orphan Buffers" @@ -28482,13 +28127,14 @@ msgid "Batching" msgstr "Yığınlama" #: servers/visual_server.cpp +#, fuzzy msgid "Use Batching" -msgstr "" +msgstr "Yığınlama Kullan" #: servers/visual_server.cpp #, fuzzy msgid "Use Batching In Editor" -msgstr "Editörün güncellenmesi" +msgstr "Editörde Yığınlama Kullan" #: servers/visual_server.cpp msgid "Single Rect Fallback" @@ -28507,13 +28153,13 @@ msgid "Scissor Area Threshold" msgstr "" #: servers/visual_server.cpp -#, fuzzy msgid "Max Join Items" -msgstr "Öğeleri Yönet..." +msgstr "Maksimum Birleşen Maddeler" #: servers/visual_server.cpp +#, fuzzy msgid "Batch Buffer Size" -msgstr "" +msgstr "Yığınlama Arabellek Boyutu" #: servers/visual_server.cpp msgid "Item Reordering Lookahead" @@ -28526,7 +28172,7 @@ msgstr "" #: servers/visual_server.cpp #, fuzzy msgid "Diagnose Frame" -msgstr "Çerçeveyi Yapıştır" +msgstr "Kareyi Tespit Et" #: servers/visual_server.cpp msgid "GLES2" @@ -28586,7 +28232,7 @@ msgstr "Emilme Ayırmayı Görüntüle" #: servers/visual_server.cpp msgid "Max Active Spheres" -msgstr "Maks. Aktif Küre Sayısı" +msgstr "Maksimum Aktif Küre Sayısı" #: servers/visual_server.cpp msgid "Max Active Polygons" @@ -28598,8 +28244,9 @@ msgid "Shader Compilation Mode" msgstr "Ara Değerleme Kipi" #: servers/visual_server.cpp +#, fuzzy msgid "Max Simultaneous Compiles" -msgstr "" +msgstr "Maksimum Eşzamanlı Derleme" #: servers/visual_server.cpp msgid "Log Active Async Compiles Count" diff --git a/editor/translations/uk.po b/editor/translations/uk.po index d87aa168d7..fe0bc96c04 100644 --- a/editor/translations/uk.po +++ b/editor/translations/uk.po @@ -11,7 +11,7 @@ # Олександр Пилипчук <pilipchukap@rambler.ru>, 2018. # Kirill Omelchenko <kirill.omelchenko@gmail.com>, 2018. # Александр <ol-vin@mail.ru>, 2018. -# Богдан Матвіїв <bomtvv@gmail.com>, 2019. +# Богдан Матвіїв <bomtvv@gmail.com>, 2019, 2022. # Tymofij Lytvynenko <till.svit@gmail.com>, 2020, 2021. # Vladislav Glinsky <cl0ne@mithril.org.ua>, 2020. # Микола Тимошенко <9081@ukr.net>, 2020. @@ -29,7 +29,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: 2022-07-26 01:55+0000\n" +"PO-Revision-Date: 2022-08-25 13:04+0000\n" "Last-Translator: Artem <artem@molotov.work>\n" "Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/" "godot/uk/>\n" @@ -412,9 +412,8 @@ msgid "Command" msgstr "Команда" #: core/os/input_event.cpp -#, fuzzy msgid "Physical" -msgstr " (фізичний)" +msgstr "Фізичний" #: core/os/input_event.cpp scene/2d/touch_screen_button.cpp #: scene/gui/base_button.cpp scene/gui/texture_button.cpp @@ -469,7 +468,7 @@ msgstr "Тиск" #: core/os/input_event.cpp #, fuzzy msgid "Pen Inverted" -msgstr "Інвертувати" +msgstr "Перо перевернуте" #: core/os/input_event.cpp msgid "Relative" @@ -2757,9 +2756,8 @@ msgid "Project export for platform:" msgstr "Експортування проєкту для платформи:" #: editor/editor_export.cpp -#, fuzzy msgid "Completed with warnings." -msgstr "Завершено з помилками." +msgstr "Завершено з попередженнями." #: editor/editor_export.cpp msgid "Completed successfully." @@ -4492,6 +4490,7 @@ msgstr "Різні проєктні або сценографічні інстр #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Проєкт" @@ -4635,7 +4634,7 @@ msgid "" msgstr "" "Якщо цей параметр увімкнено, будь-які зміни, внесені у сцену в редакторі, " "будуть відтворені у запущеному проєкті.\n" -"При віддаленому використанні на пристрої, це більш ефективно з мережевою " +"При віддаленому використанні на пристрої, це ефективніше з мережевою " "файловою системою." #: editor/editor_node.cpp @@ -4651,7 +4650,7 @@ msgid "" msgstr "" "Якщо цей параметр увімкнено, будь-який скрипт, який буде збережено, буде " "перезавантажено у запущеному проєкті.\n" -"При віддаленому використанні на пристрої, це більш ефективно з мережевою " +"При віддаленому використанні на пристрої, це ефективніше з мережевою " "файловою системою." #: editor/editor_node.cpp @@ -5499,11 +5498,12 @@ msgstr "Додаткові кнопки миші для навігації жу #: editor/editor_settings.cpp #, fuzzy msgid "Drag And Drop Selection" -msgstr "Вибір GridMap" +msgstr "Перетягніть виділення" #: editor/editor_settings.cpp +#, fuzzy msgid "Stay In Script Editor On Node Selected" -msgstr "" +msgstr "Залишитися в редакторі скриптів на вибраному вузлі" #: editor/editor_settings.cpp msgid "Appearance" @@ -7269,7 +7269,8 @@ msgid "8 Bit" msgstr "8-бітова" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "Моно" @@ -9366,7 +9367,7 @@ msgstr "Плаский 0" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat 1" -msgstr "Площина 1" +msgstr "Плоский 1" #: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp msgid "Ease In" @@ -11618,9 +11619,8 @@ msgid "New Animation" msgstr "Нова анімація" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Filter animations" -msgstr "Фільтрувати методи" +msgstr "Фільтрувати анімації" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed:" @@ -15270,16 +15270,19 @@ msgstr "" msgid "Make Local" msgstr "Зробити локальним" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "Цю унікальну назву у сцені вже використано іншим вузлом." - #: editor/scene_tree_dock.cpp -msgid "Enable Scene Unique Name" +#, fuzzy +msgid "Enable Scene Unique Name(s)" msgstr "Увімкнути унікальну назву сцени" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Disable Scene Unique Name" +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Unique names already used by another node in the scene:" +msgstr "Цю унікальну назву у сцені вже використано іншим вузлом." + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Вимкнути унікальна назва сцени" #: editor/scene_tree_dock.cpp @@ -15480,6 +15483,10 @@ msgid "Button Group" msgstr "Група кнопок" #: editor/scene_tree_editor.cpp +msgid "Disable Scene Unique Name" +msgstr "Вимкнути унікальна назва сцени" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(Джерело з'єднання)" @@ -15558,6 +15565,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "Некоректна назва вузла. Не можна використовувати такі символи:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "Цю унікальну назву у сцені вже використано іншим вузлом." + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "Перейменувати вузол" @@ -16837,12 +16848,14 @@ msgid "Sparse Indices Component Type" msgstr "Тип компонентів індексів розсіювання" #: modules/gltf/gltf_accessor.cpp +#, fuzzy msgid "Sparse Values Buffer View" -msgstr "" +msgstr "Буферне подання розріджених значень" #: modules/gltf/gltf_accessor.cpp +#, fuzzy msgid "Sparse Values Byte Offset" -msgstr "" +msgstr "Зміщення байтів розріджених значень" #: modules/gltf/gltf_buffer_view.cpp msgid "Buffer" @@ -16854,7 +16867,7 @@ msgstr "Байтова довжина" #: modules/gltf/gltf_buffer_view.cpp msgid "Byte Stride" -msgstr "" +msgstr "Байтовий крок" #: modules/gltf/gltf_buffer_view.cpp msgid "Indices" @@ -16953,8 +16966,9 @@ msgid "Joints Original" msgstr "Початок з'єднання" #: modules/gltf/gltf_skin.cpp +#, fuzzy msgid "Inverse Binds" -msgstr "" +msgstr "Зворотні зв'язки" #: modules/gltf/gltf_skin.cpp msgid "Non Joints" @@ -17340,6 +17354,21 @@ msgstr "Зібрати рішення" msgid "Auto Update Project" msgstr "Проєкт без назви" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Показана назва" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Виберіть каталог" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Виберіть каталог" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "Кінець трасування стека для внутрішнього виключення" @@ -19132,6 +19161,11 @@ msgstr "Нетиповий колір тла" msgid "Custom BG Color" msgstr "Нетиповий колір тла" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Експортування піктограми" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -19984,6 +20018,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "Некоректна скорочена назва пакунка." @@ -20218,7 +20258,7 @@ msgstr "" #: platform/windows/export/export.cpp msgid "Windows" -msgstr "Вікна" +msgstr "Windows" #: platform/windows/export/export.cpp msgid "Rcedit" @@ -25748,7 +25788,7 @@ msgstr "7" #: scene/resources/environment.cpp msgid "Bloom" -msgstr "Цвітіння" +msgstr "Світіння" #: scene/resources/environment.cpp msgid "HDR Threshold" diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po index a428250cc7..d09218a600 100644 --- a/editor/translations/ur_PK.po +++ b/editor/translations/ur_PK.po @@ -4449,6 +4449,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "" @@ -7232,7 +7233,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15193,18 +15195,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "ریموٹ " -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "ریموٹ " #: editor/scene_tree_dock.cpp @@ -15404,6 +15406,11 @@ msgstr "" #: editor/scene_tree_editor.cpp #, fuzzy +msgid "Disable Scene Unique Name" +msgstr "ریموٹ " + +#: editor/scene_tree_editor.cpp +#, fuzzy msgid "(Connecting From)" msgstr ".تمام کا انتخاب" @@ -15468,6 +15475,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -17334,6 +17345,20 @@ msgstr ".تمام کا انتخاب" msgid "Auto Update Project" msgstr ".تمام کا انتخاب" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "ایکشن منتقل کریں" + +#: modules/mono/godotsharp_dirs.cpp +msgid "Solution Directory" +msgstr "" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "سب سکریپشن بنائیں" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -19109,6 +19134,11 @@ msgstr "ایکشن منتقل کریں" msgid "Custom BG Color" msgstr "ایکشن منتقل کریں" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr ".سپورٹ" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -19931,6 +19961,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "" diff --git a/editor/translations/vi.po b/editor/translations/vi.po index 0a6885872f..2a0fadcf9f 100644 --- a/editor/translations/vi.po +++ b/editor/translations/vi.po @@ -21,13 +21,14 @@ # IoeCmcomc <hopdaigia2004@gmail.com>, 2021, 2022. # Hung <hungthitkhia@gmail.com>, 2021. # Paweł Fertyk <pfertyk@pfertyk.me>, 2022. +# MInhTriet <luckyblockblack@gmail.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-05-10 13:14+0000\n" -"Last-Translator: Paweł Fertyk <pfertyk@pfertyk.me>\n" +"PO-Revision-Date: 2022-08-17 18:20+0000\n" +"Last-Translator: MInhTriet <luckyblockblack@gmail.com>\n" "Language-Team: Vietnamese <https://hosted.weblate.org/projects/godot-engine/" "godot/vi/>\n" "Language: vi\n" @@ -35,44 +36,44 @@ 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.12.1\n" +"X-Generator: Weblate 4.14-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" -msgstr "" +msgstr "Trình điều khiển màn hình" #: core/bind/core_bind.cpp msgid "Clipboard" -msgstr "Bảng tạm" +msgstr "Bộ nhớ tạm" #: core/bind/core_bind.cpp msgid "Current Screen" -msgstr "Màn hình hiện tại" +msgstr "Màn hình hiện có" #: core/bind/core_bind.cpp msgid "Exit Code" -msgstr "Mã thoát" +msgstr "Mã lỗi" #: core/bind/core_bind.cpp msgid "V-Sync Enabled" -msgstr "Sử dụng V-Sync" +msgstr "V-sync Enabled" #: core/bind/core_bind.cpp main/main.cpp msgid "V-Sync Via Compositor" -msgstr "" +msgstr "V-Sync thông qua Compositor" #: core/bind/core_bind.cpp main/main.cpp +#, fuzzy msgid "Delta Smoothing" -msgstr "Làm mượt delta" +msgstr "Delta smoothing" #: core/bind/core_bind.cpp -#, fuzzy msgid "Low Processor Usage Mode" -msgstr "Chế độ Di chuyển" +msgstr "Chế độ tiết kiệm của bộ vi xử lý" #: core/bind/core_bind.cpp msgid "Low Processor Usage Mode Sleep (µsec)" -msgstr "" +msgstr "Chế độ tiết kiệm năng lượng bộ vi xử lý (tính bằng µsec)" #: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp msgid "Keep Screen On" @@ -80,11 +81,11 @@ msgstr "Giữ màn hình mở" #: core/bind/core_bind.cpp msgid "Min Window Size" -msgstr "Cỡ cửa sổ tối thiểu" +msgstr "Kính cỡ nhỏ nhất của màn hình" #: core/bind/core_bind.cpp msgid "Max Window Size" -msgstr "Cỡ cửa sổ tối đa" +msgstr "Kích cỡ tối đa của màn hình" #: core/bind/core_bind.cpp msgid "Screen Orientation" @@ -97,11 +98,11 @@ msgstr "Cửa sổ" #: core/bind/core_bind.cpp core/project_settings.cpp msgid "Borderless" -msgstr "Tràn viền" +msgstr "Không có viền cửa sổ" #: core/bind/core_bind.cpp msgid "Per Pixel Transparency Enabled" -msgstr "Bật độ trong suốt mỗi điểm ảnh" +msgstr "Chế độ trong suốt từng pixel đã được bật" #: core/bind/core_bind.cpp core/project_settings.cpp msgid "Fullscreen" @@ -109,11 +110,11 @@ msgstr "Toàn màn hình" #: core/bind/core_bind.cpp msgid "Maximized" -msgstr "Đã cực đại hoá" +msgstr "Đã phóng to" #: core/bind/core_bind.cpp msgid "Minimized" -msgstr "Đã cực tiểu hoá" +msgstr "Đã thu nhỏ" #: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp #: scene/gui/graph_node.cpp @@ -142,7 +143,7 @@ msgstr "Kích thước" #: core/bind/core_bind.cpp msgid "Endian Swap" -msgstr "" +msgstr "Hoán đổi endian" #: core/bind/core_bind.cpp msgid "Editor Hint" @@ -158,7 +159,7 @@ msgstr "Số lần lặp mỗi giây" #: core/bind/core_bind.cpp msgid "Target FPS" -msgstr "FPS mục tiêu:" +msgstr "FPS cần đạt tới" #: core/bind/core_bind.cpp #, fuzzy @@ -4516,6 +4517,7 @@ msgstr "Dự án ngoài lề hoặc các công cụ toàn phân cảnh." #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "Dự Án" @@ -7393,7 +7395,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15491,18 +15494,19 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Tên Node:" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Unique names already used by another node in the scene:" +msgstr "Tên đã được sử dụng bởi func/var/signal khác:" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "Tên Node:" #: editor/scene_tree_dock.cpp @@ -15705,6 +15709,11 @@ msgstr "Thêm vào Nhóm" #: editor/scene_tree_editor.cpp #, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Tên Node:" + +#: editor/scene_tree_editor.cpp +#, fuzzy msgid "(Connecting From)" msgstr "Kết nối bị lỗi" @@ -15780,6 +15789,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "Tên nút không hợp lệ, các ký tự sau bị cấm:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "Đổi tên nút" @@ -17713,6 +17726,21 @@ msgstr "Chọn tất cả" msgid "Auto Update Project" msgstr "Dự án không tên" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "Hiển thị tất cả" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "Chọn một Thư mục" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "Chọn một Thư mục" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -19579,6 +19607,11 @@ msgstr "Cắt các nút" msgid "Custom BG Color" msgstr "Cắt các nút" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "Mở rộng Tất cả" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20436,6 +20469,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "Gói có tên ngắn không hợp lệ." diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po index f25a372128..86a37e167f 100644 --- a/editor/translations/zh_CN.po +++ b/editor/translations/zh_CN.po @@ -89,7 +89,7 @@ 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: 2022-07-29 01:36+0000\n" +"PO-Revision-Date: 2022-08-25 13:04+0000\n" "Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n" "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hans/>\n" @@ -2791,9 +2791,8 @@ msgid "Project export for platform:" msgstr "针对平台导出项目:" #: editor/editor_export.cpp -#, fuzzy msgid "Completed with warnings." -msgstr "已完成,存在错误。" +msgstr "已完成,存在警告。" #: editor/editor_export.cpp msgid "Completed successfully." @@ -4466,6 +4465,7 @@ msgstr "其他项目或全场景工具。" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "项目" @@ -7189,7 +7189,8 @@ msgid "8 Bit" msgstr "8 位" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "Mono" @@ -15020,16 +15021,19 @@ msgstr "" msgid "Make Local" msgstr "转为本地" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "该场景中已有使用该唯一名称的节点。" - #: editor/scene_tree_dock.cpp -msgid "Enable Scene Unique Name" +#, fuzzy +msgid "Enable Scene Unique Name(s)" msgstr "启用场景唯一名称" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Disable Scene Unique Name" +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Unique names already used by another node in the scene:" +msgstr "该场景中已有使用该唯一名称的节点。" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "禁用场景唯一名称" #: editor/scene_tree_dock.cpp @@ -15223,6 +15227,10 @@ msgid "Button Group" msgstr "按钮组" #: editor/scene_tree_editor.cpp +msgid "Disable Scene Unique Name" +msgstr "禁用场景唯一名称" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(连接来源)" @@ -15300,6 +15308,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "节点名称无效,不允许包含以下字符:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "该场景中已有使用该唯一名称的节点。" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "重命名节点" @@ -17073,6 +17085,21 @@ msgstr "构建解决方案" msgid "Auto Update Project" msgstr "自动更新项目" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "显示名称" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "选择目录" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "选择目录" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "内部异常堆栈追朔结束" @@ -18773,6 +18800,11 @@ msgstr "使用自定义背景色" msgid "Custom BG Color" msgstr "自定义背景色" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "导出图标" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp msgid "Prepare Templates" @@ -19557,6 +19589,12 @@ msgid "Show Name On Square 310 X 310" msgstr "在正方形 310×310 上显示名称" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "无效的包短名称。" @@ -19681,21 +19719,17 @@ msgid "Could not find wine executable at \"%s\"." msgstr "无法在“%s”找到 wine 可执行文件。" #: platform/windows/export/export.cpp -#, fuzzy msgid "" "Could not start rcedit executable. Configure rcedit path in the Editor " "Settings (Export > Windows > Rcedit), or disable \"Application > Modify " "Resources\" in the export preset." msgstr "" -"无法启动 rcedit 可执行文件,请在编辑器设置中配置 rcedit 路径(导出 > Windows " -"> Rcedit)。" +"无法启动 rcedit 可执行文件。请在编辑器设置中配置 rcedit 路径(导出 > Windows " +"> Rcedit),或在导出预设中禁用“应用 > 修改资源”。" #: platform/windows/export/export.cpp -#, fuzzy msgid "rcedit failed to modify executable: %s." -msgstr "" -"rcedit 修改可执行文件失败:\n" -"%s" +msgstr "rcedit 修改可执行文件失败:%s。" #: platform/windows/export/export.cpp msgid "Could not find signtool executable at \"%s\"." @@ -19714,21 +19748,17 @@ msgid "Invalid timestamp server." msgstr "时间戳服务器无效。" #: platform/windows/export/export.cpp -#, fuzzy msgid "" "Could not start signtool executable. Configure signtool path in the Editor " "Settings (Export > Windows > Signtool), or disable \"Codesign\" in the " "export preset." msgstr "" -"无法启动 signtool 可执行文件,请在编辑器设置中配置 signtool 路径(导出 > " -"Windows > Signtool)。" +"无法启动 signtool 可执行文件。请在编辑器设置中配置 signtool 路径(导出 > " +"Windows > Signtool),或在导出预设中禁用“代码签名”。" #: platform/windows/export/export.cpp -#, fuzzy msgid "Signtool failed to sign executable: %s." -msgstr "" -"Signtool 签名可执行文件失败:\n" -"%s" +msgstr "Signtool 签名可执行文件失败:%s。" #: platform/windows/export/export.cpp msgid "Failed to remove temporary file \"%s\"." @@ -21505,7 +21535,7 @@ msgstr "ConcavePolygonShape 只支持静态模式下的 RigidBody。" #: scene/3d/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." -msgstr "无物可见,因为没有指定网格。" +msgstr "未指定网格,无可见内容。" #: scene/3d/cpu_particles.cpp msgid "" @@ -23470,7 +23500,7 @@ msgstr "最小值" #: scene/gui/range.cpp scene/resources/curve.cpp msgid "Max Value" -msgstr "最大之" +msgstr "最大值" #: scene/gui/range.cpp msgid "Page" @@ -23486,11 +23516,11 @@ msgstr "舍入" #: scene/gui/range.cpp msgid "Allow Greater" -msgstr "允许更多" +msgstr "允许更大" #: scene/gui/range.cpp msgid "Allow Lesser" -msgstr "允许更少" +msgstr "允许更小" #: scene/gui/reference_rect.cpp msgid "Border Color" @@ -25296,11 +25326,11 @@ msgstr "公告板保持缩放" #: scene/resources/material.cpp msgid "Grow" -msgstr "发光" +msgstr "生长" #: scene/resources/material.cpp msgid "Grow Amount" -msgstr "发光量" +msgstr "生长量" #: scene/resources/material.cpp msgid "Use Alpha Scissor" diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po index 79760d0de7..f8529ea3ca 100644 --- a/editor/translations/zh_HK.po +++ b/editor/translations/zh_HK.po @@ -4,13 +4,14 @@ # 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. +# Peppa Pig <hansongming88@gmail.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-05-01 11:43+0000\n" -"Last-Translator: zx-wt <ZX_WT@ymail.com>\n" +"PO-Revision-Date: 2022-08-23 03:39+0000\n" +"Last-Translator: Peppa Pig <hansongming88@gmail.com>\n" "Language-Team: Chinese (Traditional, Hong Kong) <https://hosted.weblate.org/" "projects/godot-engine/godot/zh_Hant_HK/>\n" "Language: zh_HK\n" @@ -18,7 +19,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.0.2\n" +"X-Generator: Weblate 4.14-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" @@ -36,7 +37,7 @@ msgstr "未儲存當前場景。仍要開啟?" #: core/bind/core_bind.cpp msgid "Exit Code" -msgstr "" +msgstr "退出码" #: core/bind/core_bind.cpp #, fuzzy @@ -4660,6 +4661,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "專案" @@ -7583,7 +7585,8 @@ msgid "8 Bit" msgstr "" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "" @@ -15840,18 +15843,18 @@ msgstr "" msgid "Make Local" msgstr "" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "" - #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Enable Scene Unique Name" +msgid "Enable Scene Unique Name(s)" msgstr "Node名稱" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Unique names already used by another node in the scene:" +msgstr "" + +#: editor/scene_tree_dock.cpp #, fuzzy -msgid "Disable Scene Unique Name" +msgid "Disable Scene Unique Name(s)" msgstr "Node名稱" #: editor/scene_tree_dock.cpp @@ -16061,6 +16064,11 @@ msgstr "按鍵" #: editor/scene_tree_editor.cpp #, fuzzy +msgid "Disable Scene Unique Name" +msgstr "Node名稱" + +#: editor/scene_tree_editor.cpp +#, fuzzy msgid "(Connecting From)" msgstr "連到..." @@ -16125,6 +16133,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "" @@ -18052,6 +18064,21 @@ msgstr "所有選項" msgid "Auto Update Project" msgstr "專案" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "全部取代" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "選擇資料夾" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "選擇資料夾" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "" @@ -19877,6 +19904,11 @@ msgstr "貼上" msgid "Custom BG Color" msgstr "貼上" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "全部展開" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -20725,6 +20757,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid package short name." msgstr "無效名稱" diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po index 8ad86d4b2a..994c49156e 100644 --- a/editor/translations/zh_TW.po +++ b/editor/translations/zh_TW.po @@ -36,13 +36,14 @@ # 菘菘 <rrt467778@gmail.com>, 2022. # marktwtn <marktwtn@gmail.com>, 2022. # Shi-Xun Hong <jimmy3421@gmail.com>, 2022. +# Hugel <qihu@nfschina.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-07-31 18:34+0000\n" -"Last-Translator: BinotaLIU <me@binota.org>\n" +"PO-Revision-Date: 2022-09-07 06:16+0000\n" +"Last-Translator: Chia-Hsiang Cheng <cche0109@student.monash.edu>\n" "Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hant/>\n" "Language: zh_TW\n" @@ -50,7 +51,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.14-dev\n" +"X-Generator: Weblate 4.14.1-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" @@ -2743,9 +2744,8 @@ msgid "Project export for platform:" msgstr "專案匯出平台:" #: editor/editor_export.cpp -#, fuzzy msgid "Completed with warnings." -msgstr "已完成,存在錯誤。" +msgstr "完成並帶有警告。" #: editor/editor_export.cpp msgid "Completed successfully." @@ -4147,7 +4147,7 @@ msgstr "刪除配置" #: editor/editor_node.cpp editor/import_dock.cpp #: editor/script_create_dialog.cpp msgid "Default" -msgstr "預設" +msgstr "默認" #: editor/editor_node.cpp editor/editor_resource_picker.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp @@ -4420,6 +4420,7 @@ msgstr "其他專案或全場景共通工具。" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp modules/mono/editor/csharp_project.cpp +#: modules/mono/godotsharp_dirs.cpp msgid "Project" msgstr "專案" @@ -7142,7 +7143,8 @@ msgid "8 Bit" msgstr "8位元組" #: editor/import/resource_importer_wav.cpp main/main.cpp -#: modules/mono/editor/csharp_project.cpp modules/mono/mono_gd/gd_mono.cpp +#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp +#: modules/mono/mono_gd/gd_mono.cpp msgid "Mono" msgstr "Mono" @@ -14973,16 +14975,19 @@ msgstr "" msgid "Make Local" msgstr "轉為本地" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Another node already uses this unique name in the scene." -msgstr "另一個節點已在該場景中使用了這個不可重複的名稱。" - #: editor/scene_tree_dock.cpp -msgid "Enable Scene Unique Name" +#, fuzzy +msgid "Enable Scene Unique Name(s)" msgstr "啟用場景獨立名稱" -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Disable Scene Unique Name" +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Unique names already used by another node in the scene:" +msgstr "另一個節點已在該場景中使用了這個不可重複的名稱。" + +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Disable Scene Unique Name(s)" msgstr "停用場景獨立名稱" #: editor/scene_tree_dock.cpp @@ -15176,6 +15181,10 @@ msgid "Button Group" msgstr "按鍵分組" #: editor/scene_tree_editor.cpp +msgid "Disable Scene Unique Name" +msgstr "停用場景獨立名稱" + +#: editor/scene_tree_editor.cpp msgid "(Connecting From)" msgstr "(連接自)" @@ -15253,6 +15262,10 @@ msgid "Invalid node name, the following characters are not allowed:" msgstr "無效的節點名稱,名稱不可包含下列字元:" #: editor/scene_tree_editor.cpp +msgid "Another node already uses this unique name in the scene." +msgstr "另一個節點已在該場景中使用了這個不可重複的名稱。" + +#: editor/scene_tree_editor.cpp msgid "Rename Node" msgstr "重新命名節點" @@ -15669,47 +15682,44 @@ msgid "Navigation Edge Disabled" msgstr "已禁用導航邊界" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Navigation Solid" -msgstr "導航模式" +msgstr "導航實體" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Navigation Solid Disabled" -msgstr "導航模式" +msgstr "停用導航實體" #: editor/spatial_editor_gizmos.cpp msgid "Joint Body A" -msgstr "" +msgstr "關節形體A" #: editor/spatial_editor_gizmos.cpp msgid "Joint Body B" -msgstr "" +msgstr "關節形體B" #: editor/spatial_editor_gizmos.cpp msgid "Room Edge" -msgstr "" +msgstr "空間邊緣" #: editor/spatial_editor_gizmos.cpp msgid "Room Overlap" -msgstr "" +msgstr "空間重疊" #: editor/spatial_editor_gizmos.cpp msgid "Set Room Point Position" msgstr "設定空間控制點位置" #: editor/spatial_editor_gizmos.cpp scene/3d/portal.cpp -#, fuzzy msgid "Portal Margin" -msgstr "設定外邊距" +msgstr "入口邊距" #: editor/spatial_editor_gizmos.cpp msgid "Portal Edge" -msgstr "" +msgstr "入口邊緣" #: editor/spatial_editor_gizmos.cpp msgid "Portal Arrow" -msgstr "" +msgstr "入口箭頭" #: editor/spatial_editor_gizmos.cpp msgid "Set Portal Point Position" @@ -15717,18 +15727,16 @@ msgstr "設定入口控制點位置" #: editor/spatial_editor_gizmos.cpp msgid "Portal Front" -msgstr "" +msgstr "入口正面" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Portal Back" -msgstr "上一頁" +msgstr "入口背面" #: editor/spatial_editor_gizmos.cpp scene/2d/light_occluder_2d.cpp #: scene/2d/tile_map.cpp -#, fuzzy msgid "Occluder" -msgstr "遮擋模式" +msgstr "遮擋器" #: editor/spatial_editor_gizmos.cpp msgid "Set Occluder Sphere Radius" @@ -15739,109 +15747,98 @@ msgid "Set Occluder Sphere Position" msgstr "設定遮擋球體位置" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Set Occluder Polygon Point Position" -msgstr "設定入口控制點位置" +msgstr "設定遮擋器多邊形頂點位置" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Set Occluder Hole Point Position" -msgstr "設定曲線控制點位置" +msgstr "設定遮擋器空洞頂點位置" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Occluder Polygon Front" -msgstr "建立遮光多邊形" +msgstr "遮擋器多邊形正面" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Occluder Polygon Back" -msgstr "建立遮光多邊形" +msgstr "遮擋器多邊形背面" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Occluder Hole" -msgstr "建立遮光多邊形" +msgstr "遮擋器空洞" #: main/main.cpp msgid "Godot Physics" -msgstr "" +msgstr "Godot 物理" #: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp #: servers/visual/visual_server_scene.cpp msgid "Use BVH" -msgstr "" +msgstr "使用 BVH" #: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp #: servers/visual/visual_server_scene.cpp -#, fuzzy msgid "BVH Collision Margin" -msgstr "碰撞模式" +msgstr "BVH 碰撞邊距" #: main/main.cpp -#, fuzzy msgid "Crash Handler" -msgstr "設定處理程式" +msgstr "當機處理常式" #: main/main.cpp -#, fuzzy msgid "Multithreaded Server" -msgstr "多節點組" +msgstr "多執行緒伺服器" #: main/main.cpp msgid "RID Pool Prealloc" -msgstr "" +msgstr "RID集區預配置" #: main/main.cpp -#, fuzzy msgid "Debugger stdout" -msgstr "除錯工具" +msgstr "除錯工具標準輸出" #: main/main.cpp msgid "Max Chars Per Second" -msgstr "" +msgstr "每秒最大字元數" #: main/main.cpp msgid "Max Messages Per Frame" -msgstr "" +msgstr "每影格最大訊息數" #: main/main.cpp msgid "Max Errors Per Second" -msgstr "" +msgstr "每秒最大錯誤數" #: main/main.cpp msgid "Max Warnings Per Second" -msgstr "" +msgstr "每秒最大警告數" #: main/main.cpp msgid "Flush stdout On Print" -msgstr "" +msgstr "列印時刷新標準輸出" #: main/main.cpp servers/visual_server.cpp msgid "Logging" -msgstr "" +msgstr "記錄" #: main/main.cpp msgid "File Logging" -msgstr "" +msgstr "檔案記錄" #: main/main.cpp -#, fuzzy msgid "Enable File Logging" -msgstr "啟用條件篩選" +msgstr "啟用檔案紀錄" #: main/main.cpp -#, fuzzy msgid "Log Path" -msgstr "複製路徑" +msgstr "紀錄路徑" #: main/main.cpp msgid "Max Log Files" -msgstr "" +msgstr "最大紀錄檔案數" #: main/main.cpp msgid "Driver" -msgstr "" +msgstr "驅動程式" #: main/main.cpp msgid "Driver Name" @@ -15849,85 +15846,77 @@ msgstr "驅動名稱" #: main/main.cpp msgid "Fallback To GLES2" -msgstr "" +msgstr "回降至 GLES2" #: main/main.cpp msgid "Use Nvidia Rect Flicker Workaround" -msgstr "" +msgstr "使用Nvidia Rect閃爍解決方法" #: main/main.cpp msgid "DPI" -msgstr "" +msgstr "DPI" #: main/main.cpp msgid "Allow hiDPI" -msgstr "" +msgstr "允許 hiDPI" #: main/main.cpp -#, fuzzy msgid "V-Sync" -msgstr "同步" +msgstr "垂直同步" #: main/main.cpp -#, fuzzy msgid "Use V-Sync" -msgstr "使用吸附" +msgstr "使用垂直同步" #: main/main.cpp msgid "Per Pixel Transparency" -msgstr "" +msgstr "每像素透明度" #: main/main.cpp msgid "Allowed" -msgstr "" +msgstr "允許" #: main/main.cpp msgid "Intended Usage" -msgstr "" +msgstr "預期用途" #: main/main.cpp -#, fuzzy msgid "Framebuffer Allocation" -msgstr "完整顯示所選" +msgstr "影格緩衝區分配" #: main/main.cpp platform/uwp/os_uwp.cpp -#, fuzzy msgid "Energy Saving" -msgstr "保存時發生錯誤" +msgstr "節能" #: main/main.cpp msgid "Threads" -msgstr "" +msgstr "執行緒" #: main/main.cpp servers/physics_2d/physics_2d_server_wrap_mt.h -#, fuzzy msgid "Thread Model" -msgstr "切換模式" +msgstr "執行緒模型" #: main/main.cpp msgid "Thread Safe BVH" -msgstr "" +msgstr "執行緒安全 BVH" #: main/main.cpp msgid "Handheld" -msgstr "" +msgstr "攜帶型" #: main/main.cpp platform/javascript/export/export.cpp #: platform/uwp/export/export.cpp -#, fuzzy msgid "Orientation" -msgstr "線上說明文件" +msgstr "方向" #: main/main.cpp scene/gui/scroll_container.cpp scene/gui/text_edit.cpp #: scene/main/scene_tree.cpp scene/register_scene_types.cpp -#, fuzzy msgid "Common" -msgstr "社群" +msgstr "常見" #: main/main.cpp -#, fuzzy msgid "Physics FPS" -msgstr "物理影格 %" +msgstr "物理 FPS" #: main/main.cpp msgid "Force FPS" @@ -15935,87 +15924,81 @@ msgstr "強制 FPS" #: main/main.cpp msgid "Enable Pause Aware Picking" -msgstr "" +msgstr "啟用暫停感知拾取" #: main/main.cpp scene/gui/item_list.cpp scene/gui/popup_menu.cpp #: scene/gui/scroll_container.cpp scene/gui/text_edit.cpp scene/gui/tree.cpp #: scene/main/viewport.cpp scene/register_scene_types.cpp msgid "GUI" -msgstr "" +msgstr "圖形使用者介面" #: main/main.cpp msgid "Drop Mouse On GUI Input Disabled" -msgstr "" +msgstr "停用 GUI 輸入時釋放滑鼠鍵" #: main/main.cpp msgid "stdout" -msgstr "" +msgstr "標準輸出" #: main/main.cpp msgid "Print FPS" -msgstr "" +msgstr "列印 FPS" #: main/main.cpp msgid "Verbose stdout" -msgstr "" +msgstr "詳細標準輸出" #: main/main.cpp scene/main/scene_tree.cpp scene/resources/multimesh.cpp -#, fuzzy msgid "Physics Interpolation" -msgstr "插值模式" +msgstr "物理插值" #: main/main.cpp -#, fuzzy msgid "Enable Warnings" -msgstr "啟用條件篩選" +msgstr "啟用警告" #: main/main.cpp -#, fuzzy msgid "Frame Delay Msec" -msgstr "完整顯示所選" +msgstr "影格延遲毫秒" #: main/main.cpp msgid "Low Processor Mode" -msgstr "" +msgstr "低處理器模式" #: main/main.cpp msgid "Delta Sync After Draw" -msgstr "" +msgstr "繪製後的差量同步" #: main/main.cpp msgid "iOS" -msgstr "" +msgstr "iOS" #: main/main.cpp msgid "Hide Home Indicator" -msgstr "" +msgstr "隱藏 Home 橫條" #: main/main.cpp -#, fuzzy msgid "Input Devices" -msgstr "所有裝置" +msgstr "輸入裝置" #: main/main.cpp -#, fuzzy msgid "Pointing" -msgstr "點" +msgstr "指點" #: main/main.cpp msgid "Touch Delay" -msgstr "" +msgstr "觸控延遲" #: main/main.cpp servers/visual_server.cpp msgid "GLES3" -msgstr "" +msgstr "GLES3" #: main/main.cpp servers/visual_server.cpp -#, fuzzy msgid "Shaders" msgstr "著色器" #: main/main.cpp msgid "Debug Shader Fallbacks" -msgstr "" +msgstr "偵錯著色器後備" #: main/main.cpp scene/3d/baked_lightmap.cpp scene/3d/camera.cpp #: scene/3d/world_environment.cpp scene/main/scene_tree.cpp @@ -16025,86 +16008,79 @@ msgstr "環境" #: main/main.cpp msgid "Default Clear Color" -msgstr "" +msgstr "預設清除顏色" #: main/main.cpp msgid "Boot Splash" -msgstr "" +msgstr "啟動畫面" #: main/main.cpp -#, fuzzy msgid "Show Image" -msgstr "顯示骨骼" +msgstr "顯示圖像" #: main/main.cpp msgid "Image" -msgstr "" +msgstr "圖像" #: main/main.cpp msgid "Fullsize" -msgstr "" +msgstr "全尺寸" #: main/main.cpp scene/resources/dynamic_font.cpp msgid "Use Filter" msgstr "使用篩選器" #: main/main.cpp scene/resources/style_box.cpp -#, fuzzy msgid "BG Color" -msgstr "顏色" +msgstr "背景顏色" #: main/main.cpp -#, fuzzy msgid "macOS Native Icon" -msgstr "設定圖塊圖示" +msgstr "macOS 原生圖標" #: main/main.cpp msgid "Windows Native Icon" -msgstr "" +msgstr "Windows 原生圖標" #: main/main.cpp msgid "Buffering" -msgstr "" +msgstr "緩衝" #: main/main.cpp msgid "Agile Event Flushing" -msgstr "" +msgstr "敏捷事件刷新" #: main/main.cpp msgid "Emulate Touch From Mouse" -msgstr "" +msgstr "以滑鼠模擬觸控" #: main/main.cpp msgid "Emulate Mouse From Touch" -msgstr "" +msgstr "以觸控模擬滑鼠" #: main/main.cpp -#, fuzzy msgid "Mouse Cursor" -msgstr "滑鼠按鈕" +msgstr "滑鼠游標" #: main/main.cpp -#, fuzzy msgid "Custom Image" -msgstr "剪下節點" +msgstr "自定義圖像" #: main/main.cpp msgid "Custom Image Hotspot" -msgstr "" +msgstr "自定義圖像熱點" #: main/main.cpp msgid "Tooltip Position Offset" msgstr "工具提示位置偏移" #: main/main.cpp modules/mono/mono_gd/gd_mono.cpp -#, fuzzy msgid "Debugger Agent" -msgstr "除錯工具" +msgstr "除錯工具代理" #: main/main.cpp modules/mono/mono_gd/gd_mono.cpp -#, fuzzy msgid "Wait For Debugger" -msgstr "除錯工具" +msgstr "等待除錯工具" #: main/main.cpp modules/mono/mono_gd/gd_mono.cpp msgid "Wait Timeout" @@ -16112,60 +16088,58 @@ msgstr "等待逾時" #: main/main.cpp msgid "Runtime" -msgstr "" +msgstr "執行階段" #: main/main.cpp msgid "Unhandled Exception Policy" -msgstr "" +msgstr "未處理的例外方針" #: main/main.cpp -#, fuzzy msgid "Main Loop Type" -msgstr "尋找節點型別" +msgstr "主迴圈類型" #: main/main.cpp scene/gui/texture_progress.cpp #: scene/gui/viewport_container.cpp msgid "Stretch" -msgstr "" +msgstr "伸縮" #: main/main.cpp -#, fuzzy msgid "Aspect" -msgstr "屬性面板" +msgstr "方位" #: main/main.cpp msgid "Shrink" -msgstr "" +msgstr "收縮" #: main/main.cpp scene/main/scene_tree.cpp msgid "Auto Accept Quit" -msgstr "" +msgstr "自動接受退出" #: main/main.cpp scene/main/scene_tree.cpp -#, fuzzy msgid "Quit On Go Back" -msgstr "上一頁" +msgstr "返回時退出" #: main/main.cpp scene/main/viewport.cpp #, fuzzy msgid "Snap Controls To Pixels" -msgstr "吸附至節點側邊" +msgstr "吸附控制至像素" #: main/main.cpp msgid "Dynamic Fonts" -msgstr "" +msgstr "動態字體" #: main/main.cpp msgid "Use Oversampling" -msgstr "" +msgstr "使用過取樣" #: modules/bullet/register_types.cpp modules/bullet/space_bullet.cpp +#, fuzzy msgid "Active Soft World" -msgstr "" +msgstr "當前軟世界" #: modules/csg/csg_gizmos.cpp msgid "CSG" -msgstr "" +msgstr "CSG" #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" @@ -16184,35 +16158,30 @@ msgid "Change Torus Outer Radius" msgstr "更改環面外半徑" #: modules/csg/csg_shape.cpp -#, fuzzy msgid "Operation" -msgstr "選項" +msgstr "操作" #: modules/csg/csg_shape.cpp msgid "Calculate Tangents" -msgstr "" +msgstr "計算切線" #: modules/csg/csg_shape.cpp -#, fuzzy msgid "Use Collision" -msgstr "碰撞" +msgstr "使用碰撞" #: modules/csg/csg_shape.cpp servers/physics_2d_server.cpp -#, fuzzy msgid "Collision Layer" -msgstr "碰撞模式" +msgstr "碰撞層" #: modules/csg/csg_shape.cpp scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp #: scene/3d/ray_cast.cpp scene/3d/spring_arm.cpp #: scene/resources/navigation_mesh.cpp servers/physics_server.cpp -#, fuzzy msgid "Collision Mask" -msgstr "碰撞模式" +msgstr "碰撞遮罩" #: modules/csg/csg_shape.cpp -#, fuzzy msgid "Invert Faces" -msgstr "轉換大小寫" +msgstr "反轉表面" #: modules/csg/csg_shape.cpp scene/2d/navigation_agent_2d.cpp #: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_agent.cpp @@ -16230,84 +16199,74 @@ msgid "Radial Segments" msgstr "徑向段數" #: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp -#, fuzzy msgid "Rings" -msgstr "警告" +msgstr "環數" #: modules/csg/csg_shape.cpp -#, fuzzy msgid "Smooth Faces" -msgstr "平滑插值" +msgstr "光滑表面" #: modules/csg/csg_shape.cpp -#, fuzzy msgid "Sides" -msgstr "顯示參考線" +msgstr "邊數" #: modules/csg/csg_shape.cpp msgid "Cone" -msgstr "" +msgstr "錐體" #: modules/csg/csg_shape.cpp -#, fuzzy msgid "Inner Radius" -msgstr "更改環面內半徑" +msgstr "內半徑" #: modules/csg/csg_shape.cpp -#, fuzzy msgid "Outer Radius" -msgstr "更改環面外半徑" +msgstr "外半徑" #: modules/csg/csg_shape.cpp msgid "Ring Sides" -msgstr "" +msgstr "環邊數" #: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp #: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp #: scene/3d/collision_polygon.cpp -#, fuzzy msgid "Polygon" msgstr "多邊形" #: modules/csg/csg_shape.cpp msgid "Spin Degrees" -msgstr "" +msgstr "旋轉度數" #: modules/csg/csg_shape.cpp msgid "Spin Sides" -msgstr "" +msgstr "旋轉邊數" #: modules/csg/csg_shape.cpp -#, fuzzy msgid "Path Node" -msgstr "貼上節點" +msgstr "路徑節點" #: modules/csg/csg_shape.cpp -#, fuzzy msgid "Path Interval Type" -msgstr "建立內部頂點" +msgstr "路徑間隔類型" #: modules/csg/csg_shape.cpp msgid "Path Interval" -msgstr "" +msgstr "路徑間隔" #: modules/csg/csg_shape.cpp msgid "Path Simplify Angle" -msgstr "" +msgstr "路徑簡化角度" #: modules/csg/csg_shape.cpp msgid "Path Rotation" msgstr "路徑旋轉" #: modules/csg/csg_shape.cpp -#, fuzzy msgid "Path Local" -msgstr "轉為本地" +msgstr "路徑本地" #: modules/csg/csg_shape.cpp -#, fuzzy msgid "Path Continuous U" -msgstr "連續" +msgstr "路徑連續 U" #: modules/csg/csg_shape.cpp msgid "Path U Distance" @@ -16318,73 +16277,65 @@ msgid "Path Joined" msgstr "路徑接合" #: modules/enet/networked_multiplayer_enet.cpp -#, fuzzy msgid "Compression Mode" -msgstr "碰撞模式" +msgstr "壓縮模式" #: modules/enet/networked_multiplayer_enet.cpp -#, fuzzy msgid "Transfer Channel" -msgstr "修改變換" +msgstr "傳輸通道" #: modules/enet/networked_multiplayer_enet.cpp -#, fuzzy msgid "Channel Count" -msgstr "實體" +msgstr "通道數" #: modules/enet/networked_multiplayer_enet.cpp -#, fuzzy msgid "Always Ordered" -msgstr "永遠顯示網格" +msgstr "永遠排序" #: modules/enet/networked_multiplayer_enet.cpp msgid "Server Relay" -msgstr "" +msgstr "伺服器中繼" #: modules/enet/networked_multiplayer_enet.cpp msgid "DTLS Verify" -msgstr "" +msgstr "DTLS 驗證" #: modules/enet/networked_multiplayer_enet.cpp msgid "DTLS Hostname" -msgstr "" +msgstr "DTLS 主機名" #: modules/enet/networked_multiplayer_enet.cpp -#, fuzzy msgid "Use DTLS" -msgstr "使用吸附" +msgstr "使用 DTLS" #: modules/fbx/editor_scene_importer_fbx.cpp msgid "FBX" -msgstr "" +msgstr "FBX" #: modules/fbx/editor_scene_importer_fbx.cpp msgid "Use FBX" -msgstr "" +msgstr "使用 FBX" #: modules/gdnative/gdnative.cpp msgid "Config File" msgstr "組態檔案" #: modules/gdnative/gdnative.cpp -#, fuzzy msgid "Load Once" -msgstr "載入資源" +msgstr "載入一次" #: modules/gdnative/gdnative.cpp #: modules/visual_script/visual_script_func_nodes.cpp -#, fuzzy msgid "Singleton" -msgstr "骨架" +msgstr "單例" #: modules/gdnative/gdnative.cpp msgid "Symbol Prefix" msgstr "符號前綴" #: modules/gdnative/gdnative.cpp -#, fuzzy msgid "Reloadable" -msgstr "重新載入" +msgstr "可重新載入" #: modules/gdnative/gdnative.cpp #: modules/gdnative/gdnative_library_singleton_editor.cpp @@ -16449,9 +16400,8 @@ msgid "Script Class" msgstr "腳本類別" #: modules/gdnative/nativescript/nativescript.cpp -#, fuzzy msgid "Icon Path" -msgstr "聚焦路徑" +msgstr "圖示路徑" #: modules/gdnative/register_types.cpp msgid "GDNative" @@ -16459,34 +16409,33 @@ msgstr "GDNative" #: modules/gdscript/editor/gdscript_highlighter.cpp #: modules/gdscript/gdscript.cpp -#, fuzzy msgid "GDScript" -msgstr "腳本" +msgstr "GDScript" #: modules/gdscript/editor/gdscript_highlighter.cpp +#, fuzzy msgid "Function Definition Color" -msgstr "" +msgstr "函數定義顏色" #: modules/gdscript/editor/gdscript_highlighter.cpp -#, fuzzy msgid "Node Path Color" -msgstr "複製節點路徑" +msgstr "節點路徑顏色" #: modules/gdscript/gdscript.cpp modules/visual_script/visual_script.cpp msgid "Max Call Stack" -msgstr "" +msgstr "最大呼叫堆疊" #: modules/gdscript/gdscript.cpp msgid "Treat Warnings As Errors" -msgstr "" +msgstr "將警告視為錯誤" #: modules/gdscript/gdscript.cpp msgid "Exclude Addons" -msgstr "" +msgstr "排除外掛程式" #: modules/gdscript/gdscript.cpp msgid "Autocomplete Setters And Getters" -msgstr "" +msgstr "自動完成 Setters 和 Getters" #: modules/gdscript/gdscript_functions.cpp msgid "Step argument is zero!" @@ -16529,17 +16478,16 @@ msgid "Language Server" msgstr "語言伺服器" #: modules/gdscript/language_server/gdscript_language_server.cpp -#, fuzzy msgid "Enable Smart Resolve" -msgstr "無法解析" +msgstr "啟用智慧解析" #: modules/gdscript/language_server/gdscript_language_server.cpp msgid "Show Native Symbols In Editor" -msgstr "" +msgstr "在編輯器中顯示原生符號" #: modules/gdscript/language_server/gdscript_language_server.cpp msgid "Use Thread" -msgstr "" +msgstr "使用執行緒" #: modules/gltf/editor_scene_exporter_gltf_plugin.cpp msgid "Export Mesh GLTF2" @@ -16550,50 +16498,44 @@ msgid "Export GLTF..." msgstr "匯出GLTF..." #: modules/gltf/gltf_accessor.cpp -#, fuzzy msgid "Buffer View" -msgstr "後視圖" +msgstr "緩衝區視圖" #: modules/gltf/gltf_accessor.cpp modules/gltf/gltf_buffer_view.cpp msgid "Byte Offset" msgstr "字節偏移" #: modules/gltf/gltf_accessor.cpp -#, fuzzy msgid "Component Type" -msgstr "元件" +msgstr "元件類型" #: modules/gltf/gltf_accessor.cpp -#, fuzzy msgid "Normalized" -msgstr "格式" +msgstr "標準化" #: modules/gltf/gltf_accessor.cpp msgid "Count" msgstr "數量" #: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp -#, fuzzy msgid "Min" -msgstr "MiB" +msgstr "最小值" #: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp -#, fuzzy msgid "Max" -msgstr "混合 (Mix)" +msgstr "最大值" #: modules/gltf/gltf_accessor.cpp -#, fuzzy msgid "Sparse Count" -msgstr "實體" +msgstr "稀疏數量" #: modules/gltf/gltf_accessor.cpp msgid "Sparse Indices Buffer View" -msgstr "" +msgstr "稀疏索引緩衝區視圖" #: modules/gltf/gltf_accessor.cpp msgid "Sparse Indices Byte Offset" -msgstr "" +msgstr "稀疏索引位元組偏移" #: modules/gltf/gltf_accessor.cpp msgid "Sparse Indices Component Type" @@ -16601,30 +16543,27 @@ msgstr "稀疏頂點元件型別" #: modules/gltf/gltf_accessor.cpp msgid "Sparse Values Buffer View" -msgstr "" +msgstr "稀疏值緩衝區視圖" #: modules/gltf/gltf_accessor.cpp msgid "Sparse Values Byte Offset" -msgstr "" +msgstr "稀疏值位元組偏移" #: modules/gltf/gltf_buffer_view.cpp -#, fuzzy msgid "Buffer" -msgstr "後視圖" +msgstr "緩衝區" #: modules/gltf/gltf_buffer_view.cpp -#, fuzzy msgid "Byte Length" -msgstr "預設主題" +msgstr "位元組長度" #: modules/gltf/gltf_buffer_view.cpp msgid "Byte Stride" -msgstr "" +msgstr "位元組跨距" #: modules/gltf/gltf_buffer_view.cpp -#, fuzzy msgid "Indices" -msgstr "所有裝置" +msgstr "索引" #: modules/gltf/gltf_camera.cpp msgid "FOV Size" @@ -16632,12 +16571,11 @@ msgstr "FOV 大小" #: modules/gltf/gltf_camera.cpp msgid "Zfar" -msgstr "" +msgstr "Zfar" #: modules/gltf/gltf_camera.cpp -#, fuzzy msgid "Znear" -msgstr "線性" +msgstr "Znear" #: modules/gltf/gltf_light.cpp scene/2d/canvas_modulate.cpp #: scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp scene/2d/polygon_2d.cpp @@ -16647,14 +16585,13 @@ msgstr "線性" #: scene/resources/environment.cpp scene/resources/material.cpp #: scene/resources/particles_material.cpp scene/resources/sky.cpp #: scene/resources/style_box.cpp -#, fuzzy msgid "Color" msgstr "顏色" #: modules/gltf/gltf_light.cpp scene/3d/reflection_probe.cpp #: scene/resources/environment.cpp msgid "Intensity" -msgstr "" +msgstr "強度" #: modules/gltf/gltf_light.cpp scene/2d/light_2d.cpp scene/3d/light.cpp #, fuzzy @@ -16663,11 +16600,11 @@ msgstr "更改" #: modules/gltf/gltf_light.cpp msgid "Inner Cone Angle" -msgstr "" +msgstr "內圓錐角" #: modules/gltf/gltf_light.cpp msgid "Outer Cone Angle" -msgstr "" +msgstr "外圓錐角" #: modules/gltf/gltf_mesh.cpp #, fuzzy @@ -16689,8 +16626,9 @@ msgid "Xform" msgstr "平台" #: modules/gltf/gltf_node.cpp scene/3d/mesh_instance.cpp +#, fuzzy msgid "Skin" -msgstr "" +msgstr "皮膚" #: modules/gltf/gltf_node.cpp scene/3d/spatial.cpp #, fuzzy @@ -16708,12 +16646,14 @@ msgid "Joints" msgstr "點" #: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp +#, fuzzy msgid "Roots" -msgstr "" +msgstr "根" #: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_state.cpp +#, fuzzy msgid "Unique Names" -msgstr "" +msgstr "獨立名稱" #: modules/gltf/gltf_skeleton.cpp #, fuzzy @@ -16731,8 +16671,9 @@ msgid "Joints Original" msgstr "聚焦原點" #: modules/gltf/gltf_skin.cpp +#, fuzzy msgid "Inverse Binds" -msgstr "" +msgstr "反轉綁定" #: modules/gltf/gltf_skin.cpp #, fuzzy @@ -16740,40 +16681,47 @@ msgid "Non Joints" msgstr "移動關節" #: modules/gltf/gltf_skin.cpp +#, fuzzy msgid "Joint I To Bone I" -msgstr "" +msgstr "關節 I 至骨骼 I" #: modules/gltf/gltf_skin.cpp +#, fuzzy msgid "Joint I To Name" -msgstr "" +msgstr "關節 I 至名稱" #: modules/gltf/gltf_skin.cpp +#, fuzzy msgid "Godot Skin" -msgstr "" +msgstr "Godot 外觀" #: modules/gltf/gltf_spec_gloss.cpp +#, fuzzy msgid "Diffuse Img" -msgstr "" +msgstr "漫射圖像" #: modules/gltf/gltf_spec_gloss.cpp +#, fuzzy msgid "Diffuse Factor" -msgstr "" +msgstr "漫射係數" #: modules/gltf/gltf_spec_gloss.cpp +#, fuzzy msgid "Gloss Factor" -msgstr "" +msgstr "光澤係數" #: modules/gltf/gltf_spec_gloss.cpp msgid "Specular Factor" msgstr "鏡面反射係數" #: modules/gltf/gltf_spec_gloss.cpp +#, fuzzy msgid "Spec Gloss Img" -msgstr "" +msgstr "規格光澤圖像" #: modules/gltf/gltf_state.cpp msgid "Json" -msgstr "" +msgstr "Json" #: modules/gltf/gltf_state.cpp #, fuzzy @@ -16791,8 +16739,9 @@ msgid "GLB Data" msgstr "包含數據" #: modules/gltf/gltf_state.cpp +#, fuzzy msgid "Use Named Skin Binds" -msgstr "" +msgstr "使用已命名的外觀綁定" #: modules/gltf/gltf_state.cpp #, fuzzy @@ -16801,7 +16750,7 @@ msgstr "後視圖" #: modules/gltf/gltf_state.cpp msgid "Accessors" -msgstr "" +msgstr "存取器" #: modules/gltf/gltf_state.cpp msgid "Scene Name" @@ -16820,11 +16769,11 @@ msgstr "功能" #: modules/gltf/gltf_state.cpp platform/uwp/export/export.cpp msgid "Images" -msgstr "" +msgstr "圖像" #: modules/gltf/gltf_state.cpp msgid "Cameras" -msgstr "" +msgstr "攝影機" #: modules/gltf/gltf_state.cpp servers/visual_server.cpp #, fuzzy @@ -16869,8 +16818,9 @@ msgid "Use In Baked Light" msgstr "烘焙光照圖" #: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp +#, fuzzy msgid "Cell" -msgstr "" +msgstr "單位格" #: modules/gridmap/grid_map.cpp #, fuzzy @@ -16896,7 +16846,7 @@ msgstr "中央" #: scene/2d/tile_map.cpp scene/3d/collision_object.cpp scene/3d/soft_body.cpp #: scene/resources/material.cpp msgid "Mask" -msgstr "" +msgstr "遮罩" #: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp #, fuzzy @@ -17074,19 +17024,19 @@ msgstr "烘焙光照圖" #: modules/lightmapper_cpu/register_types.cpp msgid "Low Quality Ray Count" -msgstr "" +msgstr "低品質射線數" #: modules/lightmapper_cpu/register_types.cpp msgid "Medium Quality Ray Count" -msgstr "" +msgstr "中等品質射線數" #: modules/lightmapper_cpu/register_types.cpp msgid "High Quality Ray Count" -msgstr "" +msgstr "高品質射線數" #: modules/lightmapper_cpu/register_types.cpp msgid "Ultra Quality Ray Count" -msgstr "" +msgstr "超高品量射線數" #: modules/minimp3/audio_stream_mp3.cpp #: modules/minimp3/resource_importer_mp3.cpp @@ -17096,12 +17046,13 @@ msgid "Loop Offset" msgstr "循環偏移" #: modules/mobile_vr/mobile_vr_interface.cpp +#, fuzzy msgid "Eye Height" -msgstr "" +msgstr "眼睛高度" #: modules/mobile_vr/mobile_vr_interface.cpp msgid "IOD" -msgstr "" +msgstr "IOD" #: modules/mobile_vr/mobile_vr_interface.cpp #, fuzzy @@ -17115,15 +17066,15 @@ msgstr "顯示無陰影" #: modules/mobile_vr/mobile_vr_interface.cpp msgid "Oversample" -msgstr "" +msgstr "過取樣" #: modules/mobile_vr/mobile_vr_interface.cpp msgid "K1" -msgstr "" +msgstr "K1" #: modules/mobile_vr/mobile_vr_interface.cpp msgid "K2" -msgstr "" +msgstr "K2" #: modules/mono/csharp_script.cpp msgid "Class name can't be a reserved keyword" @@ -17138,6 +17089,21 @@ msgstr "建構解決方案" msgid "Auto Update Project" msgstr "未命名專案" +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Assembly Name" +msgstr "全部顯示" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "Solution Directory" +msgstr "選擇資料夾" + +#: modules/mono/godotsharp_dirs.cpp +#, fuzzy +msgid "C# Project Directory" +msgstr "選擇資料夾" + #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" msgstr "內部異常堆疊回溯結束" @@ -17209,19 +17175,21 @@ msgstr "完成!" #: modules/opensimplex/noise_texture.cpp msgid "Seamless" -msgstr "" +msgstr "無縫" #: modules/opensimplex/noise_texture.cpp msgid "As Normal Map" msgstr "作為法線貼圖" #: modules/opensimplex/noise_texture.cpp +#, fuzzy msgid "Bump Strength" -msgstr "" +msgstr "凹凸強度" #: modules/opensimplex/noise_texture.cpp +#, fuzzy msgid "Noise" -msgstr "" +msgstr "噪音" #: modules/opensimplex/noise_texture.cpp msgid "Noise Offset" @@ -17229,11 +17197,11 @@ msgstr "噪聲偏移" #: modules/opensimplex/open_simplex_noise.cpp msgid "Octaves" -msgstr "" +msgstr "八度" #: modules/opensimplex/open_simplex_noise.cpp msgid "Period" -msgstr "" +msgstr "週期" #: modules/opensimplex/open_simplex_noise.cpp #, fuzzy @@ -17241,12 +17209,13 @@ msgid "Persistence" msgstr "透視" #: modules/opensimplex/open_simplex_noise.cpp +#, fuzzy msgid "Lacunarity" -msgstr "" +msgstr "空隙性" #: modules/regex/regex.cpp msgid "Subject" -msgstr "" +msgstr "對象" #: modules/regex/regex.cpp #, fuzzy @@ -17258,16 +17227,18 @@ msgid "Strings" msgstr "字串" #: modules/upnp/upnp.cpp +#, fuzzy msgid "Discover Multicast If" -msgstr "" +msgstr "發現多播介面" #: modules/upnp/upnp.cpp +#, fuzzy msgid "Discover Local Port" -msgstr "" +msgstr "發現本地通訊埠" #: modules/upnp/upnp.cpp msgid "Discover IPv6" -msgstr "" +msgstr "DiscoverIPv6" #: modules/upnp/upnp_device.cpp #, fuzzy @@ -17281,7 +17252,7 @@ msgstr "設定變數型別" #: modules/upnp/upnp_device.cpp msgid "IGD Control URL" -msgstr "" +msgstr "IGD 控制 URL" #: modules/upnp/upnp_device.cpp #, fuzzy @@ -17290,7 +17261,7 @@ msgstr "設定變數型別" #: modules/upnp/upnp_device.cpp msgid "IGD Our Addr" -msgstr "" +msgstr "IGD 我方位址" #: modules/upnp/upnp_device.cpp #, fuzzy @@ -17653,7 +17624,7 @@ msgstr "設定表示式" #: modules/visual_script/visual_script_flow_control.cpp msgid "Return" -msgstr "" +msgstr "返回" #: modules/visual_script/visual_script_flow_control.cpp #, fuzzy @@ -17672,24 +17643,27 @@ msgid "Condition" msgstr "動畫" #: modules/visual_script/visual_script_flow_control.cpp +#, fuzzy msgid "if (cond) is:" -msgstr "" +msgstr "如果(cond)是:" #: modules/visual_script/visual_script_flow_control.cpp +#, fuzzy msgid "While" -msgstr "" +msgstr "當" #: modules/visual_script/visual_script_flow_control.cpp +#, fuzzy msgid "while (cond):" -msgstr "" +msgstr "當(cond):" #: modules/visual_script/visual_script_flow_control.cpp msgid "Iterator" -msgstr "" +msgstr "迭代器" #: modules/visual_script/visual_script_flow_control.cpp msgid "for (elem) in (input):" -msgstr "" +msgstr "對每個 (elem) 在 (input) 之中:" #: modules/visual_script/visual_script_flow_control.cpp msgid "Input type not iterable:" @@ -17705,7 +17679,7 @@ msgstr "迭代器無效:" #: modules/visual_script/visual_script_flow_control.cpp msgid "Sequence" -msgstr "" +msgstr "序列" #: modules/visual_script/visual_script_flow_control.cpp #, fuzzy @@ -17723,7 +17697,7 @@ msgstr "切換" #: modules/visual_script/visual_script_flow_control.cpp msgid "'input' is:" -msgstr "" +msgstr "'input' 是:" #: modules/visual_script/visual_script_flow_control.cpp msgid "Type Cast" @@ -17731,7 +17705,7 @@ msgstr "型別轉換" #: modules/visual_script/visual_script_flow_control.cpp msgid "Is %s?" -msgstr "" +msgstr "是 %s?" #: modules/visual_script/visual_script_flow_control.cpp #: modules/visual_script/visual_script_func_nodes.cpp @@ -17741,7 +17715,7 @@ msgstr "新增腳本" #: modules/visual_script/visual_script_func_nodes.cpp msgid "On %s" -msgstr "" +msgstr "在 %s" #: modules/visual_script/visual_script_func_nodes.cpp #, fuzzy @@ -17788,11 +17762,11 @@ msgstr "位於字元 %s" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Multiply %s" -msgstr "" +msgstr "%s 乘以" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Divide %s" -msgstr "" +msgstr "%s 除以" #: modules/visual_script/visual_script_func_nodes.cpp #, fuzzy @@ -17806,7 +17780,7 @@ msgstr "設定 %s" #: modules/visual_script/visual_script_func_nodes.cpp msgid "ShiftRight %s" -msgstr "" +msgstr "將 %s 向右移動" #: modules/visual_script/visual_script_func_nodes.cpp #, fuzzy @@ -17814,12 +17788,14 @@ msgid "BitAnd %s" msgstr "新增 %" #: modules/visual_script/visual_script_func_nodes.cpp +#, fuzzy msgid "BitOr %s" -msgstr "" +msgstr "位元運算 OR %s" #: modules/visual_script/visual_script_func_nodes.cpp +#, fuzzy msgid "BitXor %s" -msgstr "" +msgstr "位元預算 XOR %s" #: modules/visual_script/visual_script_func_nodes.cpp #, fuzzy @@ -17879,7 +17855,7 @@ msgstr "無效的引數:" #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" -msgstr "" +msgstr "如果 cond 則 a ,否則 b" #: modules/visual_script/visual_script_nodes.cpp #, fuzzy @@ -17971,7 +17947,7 @@ msgstr "呼叫" #: modules/visual_script/visual_script_nodes.cpp scene/gui/graph_node.cpp msgid "Title" -msgstr "" +msgstr "標題" #: modules/visual_script/visual_script_nodes.cpp #, fuzzy @@ -17995,7 +17971,7 @@ msgstr "操作" #: modules/visual_script/visual_script_nodes.cpp msgid "Deconstruct %s" -msgstr "" +msgstr "解構 %s" #: modules/visual_script/visual_script_property_selector.cpp msgid "Search VisualScript" @@ -18021,7 +17997,7 @@ msgstr "物理影格 %" #: modules/visual_script/visual_script_yield_nodes.cpp msgid "%s sec(s)" -msgstr "" +msgstr "%s 秒" #: modules/visual_script/visual_script_yield_nodes.cpp scene/main/timer.cpp #, fuzzy @@ -18050,7 +18026,7 @@ msgstr "優先模式" #: modules/webrtc/webrtc_data_channel.h msgid "WebRTC" -msgstr "" +msgstr "WebRTC" #: modules/webrtc/webrtc_data_channel.h #, fuzzy @@ -18059,11 +18035,11 @@ msgstr "畫布多邊形索引緩衝區大小(KB)" #: modules/websocket/websocket_client.cpp msgid "Verify SSL" -msgstr "" +msgstr "驗證 SSL" #: modules/websocket/websocket_client.cpp msgid "Trusted SSL Certificate" -msgstr "" +msgstr "受信任的 SSL 憑證" #: modules/websocket/websocket_macros.h #, fuzzy @@ -18077,7 +18053,7 @@ msgstr "最大大小(KB)" #: modules/websocket/websocket_macros.h msgid "Max In Packets" -msgstr "" +msgstr "封包上限" #: modules/websocket/websocket_macros.h #, fuzzy @@ -18086,7 +18062,7 @@ msgstr "最大大小(KB)" #: modules/websocket/websocket_macros.h msgid "Max Out Packets" -msgstr "" +msgstr "輸出封包上限" #: modules/websocket/websocket_macros.h #, fuzzy @@ -18095,7 +18071,7 @@ msgstr "網路分析工具" #: modules/websocket/websocket_server.cpp msgid "Bind IP" -msgstr "" +msgstr "綁定 IP" #: modules/websocket/websocket_server.cpp #, fuzzy @@ -18104,7 +18080,7 @@ msgstr "實體按鍵" #: modules/websocket/websocket_server.cpp platform/javascript/export/export.cpp msgid "SSL Certificate" -msgstr "" +msgstr "SSL 憑證" #: modules/websocket/websocket_server.cpp #, fuzzy @@ -18130,11 +18106,11 @@ msgstr "可選特性" #: modules/webxr/webxr_interface.cpp msgid "Requested Reference Space Types" -msgstr "" +msgstr "被請求的參照空間類型" #: modules/webxr/webxr_interface.cpp msgid "Reference Space Type" -msgstr "" +msgstr "參照空間類型" #: modules/webxr/webxr_interface.cpp #, fuzzy @@ -18153,7 +18129,7 @@ msgstr "智慧型吸附" #: platform/android/export/export.cpp msgid "Android SDK Path" -msgstr "" +msgstr "Android SDK 路徑" #: platform/android/export/export.cpp #, fuzzy @@ -18162,31 +18138,31 @@ msgstr "除錯工具" #: platform/android/export/export.cpp msgid "Debug Keystore User" -msgstr "" +msgstr "偵錯金鑰儲存區使用者" #: platform/android/export/export.cpp msgid "Debug Keystore Pass" -msgstr "" +msgstr "金鑰儲存區偵錯密碼" #: platform/android/export/export.cpp msgid "Force System User" -msgstr "" +msgstr "強制系統使用者" #: platform/android/export/export.cpp msgid "Shutdown ADB On Exit" -msgstr "" +msgstr "退出時關閉 ADB" #: platform/android/export/export_plugin.cpp msgid "Launcher Icons" -msgstr "" +msgstr "啟動器圖示" #: platform/android/export/export_plugin.cpp msgid "Main 192 X 192" -msgstr "" +msgstr "主圖示 192 X 192" #: platform/android/export/export_plugin.cpp msgid "Adaptive Foreground 432 X 432" -msgstr "" +msgstr "自適應前景 432 X 432" #: platform/android/export/export_plugin.cpp msgid "Adaptive Background 432 X 432" @@ -18948,6 +18924,11 @@ msgstr "剪下節點" msgid "Custom BG Color" msgstr "剪下節點" +#: platform/iphone/export/export.cpp +#, fuzzy +msgid "Export Icons" +msgstr "展開全部" + #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp #, fuzzy @@ -19781,6 +19762,12 @@ msgid "Show Name On Square 310 X 310" msgstr "" #: platform/uwp/export/export.cpp +msgid "" +"Godot's Mono version does not support the UWP platform. Use the standard " +"build (no C# support) if you wish to target UWP." +msgstr "" + +#: platform/uwp/export/export.cpp msgid "Invalid package short name." msgstr "無效的套件段名稱。" @@ -23275,43 +23262,36 @@ msgid "Mix Mode" msgstr "Mix 節點" #: scene/animation/animation_blend_tree.cpp -#, fuzzy msgid "Fadein Time" -msgstr "淡入與淡出時間(秒):" +msgstr "淡入時間" #: scene/animation/animation_blend_tree.cpp -#, fuzzy msgid "Fadeout Time" -msgstr "淡入與淡出時間(秒):" +msgstr "淡出時間" #: scene/animation/animation_blend_tree.cpp -#, fuzzy msgid "Auto Restart" -msgstr "自動重新開始:" +msgstr "自動重新開始" #: scene/animation/animation_blend_tree.cpp -#, fuzzy msgid "Autorestart" -msgstr "自動重新開始:" +msgstr "自動重新開始" #: scene/animation/animation_blend_tree.cpp msgid "Delay" msgstr "" #: scene/animation/animation_blend_tree.cpp -#, fuzzy msgid "Random Delay" -msgstr "隨機傾斜:" +msgstr "隨機延遲" #: scene/animation/animation_blend_tree.cpp -#, fuzzy msgid "Add Amount" -msgstr "數量:" +msgstr "增加數量" #: scene/animation/animation_blend_tree.cpp -#, fuzzy msgid "Blend Amount" -msgstr "數量:" +msgstr "混合量" #: scene/animation/animation_blend_tree.cpp #, fuzzy @@ -23325,14 +23305,12 @@ msgstr "新增輸入埠口" #: scene/animation/animation_blend_tree.cpp #: scene/animation/animation_node_state_machine.cpp -#, fuzzy msgid "Xfade Time" -msgstr "淡入與淡出時間(秒):" +msgstr "Xfade 時間" #: scene/animation/animation_node_state_machine.cpp -#, fuzzy msgid "Switch Mode" -msgstr "仰角:" +msgstr "切換模式" #: scene/animation/animation_node_state_machine.cpp #, fuzzy @@ -23373,9 +23351,8 @@ msgid "Current Animation Position" msgstr "新增動畫頂點" #: scene/animation/animation_player.cpp -#, fuzzy msgid "Playback Options" -msgstr "類別選項:" +msgstr "播放選項" #: scene/animation/animation_player.cpp #, fuzzy @@ -23415,9 +23392,8 @@ msgid "The AnimationPlayer root node is not a valid node." msgstr "AnimationPlayer 的根節點並非有效節點。" #: scene/animation/animation_tree.cpp -#, fuzzy msgid "Tree Root" -msgstr "建立根節點:" +msgstr "樹根節點" #: scene/animation/animation_tree.cpp #, fuzzy @@ -23673,14 +23649,12 @@ msgid "Grow Direction" msgstr "方向" #: scene/gui/control.cpp scene/resources/navigation_mesh.cpp -#, fuzzy msgid "Min Size" -msgstr "輪廓尺寸:" +msgstr "最小尺寸" #: scene/gui/control.cpp -#, fuzzy msgid "Pivot Offset" -msgstr "網格偏移量:" +msgstr "樞紐偏移量" #: scene/gui/control.cpp #, fuzzy @@ -23740,7 +23714,7 @@ msgstr "" #: scene/gui/control.cpp msgid "Size Flags" -msgstr "大小 Flag:" +msgstr "大小 Flag" #: scene/gui/control.cpp #, fuzzy @@ -23788,14 +23762,12 @@ msgid "Right Disconnects" msgstr "斷開訊號連接" #: scene/gui/graph_edit.cpp -#, fuzzy msgid "Scroll Offset" -msgstr "網格偏移量:" +msgstr "捲軸偏移量" #: scene/gui/graph_edit.cpp -#, fuzzy msgid "Snap Distance" -msgstr "選擇距離:" +msgstr "吸附距離" #: scene/gui/graph_edit.cpp #, fuzzy @@ -23895,7 +23867,7 @@ msgstr "" #: scene/gui/item_list.cpp #, fuzzy msgid "Icon Scale" -msgstr "隨機縮放:" +msgstr "圖示比例" #: scene/gui/item_list.cpp #, fuzzy @@ -23908,9 +23880,8 @@ msgid "V Align" msgstr "指派" #: scene/gui/label.cpp scene/gui/rich_text_label.cpp -#, fuzzy msgid "Visible Characters" -msgstr "可使用的字元:" +msgstr "可見字符" #: scene/gui/label.cpp scene/gui/rich_text_label.cpp #, fuzzy @@ -23934,9 +23905,8 @@ msgid "Secret" msgstr "" #: scene/gui/line_edit.cpp -#, fuzzy msgid "Secret Character" -msgstr "可使用的字元:" +msgstr "秘密字元" #: scene/gui/line_edit.cpp msgid "Expand To Text Length" @@ -24000,18 +23970,16 @@ msgid "Blink" msgstr "" #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp -#, fuzzy msgid "Blink Speed" -msgstr "速度:" +msgstr "閃爍速度" #: scene/gui/link_button.cpp msgid "Underline" msgstr "" #: scene/gui/menu_button.cpp -#, fuzzy msgid "Switch On Hover" -msgstr "仰角:" +msgstr "懸停時切換" #: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp #, fuzzy @@ -24087,9 +24055,8 @@ msgid "Allow Search" msgstr "搜尋" #: scene/gui/progress_bar.cpp -#, fuzzy msgid "Percent" -msgstr "最近存取:" +msgstr "百分比" #: scene/gui/range.cpp msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0." @@ -24148,9 +24115,8 @@ msgid "Absolute Index" msgstr "自動縮排" #: scene/gui/rich_text_effect.cpp -#, fuzzy msgid "Elapsed Time" -msgstr "混合時間:" +msgstr "經過時間" #: scene/gui/rich_text_effect.cpp #, fuzzy @@ -24158,9 +24124,8 @@ msgid "Env" msgstr "結束" #: scene/gui/rich_text_effect.cpp -#, fuzzy msgid "Character" -msgstr "可使用的字元:" +msgstr "字元" #: scene/gui/rich_text_label.cpp msgid "BBCode" @@ -24171,9 +24136,8 @@ msgid "Meta Underlined" msgstr "" #: scene/gui/rich_text_label.cpp -#, fuzzy msgid "Tab Size" -msgstr "大小:" +msgstr "分頁大小" #: scene/gui/rich_text_label.cpp #, fuzzy @@ -24194,9 +24158,8 @@ msgid "Selection Enabled" msgstr "僅搜尋所選區域" #: scene/gui/rich_text_label.cpp scene/gui/text_edit.cpp -#, fuzzy msgid "Override Selected Font Color" -msgstr "設定所選之設定檔:" +msgstr "覆蓋所選字型顏色" #: scene/gui/rich_text_label.cpp #, fuzzy @@ -24224,9 +24187,8 @@ msgid "Follow Focus" msgstr "填充表面" #: scene/gui/scroll_container.cpp -#, fuzzy msgid "Horizontal Enabled" -msgstr "水平:" +msgstr "已啟用水平" #: scene/gui/scroll_container.cpp #, fuzzy @@ -24247,24 +24209,20 @@ msgid "Tick Count" msgstr "選擇顏色" #: scene/gui/slider.cpp -#, fuzzy msgid "Ticks On Borders" -msgstr "重新命名資料夾:" +msgstr "邊框刻度" #: scene/gui/spin_box.cpp -#, fuzzy msgid "Prefix" -msgstr "前置:" +msgstr "前綴" #: scene/gui/spin_box.cpp -#, fuzzy msgid "Suffix" -msgstr "後置:" +msgstr "後綴" #: scene/gui/split_container.cpp -#, fuzzy msgid "Split Offset" -msgstr "網格偏移量:" +msgstr "拆分偏移" #: scene/gui/split_container.cpp scene/gui/tree.cpp #, fuzzy @@ -24281,9 +24239,8 @@ msgid "Tab Align" msgstr "" #: scene/gui/tab_container.cpp scene/gui/tabs.cpp -#, fuzzy msgid "Current Tab" -msgstr "目前:" +msgstr "當前分頁" #: scene/gui/tab_container.cpp #, fuzzy @@ -24327,7 +24284,7 @@ msgstr "跳過中斷點" #: scene/gui/text_edit.cpp #, fuzzy msgid "Fold Gutter" -msgstr "資料夾:" +msgstr "摺疊格線" #: scene/gui/text_edit.cpp #, fuzzy @@ -24345,19 +24302,16 @@ msgid "Wrap Enabled" msgstr "啟用" #: scene/gui/text_edit.cpp -#, fuzzy msgid "Scroll Vertical" -msgstr "垂直:" +msgstr "垂直滾動" #: scene/gui/text_edit.cpp -#, fuzzy msgid "Scroll Horizontal" -msgstr "水平:" +msgstr "水平滾動" #: scene/gui/text_edit.cpp -#, fuzzy msgid "Draw" -msgstr "繪製呼叫:" +msgstr "繪製" #: scene/gui/text_edit.cpp #, fuzzy @@ -24415,9 +24369,8 @@ msgid "Progress Offset" msgstr "" #: scene/gui/texture_progress.cpp -#, fuzzy msgid "Fill Mode" -msgstr "播放模式:" +msgstr "填充模式" #: scene/gui/texture_progress.cpp scene/resources/material.cpp msgid "Tint" @@ -24485,9 +24438,8 @@ msgid "Hide Folding" msgstr "已停用的按鈕" #: scene/gui/tree.cpp -#, fuzzy msgid "Hide Root" -msgstr "建立根節點:" +msgstr "隱藏根節點" #: scene/gui/tree.cpp msgid "Drop Mode Flags" @@ -24585,19 +24537,16 @@ msgid "Filename" msgstr "重新命名" #: scene/main/node.cpp -#, fuzzy msgid "Owner" -msgstr "為下列之擁有者:" +msgstr "擁有者" #: scene/main/node.cpp scene/main/scene_tree.cpp -#, fuzzy msgid "Multiplayer" -msgstr "設定多個:" +msgstr "多人" #: scene/main/node.cpp -#, fuzzy msgid "Custom Multiplayer" -msgstr "設定多個:" +msgstr "自定義多人" #: scene/main/node.cpp #, fuzzy @@ -24635,7 +24584,7 @@ msgstr "" #: scene/main/scene_tree.cpp #, fuzzy msgid "Multiplayer Poll" -msgstr "設定多個:" +msgstr "多人投票調查" #: scene/main/scene_tree.cpp scene/resources/mesh_library.cpp #: scene/resources/shape_2d.cpp @@ -24676,7 +24625,7 @@ msgstr "反射" #: scene/main/scene_tree.cpp #, fuzzy msgid "Atlas Size" -msgstr "輪廓尺寸:" +msgstr "地圖集大小" #: scene/main/scene_tree.cpp msgid "Atlas Subdiv" @@ -24732,9 +24681,8 @@ msgstr "" "建議使用腳本的處理迴圈(Process Loop)而非這類計時器。" #: scene/main/timer.cpp -#, fuzzy msgid "Autostart" -msgstr "自動重新開始:" +msgstr "自動開始" #: scene/main/viewport.cpp #, fuzzy @@ -24816,9 +24764,8 @@ msgid "Debug Draw" msgstr "偵錯" #: scene/main/viewport.cpp -#, fuzzy msgid "Render Target" -msgstr "算繪引擎:" +msgstr "算繪目標" #: scene/main/viewport.cpp msgid "V Flip" @@ -24951,7 +24898,7 @@ msgstr "" #: scene/resources/concave_polygon_shape_2d.cpp #, fuzzy msgid "Segments" -msgstr "主場景引數:" +msgstr "分段" #: scene/resources/curve.cpp #, fuzzy @@ -24992,9 +24939,8 @@ msgid "Font Color Disabled" msgstr "剪裁已禁用" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "H Separation" -msgstr "分隔:" +msgstr "水平分離" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25062,9 +25008,8 @@ msgid "On Disabled" msgstr "已停用的項目" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Off" -msgstr "偏移:" +msgstr "關閉" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25082,14 +25027,12 @@ msgid "Font Outline Modulate" msgstr "強制使用白色調變" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Shadow Offset X" -msgstr "網格 X 偏移:" +msgstr "陰影 X 偏移" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Shadow Offset Y" -msgstr "網格 Y 偏移:" +msgstr "陰影 Y 偏移" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25147,14 +25090,12 @@ msgid "Space" msgstr "主場景" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Folded" -msgstr "資料夾:" +msgstr "已折叠" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Fold" -msgstr "資料夾:" +msgstr "折疊" #: scene/resources/default_theme/default_theme.cpp msgid "Font Color Readonly" @@ -25273,14 +25214,12 @@ msgid "Close Highlight" msgstr "向性光照" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Close H Offset" -msgstr "網格偏移量:" +msgstr "關閉水平偏移" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Close V Offset" -msgstr "網格偏移量:" +msgstr "關閉垂直偏移" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25321,9 +25260,8 @@ msgid "Font Color Separator" msgstr "分隔線字體顏色" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "V Separation" -msgstr "分隔:" +msgstr "垂直分隔" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25366,19 +25304,16 @@ msgid "Resizer Color" msgstr "顏色" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Title Offset" -msgstr "網格偏移量:" +msgstr "標題偏移量" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Close Offset" -msgstr "網格偏移量:" +msgstr "關閉偏移" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Port Offset" -msgstr "網格偏移量:" +msgstr "連接埠偏移量" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25489,9 +25424,8 @@ msgid "Draw Guides" msgstr "顯示參考線" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Scroll Border" -msgstr "垂直:" +msgstr "捲軸邊框" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25504,9 +25438,8 @@ msgid "Icon Margin" msgstr "設定外邊距" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Line Separation" -msgstr "分隔:" +msgstr "行分隔" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25566,9 +25499,8 @@ msgid "Large" msgstr "目標" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Folder" -msgstr "資料夾:" +msgstr "資料夾" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25668,14 +25600,12 @@ msgid "Mono Font" msgstr "主場景" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Table H Separation" -msgstr "分隔:" +msgstr "表格水平分隔" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Table V Separation" -msgstr "分隔:" +msgstr "表格垂直分隔" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25769,9 +25699,8 @@ msgid "Font Path" msgstr "聚焦路徑" #: scene/resources/dynamic_font.cpp -#, fuzzy msgid "Outline Size" -msgstr "輪廓尺寸:" +msgstr "輪廓尺寸" #: scene/resources/dynamic_font.cpp #, fuzzy @@ -25784,14 +25713,12 @@ msgid "Use Mipmaps" msgstr "訊號" #: scene/resources/dynamic_font.cpp -#, fuzzy msgid "Extra Spacing" -msgstr "更多選項:" +msgstr "額外間距" #: scene/resources/dynamic_font.cpp -#, fuzzy msgid "Char" -msgstr "可使用的字元:" +msgstr "字元" #: scene/resources/dynamic_font.cpp #, fuzzy @@ -25817,9 +25744,8 @@ msgid "Sky Orientation" msgstr "線上說明文件" #: scene/resources/environment.cpp -#, fuzzy msgid "Sky Rotation" -msgstr "旋轉步長:" +msgstr "天空旋轉" #: scene/resources/environment.cpp msgid "Sky Rotation Degrees" @@ -25848,14 +25774,12 @@ msgid "Fog" msgstr "" #: scene/resources/environment.cpp -#, fuzzy msgid "Sun Color" -msgstr "儲存檔案:" +msgstr "太陽顏色" #: scene/resources/environment.cpp -#, fuzzy msgid "Sun Amount" -msgstr "數量:" +msgstr "太陽亮度" #: scene/resources/environment.cpp #, fuzzy @@ -25944,14 +25868,12 @@ msgid "Max Steps" msgstr "步長" #: scene/resources/environment.cpp -#, fuzzy msgid "Fade In" -msgstr "淡入(秒):" +msgstr "淡入" #: scene/resources/environment.cpp -#, fuzzy msgid "Fade Out" -msgstr "淡出(秒):" +msgstr "淡出" #: scene/resources/environment.cpp #, fuzzy @@ -25967,9 +25889,8 @@ msgid "SSAO" msgstr "" #: scene/resources/environment.cpp -#, fuzzy msgid "Radius 2" -msgstr "半徑:" +msgstr "半徑2" #: scene/resources/environment.cpp msgid "Intensity 2" @@ -25998,9 +25919,8 @@ msgid "DOF Far Blur" msgstr "" #: scene/resources/environment.cpp scene/resources/material.cpp -#, fuzzy msgid "Distance" -msgstr "選擇距離:" +msgstr "距離" #: scene/resources/environment.cpp msgid "Transition" @@ -26082,9 +26002,8 @@ msgid "Brightness" msgstr "燈光" #: scene/resources/environment.cpp -#, fuzzy msgid "Saturation" -msgstr "分隔:" +msgstr "飽和度" #: scene/resources/environment.cpp msgid "Color Correction" @@ -26093,7 +26012,7 @@ msgstr "顏色校正" #: scene/resources/font.cpp #, fuzzy msgid "Ascent" -msgstr "最近存取:" +msgstr "上升" #: scene/resources/font.cpp #, fuzzy @@ -26106,9 +26025,8 @@ msgid "Raw Data" msgstr "深度" #: scene/resources/gradient.cpp -#, fuzzy msgid "Offsets" -msgstr "偏移:" +msgstr "偏移" #: scene/resources/height_map_shape.cpp msgid "Map Width" @@ -26191,9 +26109,8 @@ msgid "Is sRGB" msgstr "" #: scene/resources/material.cpp servers/visual_server.cpp -#, fuzzy msgid "Parameters" -msgstr "已更改參數:" +msgstr "參數" #: scene/resources/material.cpp #, fuzzy @@ -26235,9 +26152,8 @@ msgid "Grow" msgstr "" #: scene/resources/material.cpp -#, fuzzy msgid "Grow Amount" -msgstr "數量:" +msgstr "生成量" #: scene/resources/material.cpp msgid "Use Alpha Scissor" @@ -26342,9 +26258,8 @@ msgid "Transmission" msgstr "轉場" #: scene/resources/material.cpp -#, fuzzy msgid "Refraction" -msgstr "分隔:" +msgstr "折射" #: scene/resources/material.cpp msgid "Detail" @@ -26429,7 +26344,7 @@ msgstr "" #: scene/resources/navigation_mesh.cpp msgid "Sampling" -msgstr "縮放:" +msgstr "取樣" #: scene/resources/navigation_mesh.cpp #, fuzzy @@ -26456,7 +26371,7 @@ msgstr "" #: scene/resources/navigation_mesh.cpp #, fuzzy msgid "Agents" -msgstr "主場景引數:" +msgstr "代理" #: scene/resources/navigation_mesh.cpp msgid "Max Climb" @@ -26495,9 +26410,8 @@ msgid "Details" msgstr "顯示預設" #: scene/resources/navigation_mesh.cpp -#, fuzzy msgid "Sample Distance" -msgstr "選擇距離:" +msgstr "採樣距離" #: scene/resources/navigation_mesh.cpp #, fuzzy @@ -26522,9 +26436,8 @@ msgid "Baking AABB" msgstr "正在產生 AABB" #: scene/resources/navigation_mesh.cpp -#, fuzzy msgid "Baking AABB Offset" -msgstr "偏移:" +msgstr "烘焙 AABB 偏移" #: scene/resources/occluder_shape.cpp msgid "Spheres" @@ -26567,9 +26480,8 @@ msgid "Color Modifier" msgstr "放慢自由視圖速度" #: scene/resources/particles_material.cpp -#, fuzzy msgid "Point Texture" -msgstr "發射點:" +msgstr "點紋理貼圖" #: scene/resources/particles_material.cpp msgid "Normal Texture" @@ -26585,9 +26497,8 @@ msgid "Point Count" msgstr "新增輸入埠口" #: scene/resources/particles_material.cpp -#, fuzzy msgid "Scale Random" -msgstr "縮放比例:" +msgstr "縮放隨機" #: scene/resources/particles_material.cpp #, fuzzy @@ -26603,9 +26514,8 @@ msgid "Absorbent" msgstr "" #: scene/resources/plane_shape.cpp -#, fuzzy msgid "Plane" -msgstr "平面:" +msgstr "平面" #: scene/resources/primitive_meshes.cpp #, fuzzy @@ -26629,9 +26539,8 @@ msgid "Subdivide Depth" msgstr "" #: scene/resources/primitive_meshes.cpp -#, fuzzy msgid "Top Radius" -msgstr "半徑:" +msgstr "頂部半徑" #: scene/resources/primitive_meshes.cpp #, fuzzy @@ -26680,9 +26589,8 @@ msgid "Bone" msgstr "骨骼" #: scene/resources/sky.cpp -#, fuzzy msgid "Radiance Size" -msgstr "輪廓尺寸:" +msgstr "光澤大小" #: scene/resources/sky.cpp msgid "Panorama" @@ -26694,9 +26602,8 @@ msgid "Top Color" msgstr "下一個地板" #: scene/resources/sky.cpp -#, fuzzy msgid "Horizon Color" -msgstr "儲存檔案:" +msgstr "地平線顏色" #: scene/resources/sky.cpp #, fuzzy @@ -26805,9 +26712,8 @@ msgid "Lossy Storage Quality" msgstr "截取" #: scene/resources/texture.cpp -#, fuzzy msgid "From" -msgstr "播放模式:" +msgstr "來自" #: scene/resources/texture.cpp #, fuzzy @@ -26973,9 +26879,8 @@ msgid "Default Cell Height" msgstr "測試" #: scene/resources/world.cpp scene/resources/world_2d.cpp -#, fuzzy msgid "Default Edge Connection Margin" -msgstr "編輯連接內容:" +msgstr "預設邊緣連接邊距" #: scene/resources/world_2d.cpp msgid "Canvas" @@ -27009,9 +26914,8 @@ msgid "Audio Stream" msgstr "單選項" #: servers/audio/audio_stream.cpp -#, fuzzy msgid "Random Pitch" -msgstr "隨機傾斜:" +msgstr "隨機音高" #: servers/audio/effects/audio_effect_capture.cpp #: servers/audio/effects/audio_effect_spectrum_analyzer.cpp @@ -27061,9 +26965,8 @@ msgstr "" #: servers/audio/effects/audio_effect_chorus.cpp #: servers/audio/effects/audio_effect_delay.cpp #: servers/audio/effects/audio_effect_panner.cpp -#, fuzzy msgid "Pan" -msgstr "平面:" +msgstr "平移" #: servers/audio/effects/audio_effect_compressor.cpp #: servers/audio/effects/audio_effect_filter.cpp @@ -27159,9 +27062,8 @@ msgstr "" #: servers/audio/effects/audio_effect_pitch_shift.cpp #: servers/audio/effects/audio_effect_spectrum_analyzer.cpp -#, fuzzy msgid "FFT Size" -msgstr "大小:" +msgstr "FFT 大小" #: servers/audio/effects/audio_effect_reverb.cpp msgid "Predelay" @@ -27452,7 +27354,6 @@ msgid "Filter Mode" msgstr "篩選節點" #: servers/visual_server.cpp -#, fuzzy msgid "Texture Array Reflections" msgstr "紋理貼圖陣列反射" @@ -27511,22 +27412,18 @@ msgid "Use Nearest Mipmap Filter" msgstr "" #: servers/visual_server.cpp -#, fuzzy msgid "Skinning" msgstr "外觀變更" #: servers/visual_server.cpp -#, fuzzy msgid "Software Skinning Fallback" msgstr "軟體外觀變更後備" #: servers/visual_server.cpp -#, fuzzy msgid "Force Software Skinning" msgstr "強制軟體外觀變更" #: servers/visual_server.cpp -#, fuzzy msgid "Use Software Skinning" msgstr "使用軟體外觀變更" @@ -27587,7 +27484,6 @@ msgid "Scissor Area Threshold" msgstr "" #: servers/visual_server.cpp -#, fuzzy msgid "Max Join Items" msgstr "最大加入項目數" |